diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index dd84ea78..9b77ea71 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,10 +1,9 @@ --- name: Bug report about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - +title: "" +labels: "" +assignees: "" --- **Describe the bug** @@ -12,6 +11,7 @@ A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: + 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' @@ -24,15 +24,17 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] + +- OS: [e.g. iOS] +- Browser [e.g. chrome, safari] +- Version [e.g. 22] **Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] + +- Device: [e.g. iPhone6] +- OS: [e.g. iOS8.1] +- Browser [e.g. stock browser, safari] +- Version [e.g. 22] **Additional context** Add any other context about the problem here. diff --git a/.github/labeler.yml b/.github/labeler.yml index a4b60a8f..266e9e49 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,11 +1,11 @@ feature: - - head-branch: ['^feature/', '^feat/', '^enhancement/'] + - head-branch: ["^feature/", "^feat/", "^enhancement/"] bug: - - head-branch: ['^bug/', '^fix/', '^hotfix/'] + - head-branch: ["^bug/", "^fix/", "^hotfix/"] chore: - - head-branch: ['^chore/', '^task/'] + - head-branch: ["^chore/", "^task/"] documentation: - - head-branch: ['^doc/', '^docs/'] + - head-branch: ["^doc/", "^docs/"] dependencies: - changed-files: - - any-glob-to-any-file: ['package.json', 'package-lock.json', 'bun.lockb'] + - any-glob-to-any-file: ["package.json", "package-lock.json", "bun.lockb"] diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c7187db0..28b070ab 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -2,11 +2,11 @@ name: "CodeQL Advanced Security Analysis" on: push: - branches: [ "main", "dev" ] + branches: ["main", "dev"] pull_request: - branches: [ "main", "dev" ] + branches: ["main", "dev"] schedule: - - cron: '0 2 * * *' + - cron: "0 2 * * *" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -29,37 +29,37 @@ jobs: contents: read steps: - - name: Checkout repository - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Setup pnpm - uses: pnpm/action-setup@v3 - with: - version: 9 - - - name: Setup Node - uses: actions/setup-node@v6 - with: - node-version: '20' - cache: 'pnpm' - - - name: Install dependencies - run: pnpm install - - - name: Initialize CodeQL - uses: github/codeql-action/init@v4 - with: - languages: javascript-typescript - build-mode: none - # Standard robust query suites catch XSS, SQLi, Logic flaws, etc. - queries: security-extended,security-and-quality - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4 - with: - category: "/language:javascript-typescript" + - name: Checkout repository + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Setup pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 + + - name: Setup Node + uses: actions/setup-node@v6 + with: + node-version: "20" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install + + - name: Initialize CodeQL + uses: github/codeql-action/init@v4 + with: + languages: javascript-typescript + build-mode: none + # Standard robust query suites catch XSS, SQLi, Logic flaws, etc. + queries: security-extended,security-and-quality + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v4 + with: + category: "/language:javascript-typescript" dependency-review: name: Dependency Security Review @@ -72,15 +72,15 @@ jobs: pull-requests: write steps: - - name: Checkout repository - uses: actions/checkout@v6 + - name: Checkout repository + uses: actions/checkout@v6 - - name: Dependency Review - uses: actions/dependency-review-action@v4 - with: - fail-on-severity: high - comment-summary-in-pr: always - vulnerability-check: true + - name: Dependency Review + uses: actions/dependency-review-action@v4 + with: + fail-on-severity: high + comment-summary-in-pr: always + vulnerability-check: true security-summary: name: Security Analysis Summary @@ -89,9 +89,9 @@ jobs: if: always() steps: - - name: Generate Summary - run: | - echo "# Security Analysis Complete 🛡️" >> $GITHUB_STEP_SUMMARY - echo "The advanced CodeQL analysis and Dependency Review have finished." >> $GITHUB_STEP_SUMMARY - echo "All findings have been uploaded directly to the GitHub Security tab." >> $GITHUB_STEP_SUMMARY - echo "View detailed results at: https://github.com/${{ github.repository }}/security/code-scanning" >> $GITHUB_STEP_SUMMARY + - name: Generate Summary + run: | + echo "# Security Analysis Complete 🛡️" >> $GITHUB_STEP_SUMMARY + echo "The advanced CodeQL analysis and Dependency Review have finished." >> $GITHUB_STEP_SUMMARY + echo "All findings have been uploaded directly to the GitHub Security tab." >> $GITHUB_STEP_SUMMARY + echo "View detailed results at: https://github.com/${{ github.repository }}/security/code-scanning" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/deploy-hacklytics.yml b/.github/workflows/deploy-hacklytics.yml new file mode 100644 index 00000000..ae343f47 --- /dev/null +++ b/.github/workflows/deploy-hacklytics.yml @@ -0,0 +1,42 @@ +name: Deploy Hacklytics to Firebase Hosting + +on: + push: + branches: + - main + pull_request: + +permissions: + contents: read + pull-requests: write + checks: write + +jobs: + build_and_deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + + - uses: pnpm/action-setup@v5 + + - uses: actions/setup-node@v6 + with: + node-version: "22.23.1" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install + + - name: Build Hacklytics 2027 + run: pnpm turbo run build --filter=hacklytics2027 + + - name: Deploy to Firebase Hosting + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: ${{ secrets.GITHUB_TOKEN }} + firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_DSGT_WEBSITE }} + projectId: dsgt-website + channelId: ${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || 'live' }} + target: hacklytics + entryPoint: "." diff --git a/.github/workflows/dev-to-main-pr.yml b/.github/workflows/dev-to-main-pr.yml index 21e2fa9e..5e106f42 100644 --- a/.github/workflows/dev-to-main-pr.yml +++ b/.github/workflows/dev-to-main-pr.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v6 - + - name: Create or Update PR env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/feature-to-dev-pr.yml b/.github/workflows/feature-to-dev-pr.yml index 994eae63..8a61dfc4 100644 --- a/.github/workflows/feature-to-dev-pr.yml +++ b/.github/workflows/feature-to-dev-pr.yml @@ -5,7 +5,7 @@ on: branches-ignore: - main - dev - - 'dependabot/**' + - "dependabot/**" jobs: create-pull-request: @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v6 - + - name: Create or Update PR env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml index eeb6ba96..f6ee62e0 100644 --- a/.github/workflows/firebase-hosting-merge.yml +++ b/.github/workflows/firebase-hosting-merge.yml @@ -16,14 +16,14 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: '22' - cache: 'pnpm' + node-version: "22.23.1" + cache: "pnpm" - name: Install dependencies run: pnpm install - - name: Build - run: pnpm turbo run build + - name: Build Hacklytics 2027 + run: pnpm turbo run build --filter=hacklytics2027 - uses: FirebaseExtended/action-hosting-deploy@v0 with: @@ -32,3 +32,4 @@ jobs: target: hacklytics channelId: live projectId: dsgt-website + entryPoint: "." diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml index 2cbf58a7..6b480808 100644 --- a/.github/workflows/firebase-hosting-pull-request.yml +++ b/.github/workflows/firebase-hosting-pull-request.yml @@ -18,14 +18,14 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: '22' - cache: 'pnpm' + node-version: "22.23.1" + cache: "pnpm" - name: Install dependencies run: pnpm install - - name: Build - run: pnpm turbo run build + - name: Build Hacklytics 2027 + run: pnpm turbo run build --filter=hacklytics2027 - uses: FirebaseExtended/action-hosting-deploy@v0 with: @@ -33,3 +33,5 @@ jobs: firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_DSGT_WEBSITE }} target: hacklytics projectId: dsgt-website + channelId: pr-${{ github.event.pull_request.number }} + entryPoint: "." diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml index 7006e427..dd2783f3 100644 --- a/.github/workflows/label.yml +++ b/.github/workflows/label.yml @@ -1,6 +1,6 @@ name: "Pull Request Labeler" on: -- pull_request_target + - pull_request_target jobs: triage: @@ -9,4 +9,4 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v6 + - uses: actions/labeler@v6 diff --git a/.github/workflows/pnpm-ci.yml b/.github/workflows/pnpm-ci.yml index d680ba74..968e475b 100644 --- a/.github/workflows/pnpm-ci.yml +++ b/.github/workflows/pnpm-ci.yml @@ -18,8 +18,8 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: '22' - cache: 'pnpm' + node-version: "22" + cache: "pnpm" - name: Install dependencies run: pnpm install diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 795786ed..0cdeaf62 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version: "20" - name: Setup pnpm uses: pnpm/action-setup@v3 diff --git a/.gitignore b/.gitignore index 41c4cbce..d5a94220 100644 --- a/.gitignore +++ b/.gitignore @@ -84,6 +84,10 @@ fix.js .claude/skills/react-doctor/SKILL.md .agents/skills/react-doctor/SKILL.md +# Graphify local-only files +graphify-out/cache/ +graphify-out/cost.json + # Git commit restriction # To restrict commits to 'aamoghS' only: # 1. Enable branch protection on 'main' branch in GitHub Settings diff --git a/.graphifyignore b/.graphifyignore new file mode 100644 index 00000000..ba90d7b7 --- /dev/null +++ b/.graphifyignore @@ -0,0 +1,48 @@ +# Ignore everything by default +* + +# Whitelist code files +!*.ts +!*.tsx +!*.js +!*.jsx +!*.json +!*.py +!*.go +!*.rs +!*.cs +!*.cpp +!*.c +!*.h +!*.java +!*.swift +!*.kt +!*.sh +!*.bash +!*.sql +!*.vue +!*.svelte + +# Recursive whitelist +!**/ +!**/*.ts +!**/*.tsx +!**/*.js +!**/*.jsx +!**/*.json +!**/*.py +!**/*.go +!**/*.rs +!**/*.cs +!**/*.cpp +!**/*.c +!**/*.h +!**/*.java +!**/*.swift +!**/*.kt +!**/*.sh +!**/*.bash +!**/*.sql +!**/*.vue +!**/*.svelte + diff --git a/.vscode/settings.json b/.vscode/settings.json index 36b3d97f..3e7fed1b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,7 @@ { - "accessibility.signals.terminalBell": { - "announcement": "off", - "sound": "off" - }, - "compile-hero.disable-compile-files-on-did-save-code": true -} \ No newline at end of file + "accessibility.signals.terminalBell": { + "announcement": "off", + "sound": "off" + }, + "compile-hero.disable-compile-files-on-did-save-code": true +} diff --git a/GCP_SETUP.md b/GCP_SETUP.md index 02873068..15260bd3 100644 --- a/GCP_SETUP.md +++ b/GCP_SETUP.md @@ -5,6 +5,7 @@ This guide explains how to set up your local environment to work with the GCP-ho ## 1. Prerequisites Install the following CLI tools: + - **Google Cloud CLI**: [Install gcloud](https://cloud.google.com/sdk/docs/install) - **Firebase CLI**: `npm install -g firebase-tools` @@ -22,6 +23,7 @@ firebase login ``` Set the default project: + ```bash gcloud config set project dsgt-website firebase use dsgt-website @@ -37,6 +39,7 @@ We manage secrets in **GCP Secret Manager**. To avoid manually copying them into ``` This will pull the following from GCP: + - `DATABASE_URL` - `AUTH_SECRET` - `STRIPE_SECRET_KEY` @@ -54,10 +57,13 @@ pnpm dev:full ## 5. Troubleshooting ### Permission Denied + If you get a permission error when running `sync-secrets.sh`, make it executable: + ```bash chmod +x scripts/sync-secrets.sh ``` ### Missing Secrets + Ensure your account has the `Secret Manager Secret Accessor` role in the GCP Console for the `dsgt-website` project. diff --git a/firebase.json b/firebase.json index 70a7dc59..dc0702dc 100644 --- a/firebase.json +++ b/firebase.json @@ -64,4 +64,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json new file mode 100644 index 00000000..a0a8db74 --- /dev/null +++ b/graphify-out/.graphify_labels.json @@ -0,0 +1,136 @@ +{ + "0": "Community 0", + "1": "Community 1", + "2": "Community 2", + "3": "Community 3", + "4": "Community 4", + "5": "Community 5", + "6": "Community 6", + "7": "Community 7", + "8": "Community 8", + "9": "Community 9", + "10": "Community 10", + "11": "Community 11", + "12": "Community 12", + "13": "Community 13", + "14": "Community 14", + "15": "Community 15", + "16": "Community 16", + "17": "Community 17", + "18": "Community 18", + "19": "Community 19", + "20": "Community 20", + "21": "Community 21", + "22": "Community 22", + "23": "Community 23", + "24": "Community 24", + "25": "Community 25", + "26": "Community 26", + "27": "Community 27", + "28": "Community 28", + "29": "Community 29", + "30": "Community 30", + "31": "Community 31", + "32": "Community 32", + "33": "Community 33", + "34": "Community 34", + "35": "Community 35", + "36": "Community 36", + "37": "Community 37", + "38": "Community 38", + "39": "Community 39", + "40": "Community 40", + "41": "Community 41", + "42": "Community 42", + "43": "Community 43", + "44": "Community 44", + "45": "Community 45", + "46": "Community 46", + "47": "Community 47", + "48": "Community 48", + "49": "Community 49", + "50": "Community 50", + "51": "Community 51", + "52": "Community 52", + "53": "Community 53", + "54": "Community 54", + "55": "Community 55", + "56": "Community 56", + "57": "Community 57", + "58": "Community 58", + "59": "Community 59", + "60": "Community 60", + "61": "Community 61", + "62": "Community 62", + "63": "Community 63", + "64": "Community 64", + "65": "Community 65", + "66": "Community 66", + "67": "Community 67", + "68": "Community 68", + "69": "Community 69", + "70": "Community 70", + "71": "Community 71", + "72": "Community 72", + "73": "Community 73", + "74": "Community 74", + "75": "Community 75", + "76": "Community 76", + "77": "Community 77", + "78": "Community 78", + "79": "Community 79", + "80": "Community 80", + "81": "Community 81", + "82": "Community 82", + "83": "Community 83", + "84": "Community 84", + "85": "Community 85", + "86": "Community 86", + "87": "Community 87", + "88": "Community 88", + "89": "Community 89", + "90": "Community 90", + "91": "Community 91", + "92": "Community 92", + "93": "Community 93", + "94": "Community 94", + "95": "Community 95", + "96": "Community 96", + "97": "Community 97", + "98": "Community 98", + "99": "Community 99", + "100": "Community 100", + "101": "Community 101", + "102": "Community 102", + "103": "Community 103", + "104": "Community 104", + "105": "Community 105", + "106": "Community 106", + "107": "Community 107", + "108": "Community 108", + "109": "Community 109", + "110": "Community 110", + "111": "Community 111", + "112": "Community 112", + "113": "Community 113", + "114": "Community 114", + "115": "Community 115", + "116": "Community 116", + "117": "Community 117", + "118": "Community 118", + "119": "Community 119", + "120": "Community 120", + "121": "Community 121", + "122": "Community 122", + "123": "Community 123", + "124": "Community 124", + "125": "Community 125", + "126": "Community 126", + "127": "Community 127", + "128": "Community 128", + "129": "Community 129", + "130": "Community 130", + "131": "Community 131", + "132": "Community 132", + "133": "Community 133" +} diff --git a/graphify-out/.graphify_root b/graphify-out/.graphify_root new file mode 100644 index 00000000..945c9b46 --- /dev/null +++ b/graphify-out/.graphify_root @@ -0,0 +1 @@ +. \ No newline at end of file diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md new file mode 100644 index 00000000..112720ba --- /dev/null +++ b/graphify-out/GRAPH_REPORT.md @@ -0,0 +1,476 @@ +# Graph Report - query (2026-06-13) + +## Corpus Check +- 270 files · ~3,724,867 words +- Verdict: corpus is large enough that graph structure adds value. + +## Summary +- 1510 nodes · 2016 edges · 134 communities (103 shown, 31 thin omitted) +- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS +- Token cost: 0 input · 0 output + +## Graph Freshness +- Built from commit: `1e412bdb` +- Run `git rev-parse HEAD` and compare to check if the graph is stale. +- Run `graphify update .` after code changes (no API cost). + +## Community Hubs (Navigation) +- [[_COMMUNITY_Community 0|Community 0]] +- [[_COMMUNITY_Community 1|Community 1]] +- [[_COMMUNITY_Community 2|Community 2]] +- [[_COMMUNITY_Community 3|Community 3]] +- [[_COMMUNITY_Community 4|Community 4]] +- [[_COMMUNITY_Community 5|Community 5]] +- [[_COMMUNITY_Community 6|Community 6]] +- [[_COMMUNITY_Community 7|Community 7]] +- [[_COMMUNITY_Community 8|Community 8]] +- [[_COMMUNITY_Community 9|Community 9]] +- [[_COMMUNITY_Community 10|Community 10]] +- [[_COMMUNITY_Community 11|Community 11]] +- [[_COMMUNITY_Community 12|Community 12]] +- [[_COMMUNITY_Community 13|Community 13]] +- [[_COMMUNITY_Community 14|Community 14]] +- [[_COMMUNITY_Community 15|Community 15]] +- [[_COMMUNITY_Community 16|Community 16]] +- [[_COMMUNITY_Community 17|Community 17]] +- [[_COMMUNITY_Community 18|Community 18]] +- [[_COMMUNITY_Community 19|Community 19]] +- [[_COMMUNITY_Community 20|Community 20]] +- [[_COMMUNITY_Community 21|Community 21]] +- [[_COMMUNITY_Community 22|Community 22]] +- [[_COMMUNITY_Community 23|Community 23]] +- [[_COMMUNITY_Community 24|Community 24]] +- [[_COMMUNITY_Community 25|Community 25]] +- [[_COMMUNITY_Community 26|Community 26]] +- [[_COMMUNITY_Community 27|Community 27]] +- [[_COMMUNITY_Community 28|Community 28]] +- [[_COMMUNITY_Community 29|Community 29]] +- [[_COMMUNITY_Community 30|Community 30]] +- [[_COMMUNITY_Community 31|Community 31]] +- [[_COMMUNITY_Community 32|Community 32]] +- [[_COMMUNITY_Community 33|Community 33]] +- [[_COMMUNITY_Community 34|Community 34]] +- [[_COMMUNITY_Community 35|Community 35]] +- [[_COMMUNITY_Community 36|Community 36]] +- [[_COMMUNITY_Community 37|Community 37]] +- [[_COMMUNITY_Community 38|Community 38]] +- [[_COMMUNITY_Community 39|Community 39]] +- [[_COMMUNITY_Community 40|Community 40]] +- [[_COMMUNITY_Community 41|Community 41]] +- [[_COMMUNITY_Community 42|Community 42]] +- [[_COMMUNITY_Community 43|Community 43]] +- [[_COMMUNITY_Community 44|Community 44]] +- [[_COMMUNITY_Community 45|Community 45]] +- [[_COMMUNITY_Community 46|Community 46]] +- [[_COMMUNITY_Community 47|Community 47]] +- [[_COMMUNITY_Community 48|Community 48]] +- [[_COMMUNITY_Community 49|Community 49]] +- [[_COMMUNITY_Community 50|Community 50]] +- [[_COMMUNITY_Community 51|Community 51]] +- [[_COMMUNITY_Community 52|Community 52]] +- [[_COMMUNITY_Community 53|Community 53]] +- [[_COMMUNITY_Community 54|Community 54]] +- [[_COMMUNITY_Community 55|Community 55]] +- [[_COMMUNITY_Community 56|Community 56]] +- [[_COMMUNITY_Community 57|Community 57]] +- [[_COMMUNITY_Community 58|Community 58]] +- [[_COMMUNITY_Community 59|Community 59]] +- [[_COMMUNITY_Community 60|Community 60]] +- [[_COMMUNITY_Community 61|Community 61]] +- [[_COMMUNITY_Community 62|Community 62]] +- [[_COMMUNITY_Community 63|Community 63]] +- [[_COMMUNITY_Community 64|Community 64]] +- [[_COMMUNITY_Community 65|Community 65]] +- [[_COMMUNITY_Community 66|Community 66]] +- [[_COMMUNITY_Community 67|Community 67]] +- [[_COMMUNITY_Community 68|Community 68]] +- [[_COMMUNITY_Community 69|Community 69]] +- [[_COMMUNITY_Community 70|Community 70]] +- [[_COMMUNITY_Community 71|Community 71]] +- [[_COMMUNITY_Community 72|Community 72]] +- [[_COMMUNITY_Community 73|Community 73]] +- [[_COMMUNITY_Community 74|Community 74]] +- [[_COMMUNITY_Community 75|Community 75]] +- [[_COMMUNITY_Community 77|Community 77]] +- [[_COMMUNITY_Community 78|Community 78]] +- [[_COMMUNITY_Community 79|Community 79]] +- [[_COMMUNITY_Community 80|Community 80]] +- [[_COMMUNITY_Community 81|Community 81]] +- [[_COMMUNITY_Community 82|Community 82]] +- [[_COMMUNITY_Community 83|Community 83]] +- [[_COMMUNITY_Community 84|Community 84]] +- [[_COMMUNITY_Community 85|Community 85]] +- [[_COMMUNITY_Community 86|Community 86]] +- [[_COMMUNITY_Community 87|Community 87]] +- [[_COMMUNITY_Community 88|Community 88]] +- [[_COMMUNITY_Community 89|Community 89]] +- [[_COMMUNITY_Community 91|Community 91]] +- [[_COMMUNITY_Community 92|Community 92]] +- [[_COMMUNITY_Community 93|Community 93]] +- [[_COMMUNITY_Community 94|Community 94]] +- [[_COMMUNITY_Community 95|Community 95]] +- [[_COMMUNITY_Community 96|Community 96]] +- [[_COMMUNITY_Community 97|Community 97]] +- [[_COMMUNITY_Community 98|Community 98]] +- [[_COMMUNITY_Community 100|Community 100]] +- [[_COMMUNITY_Community 101|Community 101]] +- [[_COMMUNITY_Community 102|Community 102]] +- [[_COMMUNITY_Community 103|Community 103]] +- [[_COMMUNITY_Community 105|Community 105]] +- [[_COMMUNITY_Community 106|Community 106]] +- [[_COMMUNITY_Community 108|Community 108]] +- [[_COMMUNITY_Community 114|Community 114]] +- [[_COMMUNITY_Community 115|Community 115]] +- [[_COMMUNITY_Community 126|Community 126]] + +## God Nodes (most connected - your core abstractions) +1. `LiquidGlass()` - 42 edges +2. `trpc` - 40 edges +3. `compilerOptions` - 19 edges +4. `MockInteraction` - 17 edges +5. `compilerOptions` - 16 edges +6. `compilerOptions` - 16 edges +7. `compilerOptions` - 16 edges +8. `LoadingScreen()` - 15 edges +9. `users` - 14 edges +10. `CacheService` - 13 edges + +## Surprising Connections (you probably didn't know these) +- `handler()` --calls--> `createContext()` [EXTRACTED] + sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts → packages/api/src/context.ts +- `POST()` --calls--> `rateLimit()` [EXTRACTED] + sites/mainweb/app/(portal)/api/auth/verify-email/route.ts → packages/api/src/middleware/security.ts +- `Guide` --references--> `GuideSections` [EXTRACTED] + sites/discordBot/src/commands/guide.ts → sites/discordBot/src/notion.ts + +## Import Cycles +- None detected. + +## Communities (134 total, 31 thin omitted) + +### Community 0 - "Community 0" +Cohesion: 0.06 +Nodes (17): Pie, PieTooltipItem, curriculum, Card(), CardProps, ClassData, MajorData, FooterProps (+9 more) + +### Community 1 - "Community 1" +Cohesion: 0.05 +Nodes (40): dependencies, chart.js, drizzle-orm, geist, lucide-react, @mawtech/glass-ui, minimatch, next (+32 more) + +### Community 2 - "Community 2" +Cohesion: 0.10 +Nodes (23): admins, adminsRelations, accounts, sessions, users, verificationTokens, eventCheckIns, eventCheckInsRelations (+15 more) + +### Community 3 - "Community 3" +Cohesion: 0.05 +Nodes (38): dependencies, drizzle-orm, image-size, minimatch, @query/auth, @query/db, sanitize-html, stripe (+30 more) + +### Community 4 - "Community 4" +Cohesion: 0.05 +Nodes (37): dependencies, @eslint/compat, eslint-config-prettier, @eslint/js, eslint-plugin-import, eslint-plugin-jsx-a11y, eslint-plugin-react, eslint-plugin-react-hooks (+29 more) + +### Community 5 - "Community 5" +Cohesion: 0.05 +Nodes (37): dependencies, babel-plugin-react-compiler, class-variance-authority, clsx, firebase, next, @radix-ui/react-slot, react (+29 more) + +### Community 6 - "Community 6" +Cohesion: 0.05 +Nodes (38): dependsOn, outputs, cache, cache, dependsOn, persistent, outputLogs, outputs (+30 more) + +### Community 7 - "Community 7" +Cohesion: 0.09 +Nodes (21): data, execute(), GuideSearchEngine, SearchableSection, searchEngine, SearchResult, SearchResultFormatter, SynonymExpander (+13 more) + +### Community 8 - "Community 8" +Cohesion: 0.06 +Nodes (36): default, dependencies, minimatch, react-dom, devDependencies, eslint, @next/eslint-plugin-next, @query/eslint-config (+28 more) + +### Community 9 - "Community 9" +Cohesion: 0.11 +Nodes (29): DIETARY_OPTIONS, GENDERS, LevelOfStudy, LEVELS_OF_STUDY, MAJORS, REGISTRATION_STEPS, SCHOOLS, SHIRT_SIZES (+21 more) + +### Community 10 - "Community 10" +Cohesion: 0.09 +Nodes (8): Background(), BackgroundProps, SidebarProps, LinkStripeAccountProps, LiquidGlass(), LiquidGlassProps, MemberData, MemberStatus + +### Community 11 - "Community 11" +Cohesion: 0.07 +Nodes (28): dependencies, @auth/drizzle-adapter, drizzle-orm, minimatch, next-auth, nodemailer, @query/db, devDependencies (+20 more) + +### Community 12 - "Community 12" +Cohesion: 0.09 +Nodes (19): Assertion, DDOS_CONFIG, ddosProtection(), flushLogs(), flushQueue, hasInjectionPattern(), IPRecord, ipTrackingStore (+11 more) + +### Community 13 - "Community 13" +Cohesion: 0.10 +Nodes (24): mockDelete, mockFindFirst, mockFindMany, mockInsert, mockUpdate, cache, RATE_LIMITS, Context (+16 more) + +### Community 14 - "Community 14" +Cohesion: 0.08 +Nodes (23): JudgeMatrixView(), JudgeMatrixViewProps, Project, Ranking, RankingsData, Vote, Hackathon, JudgingTools() (+15 more) + +### Community 15 - "Community 15" +Cohesion: 0.12 +Nodes (9): StatCardProps, HackathonStatus, STATUSES, toInputDate(), CreateHackathonForm(), EditHackathonForm(), HackathonCard(), trpc (+1 more) + +### Community 16 - "Community 16" +Cohesion: 0.07 +Nodes (27): dependencies, drizzle-orm, minimatch, next-auth, pg, postgres, @t3-oss/env-nextjs, zod (+19 more) + +### Community 17 - "Community 17" +Cohesion: 0.11 +Nodes (16): Event, Tab, ScannerTab(), EventFormData, EventFormModal(), EventFormModalProps, maxWidthClasses, ModalWrapper() (+8 more) + +### Community 18 - "Community 18" +Cohesion: 0.10 +Nodes (7): formatDate(), formatDateRange(), HackathonStatus, Tab, HackathonData, LoadingScreen(), LoadingScreenProps + +### Community 19 - "Community 19" +Cohesion: 0.10 +Nodes (10): AnalyticsTab(), AttendeesTab(), RegistrationStatus, emptyForm, EVENT_TYPES, EventFormData, EventsTab(), EventType (+2 more) + +### Community 20 - "Community 20" +Cohesion: 0.12 +Nodes (6): __dirname, edgeCases, __filename, MockInteraction, runSuite(), runTest() + +### Community 21 - "Community 21" +Cohesion: 0.09 +Nodes (21): author, dependencies, discord.js, dotenv, fuse.js, zod, description, devDependencies (+13 more) + +### Community 22 - "Community 22" +Cohesion: 0.09 +Nodes (22): devDependencies, autoprefixer, cross-env, eslint, @next/bundle-analyzer, @next/eslint-plugin-next, postcss, @query/eslint-config (+14 more) + +### Community 23 - "Community 23" +Cohesion: 0.09 +Nodes (21): compilerOptions, allowJs, checkJs, disableSourceOfProjectReferenceRedirect, esModuleInterop, incremental, isolatedModules, lib (+13 more) + +### Community 24 - "Community 24" +Cohesion: 0.10 +Nodes (20): compilerOptions, allowJs, esModuleInterop, forceConsistentCasingInFileNames, isolatedModules, jsx, lib, module (+12 more) + +### Community 25 - "Community 25" +Cohesion: 0.15 +Nodes (13): isAdmin, isSuperAdmin, auditRouter, eventRouter, helloRouter, greet, greetPublic, sayHello (+5 more) + +### Community 26 - "Community 26" +Cohesion: 0.15 +Nodes (16): adminRouter, hackathonRouter, teamRouter, hackathonEventAttendees, hackathonEventAttendeesRelations, hackathonEvents, hackathonEventsRelations, hackathonParticipants (+8 more) + +### Community 27 - "Community 27" +Cohesion: 0.10 +Nodes (19): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+11 more) + +### Community 28 - "Community 28" +Cohesion: 0.10 +Nodes (19): dependencies, @ianvs/prettier-plugin-sort-imports, minimatch, prettier, prettier-plugin-tailwindcss, devDependencies, @query/tsconfig, typescript (+11 more) + +### Community 29 - "Community 29" +Cohesion: 0.11 +Nodes (18): compilerOptions, allowSyntheticDefaultImports, declaration, esModuleInterop, forceConsistentCasingInFileNames, module, moduleResolution, noImplicitAny (+10 more) + +### Community 30 - "Community 30" +Cohesion: 0.16 +Nodes (14): buildCoverageQueues(), shuffleArray(), hackathonMaps, hackathonMapsRelations, judgeAssignments, judgeAssignmentsRelations, judgeQueue, judgeQueueRelations (+6 more) + +### Community 31 - "Community 31" +Cohesion: 0.17 +Nodes (6): ClearCommandExecutor, ClearCommandValidator, ClearResult, data, MessageCleaner, PermissionValidator + +### Community 32 - "Community 32" +Cohesion: 0.20 +Nodes (13): ProjectsTab(), ScheduleTab(), TeamsTab(), formatDate(), formatDateRange(), HackathonDetailPage(), statusConfig(), TabType (+5 more) + +### Community 33 - "Community 33" +Cohesion: 0.11 +Nodes (17): dependencies, minimatch, next, postcss, react, react-dom, tailwindcss, @tailwindcss/postcss (+9 more) + +### Community 34 - "Community 34" +Cohesion: 0.15 +Nodes (11): CreateHackathonStep(), CreateHackathonStepProps, Hackathon, ImportJudgesStep(), ImportProjectsStep(), ParsedJudge, ParsedProject, ParsedJudge (+3 more) + +### Community 35 - "Community 35" +Cohesion: 0.12 +Nodes (16): outputs, dependsOn, outputs, cache, persistent, cache, persistent, with (+8 more) + +### Community 36 - "Community 36" +Cohesion: 0.13 +Nodes (14): compilerOptions, esModuleInterop, forceConsistentCasingInFileNames, lib, module, moduleResolution, outDir, paths (+6 more) + +### Community 37 - "Community 37" +Cohesion: 0.16 +Nodes (7): COLORS, DRIFT_CLASSES, FlowerInstance, FlowerRenderer, FlowerVine(), generateFlowers(), seededRandom() + +### Community 38 - "Community 38" +Cohesion: 0.19 +Nodes (10): CacheEntry, CacheKeys, CacheStats, invalidateEvents(), invalidateHackathons(), invalidateUser(), isJudge, userRouter (+2 more) + +### Community 39 - "Community 39" +Cohesion: 0.27 +Nodes (3): config, restrictEnvAccess, config + +### Community 40 - "Community 40" +Cohesion: 0.29 +Nodes (7): adapter, { handlers, auth, signIn, signOut }, authConfig, sendAcceptanceEmail(), getCurrentUserId(), getSession(), requireAuth() + +### Community 41 - "Community 41" +Cohesion: 0.22 +Nodes (4): Bot, BotCommand, __dirname, __filename + +### Community 42 - "Community 42" +Cohesion: 0.15 +Nodes (12): compilerOptions, emitDeclarationOnly, jsx, lib, module, outDir, rootDir, skipLibCheck (+4 more) + +### Community 43 - "Community 43" +Cohesion: 0.20 +Nodes (6): robotoMono, spaceGrotesk, Footer(), navItems, ServiceWorkerRegistrar(), metadata + +### Community 44 - "Community 44" +Cohesion: 0.17 +Nodes (11): aliases, components, utils, rsc, $schema, style, tailwind, baseColor (+3 more) + +### Community 46 - "Community 46" +Cohesion: 0.18 +Nodes (10): cache, dependsOn, outputs, cache, persistent, extends, $schema, tasks (+2 more) + +### Community 47 - "Community 47" +Cohesion: 0.27 +Nodes (10): applySecurityHeaders(), CacheHeaders, getCacheHeaders(), getClientIp(), getRateLimitHeaders(), getRequestFingerprint(), getSecurityHeaders(), RateLimitHeaders (+2 more) + +### Community 48 - "Community 48" +Cohesion: 0.18 +Nodes (7): memberRouter, nameSchema, phoneSchema, urlSchema, membershipHistory, DrizzleDB, globalForDb + +### Community 51 - "Community 51" +Cohesion: 0.20 +Nodes (9): dependencies, next, typescript, engines, node, name, packageManager, private (+1 more) + +### Community 52 - "Community 52" +Cohesion: 0.20 +Nodes (9): compilerOptions, esModuleInterop, forceConsistentCasingInFileNames, moduleResolution, skipLibCheck, strict, exclude, extends (+1 more) + +### Community 54 - "Community 54" +Cohesion: 0.22 +Nodes (8): compilerOptions, lib, moduleResolution, paths, exclude, extends, include, @/* + +### Community 55 - "Community 55" +Cohesion: 0.22 +Nodes (8): 1. Prerequisites, 2. Authentication, 3. Syncing Secrets, 4. Running the App, 5. Troubleshooting, GCP Backend Setup Guide, Missing Secrets, Permission Denied + +### Community 56 - "Community 56" +Cohesion: 0.42 +Nodes (8): config, getCacheControl(), getETag(), getLastModified(), handleETag(), handleLastModified(), proxy(), securityHeaders + +### Community 57 - "Community 57" +Cohesion: 0.22 +Nodes (8): turbo, devDependencies, turbo, vitest, globalEnv, globalPassThroughEnv, $schema, ui + +### Community 58 - "Community 58" +Cohesion: 0.42 +Nodes (8): config, getCacheControl(), getETag(), getLastModified(), handleETag(), handleLastModified(), proxy(), securityHeaders + +### Community 59 - "Community 59" +Cohesion: 0.28 +Nodes (3): PortalSidebarProps, PortalWrapper(), Providers() + +### Community 60 - "Community 60" +Cohesion: 0.28 +Nodes (4): Member, ProfileFormProps, SkillsInterestsInput(), SkillsInterestsInputProps + +### Community 61 - "Community 61" +Cohesion: 0.22 +Nodes (8): compilerOptions, declaration, declarationMap, emitDeclarationOnly, noEmit, outDir, extends, $schema + +### Community 62 - "Community 62" +Cohesion: 0.25 +Nodes (7): background_color, display, icons, name, short_name, start_url, theme_color + +### Community 63 - "Community 63" +Cohesion: 0.25 +Nodes (7): dependencies, minimatch, exports, files, name, private, version + +### Community 64 - "Community 64" +Cohesion: 0.29 +Nodes (6): compilerOptions, outDir, rootDir, exclude, extends, include + +### Community 65 - "Community 65" +Cohesion: 0.43 +Nodes (3): data, EventScheduler, execute() + +### Community 66 - "Community 66" +Cohesion: 0.29 +Nodes (6): exports, main, name, private, types, version + +### Community 67 - "Community 67" +Cohesion: 0.29 +Nodes (7): scripts, build, dev, format, lint, test, typecheck + +### Community 69 - "Community 69" +Cohesion: 0.38 +Nodes (4): categories, DaySchedule, scheduleData, ScheduleEvent + +### Community 70 - "Community 70" +Cohesion: 0.33 +Nodes (3): BLOCKED_ROLES, data, roleEmojis + +### Community 72 - "Community 72" +Cohesion: 0.33 +Nodes (5): outputs, extends, $schema, tasks, build + +### Community 73 - "Community 73" +Cohesion: 0.40 +Nodes (4): cn(), Button, ButtonProps, buttonVariants + +### Community 74 - "Community 74" +Cohesion: 0.33 +Nodes (6): esbuild, @eslint/plugin-kit, postcss, ws, pnpm, overrides + +### Community 75 - "Community 75" +Cohesion: 0.33 +Nodes (4): actionVariantClasses, StatusScreenProps, StatusVariant, variantConfig + +### Community 77 - "Community 77" +Cohesion: 0.33 +Nodes (4): bronzeSponsors, goldSponsors, miniSponsors, silverSponsors + +### Community 80 - "Community 80" +Cohesion: 0.40 +Nodes (3): fs, packagesToRestore, path + +### Community 81 - "Community 81" +Cohesion: 0.40 +Nodes (4): compilerOptions, types, extends, $schema + +### Community 84 - "Community 84" +Cohesion: 0.50 +Nodes (3): Deploy on Vercel, Getting Started, Learn More + +### Community 86 - "Community 86" +Cohesion: 0.50 +Nodes (3): __dirname, __filename, nextConfig + +### Community 87 - "Community 87" +Cohesion: 0.50 +Nodes (3): Deploy on Vercel, Getting Started, Learn More + +## Knowledge Gaps +- **743 isolated node(s):** `name`, `private`, `version`, `packageManager`, `node` (+738 more) + These have ≤1 connection - possible missing edges or undocumented components. +- **31 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. + +## Suggested Questions +_Questions this graph is uniquely positioned to answer:_ + +- **Why does `AppRouter` connect `Community 13` to `Community 25`, `Community 15`?** + _High betweenness centrality (0.043) - this node is a cross-community bridge._ +- **Why does `CacheService` connect `Community 45` to `Community 38`?** + _High betweenness centrality (0.008) - this node is a cross-community bridge._ +- **What connects `name`, `private`, `version` to the rest of the system?** + _743 weakly-connected nodes found - possible documentation gaps or missing edges._ +- **Should `Community 0` be split into smaller, more focused modules?** + _Cohesion score 0.061979648473635525 - nodes in this community are weakly interconnected._ +- **Should `Community 1` be split into smaller, more focused modules?** + _Cohesion score 0.04878048780487805 - nodes in this community are weakly interconnected._ +- **Should `Community 2` be split into smaller, more focused modules?** + _Cohesion score 0.09871794871794871 - nodes in this community are weakly interconnected._ +- **Should `Community 3` be split into smaller, more focused modules?** + _Cohesion score 0.05128205128205128 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/graphify-out/graph.json b/graphify-out/graph.json new file mode 100644 index 00000000..d7cc90ec --- /dev/null +++ b/graphify-out/graph.json @@ -0,0 +1,36065 @@ +{ + "directed": false, + "multigraph": false, + "graph": {}, + "nodes": [ + { + "label": "package.json", + "file_type": "code", + "source_file": "package.json", + "source_location": "L1", + "_origin": "ast", + "id": "package", + "community": 51, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "package.json", + "source_location": "L2", + "_origin": "ast", + "id": "package_name", + "community": 51, + "norm_label": "name" + }, + { + "label": "private", + "file_type": "code", + "source_file": "package.json", + "source_location": "L3", + "_origin": "ast", + "id": "package_private", + "community": 51, + "norm_label": "private" + }, + { + "label": "version", + "file_type": "code", + "source_file": "package.json", + "source_location": "L4", + "_origin": "ast", + "id": "package_version", + "community": 51, + "norm_label": "version" + }, + { + "label": "packageManager", + "file_type": "code", + "source_file": "package.json", + "source_location": "L5", + "_origin": "ast", + "id": "package_packagemanager", + "community": 51, + "norm_label": "packagemanager" + }, + { + "label": "engines", + "file_type": "code", + "source_file": "package.json", + "source_location": "L6", + "_origin": "ast", + "id": "package_engines", + "community": 51, + "norm_label": "engines" + }, + { + "label": "node", + "file_type": "code", + "source_file": "package.json", + "source_location": "L7", + "_origin": "ast", + "id": "package_engines_node", + "community": 51, + "norm_label": "node" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "package.json", + "source_location": "L9", + "_origin": "ast", + "id": "package_scripts", + "community": 67, + "norm_label": "scripts" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "package.json", + "source_location": "L10", + "_origin": "ast", + "id": "package_scripts_dev", + "community": 67, + "norm_label": "dev" + }, + { + "label": "build", + "file_type": "code", + "source_file": "package.json", + "source_location": "L11", + "_origin": "ast", + "id": "package_scripts_build", + "community": 67, + "norm_label": "build" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "package.json", + "source_location": "L12", + "_origin": "ast", + "id": "package_scripts_lint", + "community": 67, + "norm_label": "lint" + }, + { + "label": "format", + "file_type": "code", + "source_file": "package.json", + "source_location": "L13", + "_origin": "ast", + "id": "package_scripts_format", + "community": 67, + "norm_label": "format" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "package.json", + "source_location": "L14", + "_origin": "ast", + "id": "package_scripts_typecheck", + "community": 67, + "norm_label": "typecheck" + }, + { + "label": "test", + "file_type": "code", + "source_file": "package.json", + "source_location": "L15", + "_origin": "ast", + "id": "package_scripts_test", + "community": 67, + "norm_label": "test" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "package.json", + "source_location": "L17", + "_origin": "ast", + "id": "package_dependencies", + "community": 51, + "norm_label": "dependencies" + }, + { + "label": "next", + "file_type": "code", + "source_file": "package.json", + "source_location": "L18", + "_origin": "ast", + "id": "package_dependencies_next", + "community": 51, + "norm_label": "next" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "package.json", + "source_location": "L19", + "_origin": "ast", + "id": "package_dependencies_typescript", + "community": 51, + "norm_label": "typescript" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "package.json", + "source_location": "L21", + "_origin": "ast", + "id": "package_devdependencies", + "community": 57, + "norm_label": "devdependencies" + }, + { + "label": "turbo", + "file_type": "code", + "source_file": "package.json", + "source_location": "L22", + "_origin": "ast", + "id": "package_devdependencies_turbo", + "community": 57, + "norm_label": "turbo" + }, + { + "label": "vitest", + "file_type": "code", + "source_file": "package.json", + "source_location": "L23", + "_origin": "ast", + "id": "package_devdependencies_vitest", + "community": 57, + "norm_label": "vitest" + }, + { + "label": "pnpm", + "file_type": "code", + "source_file": "package.json", + "source_location": "L25", + "_origin": "ast", + "id": "package_pnpm", + "community": 74, + "norm_label": "pnpm" + }, + { + "label": "overrides", + "file_type": "code", + "source_file": "package.json", + "source_location": "L26", + "_origin": "ast", + "id": "package_pnpm_overrides", + "community": 74, + "norm_label": "overrides" + }, + { + "label": "postcss", + "file_type": "code", + "source_file": "package.json", + "source_location": "L27", + "_origin": "ast", + "id": "package_overrides_postcss", + "community": 74, + "norm_label": "postcss" + }, + { + "label": "esbuild", + "file_type": "code", + "source_file": "package.json", + "source_location": "L28", + "_origin": "ast", + "id": "package_overrides_esbuild", + "community": 74, + "norm_label": "esbuild" + }, + { + "label": "ws", + "file_type": "code", + "source_file": "package.json", + "source_location": "L29", + "_origin": "ast", + "id": "package_overrides_ws", + "community": 74, + "norm_label": "ws" + }, + { + "label": "@eslint/plugin-kit", + "file_type": "code", + "source_file": "package.json", + "source_location": "L30", + "_origin": "ast", + "id": "package_overrides_eslint_plugin_kit", + "community": 74, + "norm_label": "@eslint/plugin-kit" + }, + { + "label": "eslint.config.js", + "file_type": "code", + "source_file": "packages/api/eslint.config.js", + "source_location": "L1", + "_origin": "ast", + "id": "packages_api_eslint_config_js_api_eslint_config", + "community": 39, + "norm_label": "eslint.config.js" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "packages/api/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "packages_api_eslint_config_mjs_api_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "api_package", + "community": 3, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "api_package_name", + "community": 3, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "api_package_version", + "community": 3, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "api_package_private", + "community": 3, + "norm_label": "private" + }, + { + "label": "type", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "api_package_type", + "community": 3, + "norm_label": "type" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "api_package_exports", + "community": 3, + "norm_label": "exports" + }, + { + "label": "./client", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "api_package_exports_client", + "community": 3, + "norm_label": "./client" + }, + { + "label": "./trpc-server", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "api_package_exports_trpc_server", + "community": 3, + "norm_label": "./trpc-server" + }, + { + "label": "./server", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "api_package_exports_server", + "community": 3, + "norm_label": "./server" + }, + { + "label": "./context", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "api_package_exports_context", + "community": 3, + "norm_label": "./context" + }, + { + "label": "./middleware", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "api_package_exports_middleware", + "community": 3, + "norm_label": "./middleware" + }, + { + "label": "./middleware/cache", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "api_package_exports_middleware_cache", + "community": 3, + "norm_label": "./middleware/cache" + }, + { + "label": "./middleware/http-security", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "api_package_exports_middleware_http_security", + "community": 3, + "norm_label": "./middleware/http-security" + }, + { + "label": "./middleware/security", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "api_package_exports_middleware_security", + "community": 3, + "norm_label": "./middleware/security" + }, + { + "label": "./trpc", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "api_package_exports_trpc", + "community": 3, + "norm_label": "./trpc" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "api_package_scripts", + "community": 3, + "norm_label": "scripts" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "api_package_scripts_lint", + "community": 3, + "norm_label": "lint" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "api_package_scripts_typecheck", + "community": 3, + "norm_label": "typecheck" + }, + { + "label": "test", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "api_package_scripts_test", + "community": 3, + "norm_label": "test" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "api_package_dependencies", + "community": 3, + "norm_label": "dependencies" + }, + { + "label": "@query/auth", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "api_package_dependencies_query_auth", + "community": 3, + "norm_label": "@query/auth" + }, + { + "label": "@query/db", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "api_package_dependencies_query_db", + "community": 3, + "norm_label": "@query/db" + }, + { + "label": "@tanstack/react-query", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "api_package_dependencies_tanstack_react_query", + "community": 3, + "norm_label": "@tanstack/react-query" + }, + { + "label": "@trpc/client", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "api_package_dependencies_trpc_client", + "community": 3, + "norm_label": "@trpc/client" + }, + { + "label": "@trpc/next", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "api_package_dependencies_trpc_next", + "community": 3, + "norm_label": "@trpc/next" + }, + { + "label": "@trpc/react-query", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "api_package_dependencies_trpc_react_query", + "community": 3, + "norm_label": "@trpc/react-query" + }, + { + "label": "@trpc/server", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "api_package_dependencies_trpc_server", + "community": 3, + "norm_label": "@trpc/server" + }, + { + "label": "drizzle-orm", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "api_package_dependencies_drizzle_orm", + "community": 3, + "norm_label": "drizzle-orm" + }, + { + "label": "image-size", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "api_package_dependencies_image_size", + "community": 3, + "norm_label": "image-size" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "api_package_dependencies_minimatch", + "community": 3, + "norm_label": "minimatch" + }, + { + "label": "sanitize-html", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "api_package_dependencies_sanitize_html", + "community": 3, + "norm_label": "sanitize-html" + }, + { + "label": "stripe", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "api_package_dependencies_stripe", + "community": 3, + "norm_label": "stripe" + }, + { + "label": "superjson", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "api_package_dependencies_superjson", + "community": 3, + "norm_label": "superjson" + }, + { + "label": "zod", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "api_package_dependencies_zod", + "community": 3, + "norm_label": "zod" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "api_package_devdependencies", + "community": 3, + "norm_label": "devdependencies" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "api_package_devdependencies_query_tsconfig", + "community": 3, + "norm_label": "@query/tsconfig" + }, + { + "label": "@types/sanitize-html", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "api_package_devdependencies_types_sanitize_html", + "community": 3, + "norm_label": "@types/sanitize-html" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "api_package_devdependencies_typescript", + "community": 3, + "norm_label": "typescript" + }, + { + "label": "vitest", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L43", + "_origin": "ast", + "id": "api_package_devdependencies_vitest", + "community": 3, + "norm_label": "vitest" + }, + { + "label": "resilience.test.ts", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L1", + "_origin": "ast", + "id": "internal_tests_resilience_test", + "community": 12, + "norm_label": "resilience.test.ts" + }, + { + "label": "Assertion", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L215", + "_origin": "ast", + "id": "internal_tests_resilience_test_assertion", + "community": 12, + "norm_label": "assertion" + }, + { + "label": "toBeBetween()", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L221", + "_origin": "ast", + "id": "internal_tests_resilience_test_tobebetween", + "community": 12, + "norm_label": "tobebetween()" + }, + { + "label": "routers.test.ts", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L1", + "_origin": "ast", + "id": "internal_tests_routers_test", + "community": 13, + "norm_label": "routers.test.ts" + }, + { + "label": "mockFindFirst", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L10", + "_origin": "ast", + "id": "internal_tests_routers_test_mockfindfirst", + "community": 13, + "norm_label": "mockfindfirst" + }, + { + "label": "mockFindMany", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L11", + "_origin": "ast", + "id": "internal_tests_routers_test_mockfindmany", + "community": 13, + "norm_label": "mockfindmany" + }, + { + "label": "mockInsert", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L12", + "_origin": "ast", + "id": "internal_tests_routers_test_mockinsert", + "community": 13, + "norm_label": "mockinsert" + }, + { + "label": "mockUpdate", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L13", + "_origin": "ast", + "id": "internal_tests_routers_test_mockupdate", + "community": 13, + "norm_label": "mockupdate" + }, + { + "label": "mockDelete", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L14", + "_origin": "ast", + "id": "internal_tests_routers_test_mockdelete", + "community": 13, + "norm_label": "mockdelete" + }, + { + "label": "security.test.ts", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L1", + "_origin": "ast", + "id": "internal_tests_security_test", + "community": 12, + "norm_label": "security.test.ts" + }, + { + "label": "context.ts", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_context", + "community": 13, + "norm_label": "context.ts" + }, + { + "label": "Session", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L5", + "_origin": "ast", + "id": "src_context_session", + "community": 13, + "norm_label": "session" + }, + { + "label": "getAuth()", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L17", + "_origin": "ast", + "id": "src_context_getauth", + "community": 13, + "norm_label": "getauth()" + }, + { + "label": "createContext()", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L29", + "_origin": "ast", + "id": "src_context_createcontext", + "community": 13, + "norm_label": "createcontext()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L63", + "_origin": "ast", + "id": "src_context_context", + "community": 13, + "norm_label": "context" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/api/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_api_src_index_ts_src_index", + "community": 13, + "norm_label": "index.ts" + }, + { + "label": "cache.ts", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L1", + "_origin": "ast", + "id": "middleware_cache", + "community": 38, + "norm_label": "cache.ts" + }, + { + "label": "CacheEntry", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L6", + "_origin": "ast", + "id": "middleware_cache_cacheentry", + "community": 38, + "norm_label": "cacheentry" + }, + { + "label": "CacheStats", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L11", + "_origin": "ast", + "id": "middleware_cache_cachestats", + "community": 38, + "norm_label": "cachestats" + }, + { + "label": "CacheService", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L17", + "_origin": "ast", + "id": "middleware_cache_cacheservice", + "community": 45, + "norm_label": "cacheservice" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L23", + "_origin": "ast", + "id": "middleware_cache_cacheservice_constructor", + "community": 45, + "norm_label": ".constructor()" + }, + { + "label": ".get()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L37", + "_origin": "ast", + "id": "middleware_cache_cacheservice_get", + "community": 45, + "norm_label": ".get()" + }, + { + "label": ".set()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L59", + "_origin": "ast", + "id": "middleware_cache_cacheservice_set", + "community": 45, + "norm_label": ".set()" + }, + { + "label": ".delete()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L68", + "_origin": "ast", + "id": "middleware_cache_cacheservice_delete", + "community": 45, + "norm_label": ".delete()" + }, + { + "label": ".deletePattern()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L77", + "_origin": "ast", + "id": "middleware_cache_cacheservice_deletepattern", + "community": 38, + "norm_label": ".deletepattern()" + }, + { + "label": ".clear()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L97", + "_origin": "ast", + "id": "middleware_cache_cacheservice_clear", + "community": 45, + "norm_label": ".clear()" + }, + { + "label": ".getStats()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L105", + "_origin": "ast", + "id": "middleware_cache_cacheservice_getstats", + "community": 45, + "norm_label": ".getstats()" + }, + { + "label": ".has()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L112", + "_origin": "ast", + "id": "middleware_cache_cacheservice_has", + "community": 45, + "norm_label": ".has()" + }, + { + "label": ".getOrSet()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L119", + "_origin": "ast", + "id": "middleware_cache_cacheservice_getorset", + "community": 45, + "norm_label": ".getorset()" + }, + { + "label": ".cleanup()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L137", + "_origin": "ast", + "id": "middleware_cache_cacheservice_cleanup", + "community": 45, + "norm_label": ".cleanup()" + }, + { + "label": ".destroy()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L193", + "_origin": "ast", + "id": "middleware_cache_cacheservice_destroy", + "community": 45, + "norm_label": ".destroy()" + }, + { + "label": ".exportStats()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L208", + "_origin": "ast", + "id": "middleware_cache_cacheservice_exportstats", + "community": 45, + "norm_label": ".exportstats()" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L214", + "_origin": "ast", + "id": "middleware_cache_cache", + "community": 13, + "norm_label": "cache" + }, + { + "label": "CacheKeys", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L223", + "_origin": "ast", + "id": "middleware_cache_cachekeys", + "community": 38, + "norm_label": "cachekeys" + }, + { + "label": "invalidateUser()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L236", + "_origin": "ast", + "id": "middleware_cache_invalidateuser", + "community": 38, + "norm_label": "invalidateuser()" + }, + { + "label": "invalidateHackathons()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L240", + "_origin": "ast", + "id": "middleware_cache_invalidatehackathons", + "community": 38, + "norm_label": "invalidatehackathons()" + }, + { + "label": "invalidateEvents()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L244", + "_origin": "ast", + "id": "middleware_cache_invalidateevents", + "community": 38, + "norm_label": "invalidateevents()" + }, + { + "label": "http-security.ts", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L1", + "_origin": "ast", + "id": "middleware_http_security", + "community": 47, + "norm_label": "http-security.ts" + }, + { + "label": "SecurityHeaders", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L6", + "_origin": "ast", + "id": "middleware_http_security_securityheaders", + "community": 47, + "norm_label": "securityheaders" + }, + { + "label": "CacheHeaders", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L17", + "_origin": "ast", + "id": "middleware_http_security_cacheheaders", + "community": 47, + "norm_label": "cacheheaders" + }, + { + "label": "RateLimitHeaders", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L22", + "_origin": "ast", + "id": "middleware_http_security_ratelimitheaders", + "community": 47, + "norm_label": "ratelimitheaders" + }, + { + "label": "getSecurityHeaders()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L32", + "_origin": "ast", + "id": "middleware_http_security_getsecurityheaders", + "community": 47, + "norm_label": "getsecurityheaders()" + }, + { + "label": "getCacheHeaders()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L69", + "_origin": "ast", + "id": "middleware_http_security_getcacheheaders", + "community": 47, + "norm_label": "getcacheheaders()" + }, + { + "label": "getRateLimitHeaders()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L104", + "_origin": "ast", + "id": "middleware_http_security_getratelimitheaders", + "community": 47, + "norm_label": "getratelimitheaders()" + }, + { + "label": "getClientIp()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L126", + "_origin": "ast", + "id": "middleware_http_security_getclientip", + "community": 47, + "norm_label": "getclientip()" + }, + { + "label": "getRequestFingerprint()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L148", + "_origin": "ast", + "id": "middleware_http_security_getrequestfingerprint", + "community": 47, + "norm_label": "getrequestfingerprint()" + }, + { + "label": "simpleHash()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L168", + "_origin": "ast", + "id": "middleware_http_security_simplehash", + "community": 47, + "norm_label": "simplehash()" + }, + { + "label": "applySecurityHeaders()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L181", + "_origin": "ast", + "id": "middleware_http_security_applysecurityheaders", + "community": 47, + "norm_label": "applysecurityheaders()" + }, + { + "label": "procedures.ts", + "file_type": "code", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L1", + "_origin": "ast", + "id": "middleware_procedures", + "community": 38, + "norm_label": "procedures.ts" + }, + { + "label": "isAdmin", + "file_type": "code", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L11", + "_origin": "ast", + "id": "middleware_procedures_isadmin", + "community": 25, + "norm_label": "isadmin" + }, + { + "label": "isSuperAdmin", + "file_type": "code", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L42", + "_origin": "ast", + "id": "middleware_procedures_issuperadmin", + "community": 25, + "norm_label": "issuperadmin" + }, + { + "label": "isJudge", + "file_type": "code", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L56", + "_origin": "ast", + "id": "middleware_procedures_isjudge", + "community": 38, + "norm_label": "isjudge" + }, + { + "label": "security.ts", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L1", + "_origin": "ast", + "id": "middleware_security", + "community": 12, + "norm_label": "security.ts" + }, + { + "label": "RateLimitRecord", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L4", + "_origin": "ast", + "id": "middleware_security_ratelimitrecord", + "community": 12, + "norm_label": "ratelimitrecord" + }, + { + "label": "rateLimitStore", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L14", + "_origin": "ast", + "id": "middleware_security_ratelimitstore", + "community": 12, + "norm_label": "ratelimitstore" + }, + { + "label": "IPRecord", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L16", + "_origin": "ast", + "id": "middleware_security_iprecord", + "community": 12, + "norm_label": "iprecord" + }, + { + "label": "ipTrackingStore", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L24", + "_origin": "ast", + "id": "middleware_security_iptrackingstore", + "community": 12, + "norm_label": "iptrackingstore" + }, + { + "label": "enforceSizeLimit()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L26", + "_origin": "ast", + "id": "middleware_security_enforcesizelimit", + "community": 12, + "norm_label": "enforcesizelimit()" + }, + { + "label": "DDOS_CONFIG", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L84", + "_origin": "ast", + "id": "middleware_security_ddos_config", + "community": 12, + "norm_label": "ddos_config" + }, + { + "label": "rateLimit()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L118", + "_origin": "ast", + "id": "middleware_security_ratelimit", + "community": 12, + "norm_label": "ratelimit()" + }, + { + "label": "RATE_LIMITS", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L169", + "_origin": "ast", + "id": "middleware_security_rate_limits", + "community": 13, + "norm_label": "rate_limits" + }, + { + "label": "SANITIZE_OPTIONS", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L196", + "_origin": "ast", + "id": "middleware_security_sanitize_options", + "community": 12, + "norm_label": "sanitize_options" + }, + { + "label": "sanitizeInput()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L203", + "_origin": "ast", + "id": "middleware_security_sanitizeinput", + "community": 12, + "norm_label": "sanitizeinput()" + }, + { + "label": "hasInjectionPattern()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L282", + "_origin": "ast", + "id": "middleware_security_hasinjectionpattern", + "community": 12, + "norm_label": "hasinjectionpattern()" + }, + { + "label": "validateEmail()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L302", + "_origin": "ast", + "id": "middleware_security_validateemail", + "community": 12, + "norm_label": "validateemail()" + }, + { + "label": "validateUrl()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L309", + "_origin": "ast", + "id": "middleware_security_validateurl", + "community": 12, + "norm_label": "validateurl()" + }, + { + "label": "validateUUID()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L319", + "_origin": "ast", + "id": "middleware_security_validateuuid", + "community": 12, + "norm_label": "validateuuid()" + }, + { + "label": "SecurityEvent", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L326", + "_origin": "ast", + "id": "middleware_security_securityevent", + "community": 12, + "norm_label": "securityevent" + }, + { + "label": "securityLog", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L337", + "_origin": "ast", + "id": "middleware_security_securitylog", + "community": 12, + "norm_label": "securitylog" + }, + { + "label": "flushQueue", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L342", + "_origin": "ast", + "id": "middleware_security_flushqueue", + "community": 12, + "norm_label": "flushqueue" + }, + { + "label": "rateLimitLogCooldown", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L349", + "_origin": "ast", + "id": "middleware_security_ratelimitlogcooldown", + "community": 12, + "norm_label": "ratelimitlogcooldown" + }, + { + "label": "flushLogs()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L352", + "_origin": "ast", + "id": "middleware_security_flushlogs", + "community": 12, + "norm_label": "flushlogs()" + }, + { + "label": "logSecurityEvent()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L454", + "_origin": "ast", + "id": "middleware_security_logsecurityevent", + "community": 12, + "norm_label": "logsecurityevent()" + }, + { + "label": "getRecentSecurityEvents()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L497", + "_origin": "ast", + "id": "middleware_security_getrecentsecurityevents", + "community": 12, + "norm_label": "getrecentsecurityevents()" + }, + { + "label": "ddosProtection()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L502", + "_origin": "ast", + "id": "middleware_security_ddosprotection", + "community": 12, + "norm_label": "ddosprotection()" + }, + { + "label": "validateRequestSize()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L591", + "_origin": "ast", + "id": "middleware_security_validaterequestsize", + "community": 12, + "norm_label": "validaterequestsize()" + }, + { + "label": "getDdosStats()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L603", + "_origin": "ast", + "id": "middleware_security_getddosstats", + "community": 12, + "norm_label": "getddosstats()" + }, + { + "label": "root.ts", + "file_type": "code", + "source_file": "packages/api/src/root.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_root", + "community": 25, + "norm_label": "root.ts" + }, + { + "label": "AppRouter", + "file_type": "code", + "source_file": "packages/api/src/root.ts", + "source_location": "L28", + "_origin": "ast", + "id": "src_root_approuter", + "community": 13, + "norm_label": "approuter" + }, + { + "label": "admin.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_admin", + "community": 26, + "norm_label": "admin.ts" + }, + { + "label": "adminRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L17", + "_origin": "ast", + "id": "routers_admin_adminrouter", + "community": 26, + "norm_label": "adminrouter" + }, + { + "label": "audit.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_audit", + "community": 25, + "norm_label": "audit.ts" + }, + { + "label": "auditRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L7", + "_origin": "ast", + "id": "routers_audit_auditrouter", + "community": 25, + "norm_label": "auditrouter" + }, + { + "label": "events.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_events", + "community": 25, + "norm_label": "events.ts" + }, + { + "label": "eventRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L9", + "_origin": "ast", + "id": "routers_events_eventrouter", + "community": 25, + "norm_label": "eventrouter" + }, + { + "label": "hackathon.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_hackathon", + "community": 26, + "norm_label": "hackathon.ts" + }, + { + "label": "hackathonRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L19", + "_origin": "ast", + "id": "routers_hackathon_hackathonrouter", + "community": 26, + "norm_label": "hackathonrouter" + }, + { + "label": "hello-procedures.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_hello_procedures", + "community": 25, + "norm_label": "hello-procedures.ts" + }, + { + "label": "sayHello", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L4", + "_origin": "ast", + "id": "routers_hello_procedures_sayhello", + "community": 25, + "norm_label": "sayhello" + }, + { + "label": "greetPublic", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L11", + "_origin": "ast", + "id": "routers_hello_procedures_greetpublic", + "community": 25, + "norm_label": "greetpublic" + }, + { + "label": "sayHelloAuth", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L19", + "_origin": "ast", + "id": "routers_hello_procedures_sayhelloauth", + "community": 25, + "norm_label": "sayhelloauth" + }, + { + "label": "greet", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L32", + "_origin": "ast", + "id": "routers_hello_procedures_greet", + "community": 25, + "norm_label": "greet" + }, + { + "label": "hello.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_hello", + "community": 25, + "norm_label": "hello.ts" + }, + { + "label": "helloRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L4", + "_origin": "ast", + "id": "routers_hello_hellorouter", + "community": 25, + "norm_label": "hellorouter" + }, + { + "label": "judge.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_judge", + "community": 30, + "norm_label": "judge.ts" + }, + { + "label": "shuffleArray()", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L20", + "_origin": "ast", + "id": "routers_judge_shufflearray", + "community": 30, + "norm_label": "shufflearray()" + }, + { + "label": "zNormalize()", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L36", + "_origin": "ast", + "id": "routers_judge_znormalize", + "community": 30, + "norm_label": "znormalize()" + }, + { + "label": "buildCoverageQueues()", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L55", + "_origin": "ast", + "id": "routers_judge_buildcoveragequeues", + "community": 30, + "norm_label": "buildcoveragequeues()" + }, + { + "label": "judgeRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L156", + "_origin": "ast", + "id": "routers_judge_judgerouter", + "community": 25, + "norm_label": "judgerouter" + }, + { + "label": "member.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_member", + "community": 48, + "norm_label": "member.ts" + }, + { + "label": "nameSchema", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L8", + "_origin": "ast", + "id": "routers_member_nameschema", + "community": 48, + "norm_label": "nameschema" + }, + { + "label": "urlSchema", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L13", + "_origin": "ast", + "id": "routers_member_urlschema", + "community": 48, + "norm_label": "urlschema" + }, + { + "label": "phoneSchema", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L14", + "_origin": "ast", + "id": "routers_member_phoneschema", + "community": 48, + "norm_label": "phoneschema" + }, + { + "label": "memberRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L19", + "_origin": "ast", + "id": "routers_member_memberrouter", + "community": 48, + "norm_label": "memberrouter" + }, + { + "label": "settings.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_settings", + "community": 25, + "norm_label": "settings.ts" + }, + { + "label": "settingsRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L8", + "_origin": "ast", + "id": "routers_settings_settingsrouter", + "community": 25, + "norm_label": "settingsrouter" + }, + { + "label": "stripe.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_stripe", + "community": 25, + "norm_label": "stripe.ts" + }, + { + "label": "stripeRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L14", + "_origin": "ast", + "id": "routers_stripe_striperouter", + "community": 25, + "norm_label": "striperouter" + }, + { + "label": "createOrUpdateMembership()", + "file_type": "code", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L289", + "_origin": "ast", + "id": "routers_stripe_createorupdatemembership", + "community": 25, + "norm_label": "createorupdatemembership()" + }, + { + "label": "team.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_team", + "community": 26, + "norm_label": "team.ts" + }, + { + "label": "checkTeamEditWindow()", + "file_type": "code", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L13", + "_origin": "ast", + "id": "routers_team_checkteameditwindow", + "community": 26, + "norm_label": "checkteameditwindow()" + }, + { + "label": "teamRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L40", + "_origin": "ast", + "id": "routers_team_teamrouter", + "community": 26, + "norm_label": "teamrouter" + }, + { + "label": "user.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_user", + "community": 38, + "norm_label": "user.ts" + }, + { + "label": "userRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L9", + "_origin": "ast", + "id": "routers_user_userrouter", + "community": 38, + "norm_label": "userrouter" + }, + { + "label": "trpc.ts", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_trpc", + "community": 13, + "norm_label": "trpc.ts" + }, + { + "label": "errorFormatter()", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L15", + "_origin": "ast", + "id": "src_trpc_errorformatter", + "community": 13, + "norm_label": "errorformatter()" + }, + { + "label": "t", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L37", + "_origin": "ast", + "id": "src_trpc_t", + "community": 13, + "norm_label": "t" + }, + { + "label": "requiresDb", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L44", + "_origin": "ast", + "id": "src_trpc_requiresdb", + "community": 13, + "norm_label": "requiresdb" + }, + { + "label": "sanitizeInputs", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L60", + "_origin": "ast", + "id": "src_trpc_sanitizeinputs", + "community": 13, + "norm_label": "sanitizeinputs" + }, + { + "label": "enforceContentType", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L81", + "_origin": "ast", + "id": "src_trpc_enforcecontenttype", + "community": 13, + "norm_label": "enforcecontenttype" + }, + { + "label": "uploadSanitizeInputs", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L98", + "_origin": "ast", + "id": "src_trpc_uploadsanitizeinputs", + "community": 13, + "norm_label": "uploadsanitizeinputs" + }, + { + "label": "CACHE_INVALIDATION_MAP", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L138", + "_origin": "ast", + "id": "src_trpc_cache_invalidation_map", + "community": 13, + "norm_label": "cache_invalidation_map" + }, + { + "label": "cacheInvalidationMiddleware", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L180", + "_origin": "ast", + "id": "src_trpc_cacheinvalidationmiddleware", + "community": 13, + "norm_label": "cacheinvalidationmiddleware" + }, + { + "label": "publicProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L199", + "_origin": "ast", + "id": "src_trpc_publicprocedure", + "community": 25, + "norm_label": "publicprocedure" + }, + { + "label": "isAuthed", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L240", + "_origin": "ast", + "id": "src_trpc_isauthed", + "community": 13, + "norm_label": "isauthed" + }, + { + "label": "protectedProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L277", + "_origin": "ast", + "id": "src_trpc_protectedprocedure", + "community": 26, + "norm_label": "protectedprocedure" + }, + { + "label": "uploadProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L284", + "_origin": "ast", + "id": "src_trpc_uploadprocedure", + "community": 38, + "norm_label": "uploadprocedure" + }, + { + "label": "judgeProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L291", + "_origin": "ast", + "id": "src_trpc_judgeprocedure", + "community": 13, + "norm_label": "judgeprocedure" + }, + { + "label": "adminProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L298", + "_origin": "ast", + "id": "src_trpc_adminprocedure", + "community": 13, + "norm_label": "adminprocedure" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "api_tsconfig", + "community": 64, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "api_tsconfig_extends", + "community": 64, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "api_tsconfig_compileroptions", + "community": 64, + "norm_label": "compileroptions" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "api_tsconfig_compileroptions_outdir", + "community": 64, + "norm_label": "outdir" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "api_tsconfig_compileroptions_rootdir", + "community": 64, + "norm_label": "rootdir" + }, + { + "label": "include", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "api_tsconfig_include", + "community": 64, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "api_tsconfig_exclude", + "community": 64, + "norm_label": "exclude" + }, + { + "label": "vitest.config.ts", + "file_type": "code", + "source_file": "packages/api/vitest.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "api_vitest_config", + "community": 118, + "norm_label": "vitest.config.ts" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "packages/auth/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "auth_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "auth_package", + "community": 11, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "auth_package_name", + "community": 11, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "auth_package_version", + "community": 11, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "auth_package_private", + "community": 11, + "norm_label": "private" + }, + { + "label": "main", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "auth_package_main", + "community": 11, + "norm_label": "main" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "auth_package_types", + "community": 11, + "norm_label": "types" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "auth_package_exports", + "community": 11, + "norm_label": "exports" + }, + { + "label": "./email", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "auth_package_exports_email", + "community": 11, + "norm_label": "./email" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "auth_package_scripts", + "community": 11, + "norm_label": "scripts" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "auth_package_scripts_lint", + "community": 11, + "norm_label": "lint" + }, + { + "label": "type-check", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "auth_package_scripts_type_check", + "community": 11, + "norm_label": "type-check" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "auth_package_dependencies", + "community": 11, + "norm_label": "dependencies" + }, + { + "label": "@auth/drizzle-adapter", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "auth_package_dependencies_auth_drizzle_adapter", + "community": 11, + "norm_label": "@auth/drizzle-adapter" + }, + { + "label": "@query/db", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "auth_package_dependencies_query_db", + "community": 11, + "norm_label": "@query/db" + }, + { + "label": "drizzle-orm", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "auth_package_dependencies_drizzle_orm", + "community": 11, + "norm_label": "drizzle-orm" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "auth_package_dependencies_minimatch", + "community": 11, + "norm_label": "minimatch" + }, + { + "label": "next-auth", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "auth_package_dependencies_next_auth", + "community": 11, + "norm_label": "next-auth" + }, + { + "label": "nodemailer", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "auth_package_dependencies_nodemailer", + "community": 11, + "norm_label": "nodemailer" + }, + { + "label": "peerDependencies", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "auth_package_peerdependencies", + "community": 11, + "norm_label": "peerdependencies" + }, + { + "label": "next", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "auth_package_peerdependencies_next", + "community": 11, + "norm_label": "next" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "auth_package_devdependencies", + "community": 11, + "norm_label": "devdependencies" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "auth_package_devdependencies_query_tsconfig", + "community": 11, + "norm_label": "@query/tsconfig" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "auth_package_devdependencies_types_node", + "community": 11, + "norm_label": "@types/node" + }, + { + "label": "@typescript-eslint/eslint-plugin", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "auth_package_devdependencies_typescript_eslint_eslint_plugin", + "community": 11, + "norm_label": "@typescript-eslint/eslint-plugin" + }, + { + "label": "@typescript-eslint/parser", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "auth_package_devdependencies_typescript_eslint_parser", + "community": 11, + "norm_label": "@typescript-eslint/parser" + }, + { + "label": "@typescript-eslint/utils", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "auth_package_devdependencies_typescript_eslint_utils", + "community": 11, + "norm_label": "@typescript-eslint/utils" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "auth_package_devdependencies_eslint", + "community": 11, + "norm_label": "eslint" + }, + { + "label": "eslint-config-prettier", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "auth_package_devdependencies_eslint_config_prettier", + "community": 11, + "norm_label": "eslint-config-prettier" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "auth_package_devdependencies_typescript", + "community": 11, + "norm_label": "typescript" + }, + { + "label": "adapter.ts", + "file_type": "code", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_adapter", + "community": 2, + "norm_label": "adapter.ts" + }, + { + "label": "createAdapter()", + "file_type": "code", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L6", + "_origin": "ast", + "id": "src_adapter_createadapter", + "community": 2, + "norm_label": "createadapter()" + }, + { + "label": "adapter", + "file_type": "code", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L66", + "_origin": "ast", + "id": "src_adapter_adapter", + "community": 40, + "norm_label": "adapter" + }, + { + "label": "auth.ts", + "file_type": "code", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_auth", + "community": 40, + "norm_label": "auth.ts" + }, + { + "label": "{ handlers, auth, signIn, signOut }", + "file_type": "code", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L10", + "_origin": "ast", + "id": "src_auth_handlers_auth_signin_signout", + "community": 40, + "norm_label": "{ handlers, auth, signin, signout }" + }, + { + "label": "config.ts", + "file_type": "code", + "source_file": "packages/auth/src/config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_config", + "community": 40, + "norm_label": "config.ts" + }, + { + "label": "html()", + "file_type": "code", + "source_file": "packages/auth/src/config.ts", + "source_location": "L7", + "_origin": "ast", + "id": "src_config_html", + "community": 40, + "norm_label": "html()" + }, + { + "label": "authConfig", + "file_type": "code", + "source_file": "packages/auth/src/config.ts", + "source_location": "L68", + "_origin": "ast", + "id": "src_config_authconfig", + "community": 40, + "norm_label": "authconfig" + }, + { + "label": "email.ts", + "file_type": "code", + "source_file": "packages/auth/src/email.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_email", + "community": 40, + "norm_label": "email.ts" + }, + { + "label": "sendAcceptanceEmail()", + "file_type": "code", + "source_file": "packages/auth/src/email.ts", + "source_location": "L3", + "_origin": "ast", + "id": "src_email_sendacceptanceemail", + "community": 40, + "norm_label": "sendacceptanceemail()" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/auth/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_auth_src_index_ts_src_index", + "community": 40, + "norm_label": "index.ts" + }, + { + "label": "utils.ts", + "file_type": "code", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_utils", + "community": 40, + "norm_label": "utils.ts" + }, + { + "label": "getSession()", + "file_type": "code", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L3", + "_origin": "ast", + "id": "src_utils_getsession", + "community": 40, + "norm_label": "getsession()" + }, + { + "label": "requireAuth()", + "file_type": "code", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L7", + "_origin": "ast", + "id": "src_utils_requireauth", + "community": 40, + "norm_label": "requireauth()" + }, + { + "label": "getCurrentUserId()", + "file_type": "code", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L15", + "_origin": "ast", + "id": "src_utils_getcurrentuserid", + "community": 40, + "norm_label": "getcurrentuserid()" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "auth_tsconfig", + "community": 54, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "auth_tsconfig_extends", + "community": 54, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "auth_tsconfig_compileroptions", + "community": 54, + "norm_label": "compileroptions" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "auth_tsconfig_compileroptions_paths", + "community": 54, + "norm_label": "paths" + }, + { + "label": "@/*", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "auth_tsconfig_paths", + "community": 54, + "norm_label": "@/*" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "auth_tsconfig_compileroptions_moduleresolution", + "community": 54, + "norm_label": "moduleresolution" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "auth_tsconfig_compileroptions_lib", + "community": 54, + "norm_label": "lib" + }, + { + "label": "include", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "auth_tsconfig_include", + "community": 54, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "auth_tsconfig_exclude", + "community": 54, + "norm_label": "exclude" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/consts/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "consts_index", + "community": 119, + "norm_label": "index.ts" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "consts_package", + "community": 66, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "consts_package_name", + "community": 66, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "consts_package_version", + "community": 66, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "consts_package_private", + "community": 66, + "norm_label": "private" + }, + { + "label": "main", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "consts_package_main", + "community": 66, + "norm_label": "main" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "consts_package_types", + "community": 66, + "norm_label": "types" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "consts_package_exports", + "community": 66, + "norm_label": "exports" + }, + { + "label": "drizzle.config.ts", + "file_type": "code", + "source_file": "packages/db/drizzle.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "db_drizzle_config", + "community": 120, + "norm_label": "drizzle.config.ts" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "packages/db/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "db_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "db_package", + "community": 16, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "db_package_name", + "community": 16, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "db_package_version", + "community": 16, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "db_package_private", + "community": 16, + "norm_label": "private" + }, + { + "label": "main", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "db_package_main", + "community": 16, + "norm_label": "main" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "db_package_types", + "community": 16, + "norm_label": "types" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "db_package_exports", + "community": 16, + "norm_label": "exports" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "db_package_scripts", + "community": 16, + "norm_label": "scripts" + }, + { + "label": "migrate:push", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "db_package_scripts_migrate_push", + "community": 16, + "norm_label": "migrate:push" + }, + { + "label": "migrate:generate", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "db_package_scripts_migrate_generate", + "community": 16, + "norm_label": "migrate:generate" + }, + { + "label": "studio", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "db_package_scripts_studio", + "community": 16, + "norm_label": "studio" + }, + { + "label": "db:seed", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "db_package_scripts_db_seed", + "community": 16, + "norm_label": "db:seed" + }, + { + "label": "db:reset", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "db_package_scripts_db_reset", + "community": 16, + "norm_label": "db:reset" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "db_package_dependencies", + "community": 16, + "norm_label": "dependencies" + }, + { + "label": "@t3-oss/env-nextjs", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "db_package_dependencies_t3_oss_env_nextjs", + "community": 16, + "norm_label": "@t3-oss/env-nextjs" + }, + { + "label": "drizzle-orm", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "db_package_dependencies_drizzle_orm", + "community": 16, + "norm_label": "drizzle-orm" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "db_package_dependencies_minimatch", + "community": 16, + "norm_label": "minimatch" + }, + { + "label": "next-auth", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "db_package_dependencies_next_auth", + "community": 16, + "norm_label": "next-auth" + }, + { + "label": "pg", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "db_package_dependencies_pg", + "community": 16, + "norm_label": "pg" + }, + { + "label": "postgres", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "db_package_dependencies_postgres", + "community": 16, + "norm_label": "postgres" + }, + { + "label": "zod", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "db_package_dependencies_zod", + "community": 16, + "norm_label": "zod" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "db_package_devdependencies", + "community": 16, + "norm_label": "devdependencies" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "db_package_devdependencies_query_tsconfig", + "community": 16, + "norm_label": "@query/tsconfig" + }, + { + "label": "@types/pg", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "db_package_devdependencies_types_pg", + "community": 16, + "norm_label": "@types/pg" + }, + { + "label": "drizzle-kit", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "db_package_devdependencies_drizzle_kit", + "community": 16, + "norm_label": "drizzle-kit" + }, + { + "label": "tsx", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "db_package_devdependencies_tsx", + "community": 16, + "norm_label": "tsx" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "db_package_devdependencies_typescript", + "community": 16, + "norm_label": "typescript" + }, + { + "label": "xlsx", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "db_package_devdependencies_xlsx", + "community": 16, + "norm_label": "xlsx" + }, + { + "label": "seed.ts", + "file_type": "code", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L1", + "_origin": "ast", + "id": "scripts_seed", + "community": 48, + "norm_label": "seed.ts" + }, + { + "label": "main()", + "file_type": "code", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L6", + "_origin": "ast", + "id": "scripts_seed_main", + "community": 48, + "norm_label": "main()" + }, + { + "label": "client.ts", + "file_type": "code", + "source_file": "packages/db/src/client.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_client", + "community": 48, + "norm_label": "client.ts" + }, + { + "label": "DrizzleDB", + "file_type": "code", + "source_file": "packages/db/src/client.ts", + "source_location": "L8", + "_origin": "ast", + "id": "src_client_drizzledb", + "community": 48, + "norm_label": "drizzledb" + }, + { + "label": "globalForDb", + "file_type": "code", + "source_file": "packages/db/src/client.ts", + "source_location": "L10", + "_origin": "ast", + "id": "src_client_globalfordb", + "community": 48, + "norm_label": "globalfordb" + }, + { + "label": "env.ts", + "file_type": "code", + "source_file": "packages/db/src/env.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_db_src_env_ts_src_env", + "community": 108, + "norm_label": "env.ts" + }, + { + "label": "env", + "file_type": "code", + "source_file": "packages/db/src/env.ts", + "source_location": "L4", + "_origin": "ast", + "id": "packages_db_src_env_ts_src_env_env", + "community": 108, + "norm_label": "env" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/db/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_db_src_index_ts_src_index", + "community": 2, + "norm_label": "index.ts" + }, + { + "label": "admins.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_admins", + "community": 2, + "norm_label": "admins.ts" + }, + { + "label": "admins", + "file_type": "code", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L5", + "_origin": "ast", + "id": "schemas_admins_admins", + "community": 2, + "norm_label": "admins" + }, + { + "label": "adminsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L20", + "_origin": "ast", + "id": "schemas_admins_adminsrelations", + "community": 2, + "norm_label": "adminsrelations" + }, + { + "label": "auth.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_auth", + "community": 2, + "norm_label": "auth.ts" + }, + { + "label": "users", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L11", + "_origin": "ast", + "id": "schemas_auth_users", + "community": 2, + "norm_label": "users" + }, + { + "label": "accounts", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L26", + "_origin": "ast", + "id": "schemas_auth_accounts", + "community": 2, + "norm_label": "accounts" + }, + { + "label": "sessions", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L51", + "_origin": "ast", + "id": "schemas_auth_sessions", + "community": 2, + "norm_label": "sessions" + }, + { + "label": "verificationTokens", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L63", + "_origin": "ast", + "id": "schemas_auth_verificationtokens", + "community": 2, + "norm_label": "verificationtokens" + }, + { + "label": "events.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_events", + "community": 2, + "norm_label": "events.ts" + }, + { + "label": "events", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L13", + "_origin": "ast", + "id": "schemas_events_events", + "community": 2, + "norm_label": "events" + }, + { + "label": "eventCheckIns", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L31", + "_origin": "ast", + "id": "schemas_events_eventcheckins", + "community": 2, + "norm_label": "eventcheckins" + }, + { + "label": "eventsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L50", + "_origin": "ast", + "id": "schemas_events_eventsrelations", + "community": 2, + "norm_label": "eventsrelations" + }, + { + "label": "eventCheckInsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L58", + "_origin": "ast", + "id": "schemas_events_eventcheckinsrelations", + "community": 2, + "norm_label": "eventcheckinsrelations" + }, + { + "label": "hackathons.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_hackathons", + "community": 26, + "norm_label": "hackathons.ts" + }, + { + "label": "hackathons", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L17", + "_origin": "ast", + "id": "schemas_hackathons_hackathons", + "community": 26, + "norm_label": "hackathons" + }, + { + "label": "hackathonTeams", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L60", + "_origin": "ast", + "id": "schemas_hackathons_hackathonteams", + "community": 26, + "norm_label": "hackathonteams" + }, + { + "label": "hackathonParticipants", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L85", + "_origin": "ast", + "id": "schemas_hackathons_hackathonparticipants", + "community": 26, + "norm_label": "hackathonparticipants" + }, + { + "label": "hackathonProjects", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L183", + "_origin": "ast", + "id": "schemas_hackathons_hackathonprojects", + "community": 26, + "norm_label": "hackathonprojects" + }, + { + "label": "hackathonsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L223", + "_origin": "ast", + "id": "schemas_hackathons_hackathonsrelations", + "community": 26, + "norm_label": "hackathonsrelations" + }, + { + "label": "hackathonParticipantsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L229", + "_origin": "ast", + "id": "schemas_hackathons_hackathonparticipantsrelations", + "community": 26, + "norm_label": "hackathonparticipantsrelations" + }, + { + "label": "hackathonTeamsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L251", + "_origin": "ast", + "id": "schemas_hackathons_hackathonteamsrelations", + "community": 26, + "norm_label": "hackathonteamsrelations" + }, + { + "label": "hackathonEvents", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L268", + "_origin": "ast", + "id": "schemas_hackathons_hackathonevents", + "community": 26, + "norm_label": "hackathonevents" + }, + { + "label": "hackathonEventAttendees", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L294", + "_origin": "ast", + "id": "schemas_hackathons_hackathoneventattendees", + "community": 26, + "norm_label": "hackathoneventattendees" + }, + { + "label": "hackathonEventsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L314", + "_origin": "ast", + "id": "schemas_hackathons_hackathoneventsrelations", + "community": 26, + "norm_label": "hackathoneventsrelations" + }, + { + "label": "hackathonEventAttendeesRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L325", + "_origin": "ast", + "id": "schemas_hackathons_hackathoneventattendeesrelations", + "community": 26, + "norm_label": "hackathoneventattendeesrelations" + }, + { + "label": "hackathonProjectsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L339", + "_origin": "ast", + "id": "schemas_hackathons_hackathonprojectsrelations", + "community": 26, + "norm_label": "hackathonprojectsrelations" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_index", + "community": 2, + "norm_label": "index.ts" + }, + { + "label": "judge.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_judge", + "community": 30, + "norm_label": "judge.ts" + }, + { + "label": "judges", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L15", + "_origin": "ast", + "id": "schemas_judge_judges", + "community": 30, + "norm_label": "judges" + }, + { + "label": "judgeAssignments", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L42", + "_origin": "ast", + "id": "schemas_judge_judgeassignments", + "community": 30, + "norm_label": "judgeassignments" + }, + { + "label": "judgingProjects", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L66", + "_origin": "ast", + "id": "schemas_judge_judgingprojects", + "community": 30, + "norm_label": "judgingprojects" + }, + { + "label": "judgeVotes", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L93", + "_origin": "ast", + "id": "schemas_judge_judgevotes", + "community": 30, + "norm_label": "judgevotes" + }, + { + "label": "hackathonMaps", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L124", + "_origin": "ast", + "id": "schemas_judge_hackathonmaps", + "community": 30, + "norm_label": "hackathonmaps" + }, + { + "label": "judgeQueue", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L140", + "_origin": "ast", + "id": "schemas_judge_judgequeue", + "community": 30, + "norm_label": "judgequeue" + }, + { + "label": "judgesRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L170", + "_origin": "ast", + "id": "schemas_judge_judgesrelations", + "community": 30, + "norm_label": "judgesrelations" + }, + { + "label": "judgeAssignmentsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L180", + "_origin": "ast", + "id": "schemas_judge_judgeassignmentsrelations", + "community": 30, + "norm_label": "judgeassignmentsrelations" + }, + { + "label": "judgingProjectsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L194", + "_origin": "ast", + "id": "schemas_judge_judgingprojectsrelations", + "community": 30, + "norm_label": "judgingprojectsrelations" + }, + { + "label": "judgeVotesRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L206", + "_origin": "ast", + "id": "schemas_judge_judgevotesrelations", + "community": 30, + "norm_label": "judgevotesrelations" + }, + { + "label": "hackathonMapsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L217", + "_origin": "ast", + "id": "schemas_judge_hackathonmapsrelations", + "community": 30, + "norm_label": "hackathonmapsrelations" + }, + { + "label": "judgeQueueRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L224", + "_origin": "ast", + "id": "schemas_judge_judgequeuerelations", + "community": 30, + "norm_label": "judgequeuerelations" + }, + { + "label": "members.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_members", + "community": 2, + "norm_label": "members.ts" + }, + { + "label": "userProfiles", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L13", + "_origin": "ast", + "id": "schemas_members_userprofiles", + "community": 38, + "norm_label": "userprofiles" + }, + { + "label": "members", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L30", + "_origin": "ast", + "id": "schemas_members_members", + "community": 2, + "norm_label": "members" + }, + { + "label": "membershipHistory", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L67", + "_origin": "ast", + "id": "schemas_members_membershiphistory", + "community": 48, + "norm_label": "membershiphistory" + }, + { + "label": "usersRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L85", + "_origin": "ast", + "id": "schemas_members_usersrelations", + "community": 2, + "norm_label": "usersrelations" + }, + { + "label": "userProfilesRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L96", + "_origin": "ast", + "id": "schemas_members_userprofilesrelations", + "community": 2, + "norm_label": "userprofilesrelations" + }, + { + "label": "membersRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L103", + "_origin": "ast", + "id": "schemas_members_membersrelations", + "community": 2, + "norm_label": "membersrelations" + }, + { + "label": "membershipHistoryRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L111", + "_origin": "ast", + "id": "schemas_members_membershiphistoryrelations", + "community": 2, + "norm_label": "membershiphistoryrelations" + }, + { + "label": "security.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_security", + "community": 2, + "norm_label": "security.ts" + }, + { + "label": "securitySeverityEnum", + "file_type": "code", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L11", + "_origin": "ast", + "id": "schemas_security_securityseverityenum", + "community": 2, + "norm_label": "securityseverityenum" + }, + { + "label": "auditLogs", + "file_type": "code", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L17", + "_origin": "ast", + "id": "schemas_security_auditlogs", + "community": 2, + "norm_label": "auditlogs" + }, + { + "label": "settings.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/settings.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_settings", + "community": 2, + "norm_label": "settings.ts" + }, + { + "label": "systemSettings", + "file_type": "code", + "source_file": "packages/db/src/schemas/settings.ts", + "source_location": "L9", + "_origin": "ast", + "id": "schemas_settings_systemsettings", + "community": 2, + "norm_label": "systemsettings" + }, + { + "label": "stripe.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_stripe", + "community": 2, + "norm_label": "stripe.ts" + }, + { + "label": "stripePayments", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L17", + "_origin": "ast", + "id": "schemas_stripe_stripepayments", + "community": 2, + "norm_label": "stripepayments" + }, + { + "label": "userAccountLinks", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L58", + "_origin": "ast", + "id": "schemas_stripe_useraccountlinks", + "community": 2, + "norm_label": "useraccountlinks" + }, + { + "label": "stripePaymentsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L83", + "_origin": "ast", + "id": "schemas_stripe_stripepaymentsrelations", + "community": 2, + "norm_label": "stripepaymentsrelations" + }, + { + "label": "userAccountLinksRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L94", + "_origin": "ast", + "id": "schemas_stripe_useraccountlinksrelations", + "community": 2, + "norm_label": "useraccountlinksrelations" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "db_tsconfig", + "community": 36, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "db_tsconfig_extends", + "community": 36, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "db_tsconfig_compileroptions", + "community": 36, + "norm_label": "compileroptions" + }, + { + "label": "target", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_target", + "community": 36, + "norm_label": "target" + }, + { + "label": "module", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_module", + "community": 36, + "norm_label": "module" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_moduleresolution", + "community": 36, + "norm_label": "moduleresolution" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_lib", + "community": 36, + "norm_label": "lib" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_esmoduleinterop", + "community": 36, + "norm_label": "esmoduleinterop" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community": 36, + "norm_label": "forceconsistentcasinginfilenames" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_skiplibcheck", + "community": 36, + "norm_label": "skiplibcheck" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_paths", + "community": 36, + "norm_label": "paths" + }, + { + "label": "@/*", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "id": "db_tsconfig_paths", + "community": 36, + "norm_label": "@/*" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_outdir", + "community": 36, + "norm_label": "outdir" + }, + { + "label": "include", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "id": "db_tsconfig_include", + "community": 36, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L17", + "_origin": "ast", + "id": "db_tsconfig_exclude", + "community": 36, + "norm_label": "exclude" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "packages/ui/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "ui_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "ui_package", + "community": 8, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "ui_package_name", + "community": 8, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "ui_package_version", + "community": 8, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "ui_package_type", + "community": 8, + "norm_label": "type" + }, + { + "label": "sideEffects", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "ui_package_sideeffects", + "community": 8, + "norm_label": "sideeffects" + }, + { + "label": "files", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "ui_package_files", + "community": 8, + "norm_label": "files" + }, + { + "label": "main", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "ui_package_main", + "community": 8, + "norm_label": "main" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "ui_package_types", + "community": 8, + "norm_label": "types" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "ui_package_exports", + "community": 8, + "norm_label": "exports" + }, + { + "label": "import", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "ui_package_import", + "community": 8, + "norm_label": "import" + }, + { + "label": "default", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "ui_package_default", + "community": 8, + "norm_label": "default" + }, + { + "label": "./styles", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "ui_package_exports_styles", + "community": 8, + "norm_label": "./styles" + }, + { + "label": "./styles.css", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "ui_package_exports_styles_css", + "community": 8, + "norm_label": "./styles.css" + }, + { + "label": "license", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "ui_package_license", + "community": 8, + "norm_label": "license" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "ui_package_scripts", + "community": 8, + "norm_label": "scripts" + }, + { + "label": "build:styles", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "ui_package_scripts_build_styles", + "community": 8, + "norm_label": "build:styles" + }, + { + "label": "build:components", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "ui_package_scripts_build_components", + "community": 8, + "norm_label": "build:components" + }, + { + "label": "check-types", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "ui_package_scripts_check_types", + "community": 8, + "norm_label": "check-types" + }, + { + "label": "dev:styles", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "ui_package_scripts_dev_styles", + "community": 8, + "norm_label": "dev:styles" + }, + { + "label": "dev:components", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "ui_package_scripts_dev_components", + "community": 8, + "norm_label": "dev:components" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "ui_package_scripts_lint", + "community": 8, + "norm_label": "lint" + }, + { + "label": "peerDependencies", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "ui_package_peerdependencies", + "community": 8, + "norm_label": "peerdependencies" + }, + { + "label": "react", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "ui_package_peerdependencies_react", + "community": 8, + "norm_label": "react" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "ui_package_devdependencies", + "community": 8, + "norm_label": "devdependencies" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "ui_package_devdependencies_next_eslint_plugin_next", + "community": 8, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "@query/eslint-config", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "ui_package_devdependencies_query_eslint_config", + "community": 8, + "norm_label": "@query/eslint-config" + }, + { + "label": "@query/tailwind-config", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "ui_package_devdependencies_query_tailwind_config", + "community": 8, + "norm_label": "@query/tailwind-config" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "ui_package_devdependencies_query_tsconfig", + "community": 8, + "norm_label": "@query/tsconfig" + }, + { + "label": "@tailwindcss/cli", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "ui_package_devdependencies_tailwindcss_cli", + "community": 8, + "norm_label": "@tailwindcss/cli" + }, + { + "label": "@types/minimatch", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "ui_package_devdependencies_types_minimatch", + "community": 8, + "norm_label": "@types/minimatch" + }, + { + "label": "@types/react", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "ui_package_devdependencies_types_react", + "community": 8, + "norm_label": "@types/react" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L43", + "_origin": "ast", + "id": "ui_package_devdependencies_eslint", + "community": 8, + "norm_label": "eslint" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L44", + "_origin": "ast", + "id": "ui_package_devdependencies_tailwindcss", + "community": 8, + "norm_label": "tailwindcss" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L45", + "_origin": "ast", + "id": "ui_package_devdependencies_typescript", + "community": 8, + "norm_label": "typescript" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L47", + "_origin": "ast", + "id": "ui_package_dependencies", + "community": 8, + "norm_label": "dependencies" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L48", + "_origin": "ast", + "id": "ui_package_dependencies_minimatch", + "community": 8, + "norm_label": "minimatch" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L49", + "_origin": "ast", + "id": "ui_package_dependencies_react_dom", + "community": 8, + "norm_label": "react-dom" + }, + { + "label": "card.jsx", + "file_type": "code", + "source_file": "packages/ui/src/card.jsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_card_jsx_src_card", + "community": 109, + "norm_label": "card.jsx" + }, + { + "label": "Card()", + "file_type": "code", + "source_file": "packages/ui/src/card.jsx", + "source_location": "L4", + "_origin": "ast", + "id": "packages_ui_src_card_jsx_src_card_card", + "community": 109, + "norm_label": "card()" + }, + { + "label": "card.tsx", + "file_type": "code", + "source_file": "packages/ui/src/card.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_card_tsx_src_card", + "community": 110, + "norm_label": "card.tsx" + }, + { + "label": "Card()", + "file_type": "code", + "source_file": "packages/ui/src/card.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "packages_ui_src_card_tsx_src_card_card", + "community": 110, + "norm_label": "card()" + }, + { + "label": "glass.tsx", + "file_type": "code", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "src_glass", + "community": 98, + "norm_label": "glass.tsx" + }, + { + "label": "GlassProps", + "file_type": "code", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "src_glass_glassprops", + "community": 98, + "norm_label": "glassprops" + }, + { + "label": "Glass()", + "file_type": "code", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "src_glass_glass", + "community": 98, + "norm_label": "glass()" + }, + { + "label": "gradient.jsx", + "file_type": "code", + "source_file": "packages/ui/src/gradient.jsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_gradient_jsx_src_gradient", + "community": 111, + "norm_label": "gradient.jsx" + }, + { + "label": "Gradient()", + "file_type": "code", + "source_file": "packages/ui/src/gradient.jsx", + "source_location": "L4", + "_origin": "ast", + "id": "packages_ui_src_gradient_jsx_src_gradient_gradient", + "community": 111, + "norm_label": "gradient()" + }, + { + "label": "gradient.tsx", + "file_type": "code", + "source_file": "packages/ui/src/gradient.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_gradient_tsx_src_gradient", + "community": 112, + "norm_label": "gradient.tsx" + }, + { + "label": "Gradient()", + "file_type": "code", + "source_file": "packages/ui/src/gradient.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_gradient_tsx_src_gradient_gradient", + "community": 112, + "norm_label": "gradient()" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/ui/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_index_ts_src_index", + "community": 127, + "norm_label": "index.ts" + }, + { + "label": "turborepo-logo.jsx", + "file_type": "code", + "source_file": "packages/ui/src/turborepo-logo.jsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_turborepo_logo_jsx_src_turborepo_logo", + "community": 128, + "norm_label": "turborepo-logo.jsx" + }, + { + "label": "turborepo-logo.tsx", + "file_type": "code", + "source_file": "packages/ui/src/turborepo-logo.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_turborepo_logo_tsx_src_turborepo_logo", + "community": 113, + "norm_label": "turborepo-logo.tsx" + }, + { + "label": "TurborepoLogo()", + "file_type": "code", + "source_file": "packages/ui/src/turborepo-logo.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "src_turborepo_logo_turborepologo", + "community": 113, + "norm_label": "turborepologo()" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "ui_tsconfig", + "community": 42, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "ui_tsconfig_extends", + "community": 42, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions", + "community": 42, + "norm_label": "compileroptions" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_lib", + "community": 42, + "norm_label": "lib" + }, + { + "label": "jsx", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_jsx", + "community": 42, + "norm_label": "jsx" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_rootdir", + "community": 42, + "norm_label": "rootdir" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_types", + "community": 42, + "norm_label": "types" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_skiplibcheck", + "community": 42, + "norm_label": "skiplibcheck" + }, + { + "label": "emitDeclarationOnly", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_emitdeclarationonly", + "community": 42, + "norm_label": "emitdeclarationonly" + }, + { + "label": "module", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_module", + "community": 42, + "norm_label": "module" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_outdir", + "community": 42, + "norm_label": "outdir" + }, + { + "label": "include", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "id": "ui_tsconfig_include", + "community": 42, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "ui_tsconfig_exclude", + "community": 42, + "norm_label": "exclude" + }, + { + "label": "turbo.json", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L1", + "_origin": "ast", + "id": "ui_turbo", + "community": 35, + "norm_label": "turbo.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L2", + "_origin": "ast", + "id": "ui_turbo_extends", + "community": 35, + "norm_label": "extends" + }, + { + "label": "tasks", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L3", + "_origin": "ast", + "id": "ui_turbo_tasks", + "community": 35, + "norm_label": "tasks" + }, + { + "label": "build", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L4", + "_origin": "ast", + "id": "ui_turbo_tasks_build", + "community": 35, + "norm_label": "build" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L5", + "_origin": "ast", + "id": "ui_turbo_build_dependson", + "community": 35, + "norm_label": "dependson" + }, + { + "label": "build:styles", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L7", + "_origin": "ast", + "id": "ui_turbo_tasks_build_styles", + "community": 35, + "norm_label": "build:styles" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L8", + "_origin": "ast", + "id": "ui_turbo_build_styles_outputs", + "community": 35, + "norm_label": "outputs" + }, + { + "label": "build:components", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L10", + "_origin": "ast", + "id": "ui_turbo_tasks_build_components", + "community": 35, + "norm_label": "build:components" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L11", + "_origin": "ast", + "id": "ui_turbo_build_components_outputs", + "community": 35, + "norm_label": "outputs" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L13", + "_origin": "ast", + "id": "ui_turbo_tasks_dev", + "community": 35, + "norm_label": "dev" + }, + { + "label": "with", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L14", + "_origin": "ast", + "id": "ui_turbo_dev_with", + "community": 35, + "norm_label": "with" + }, + { + "label": "dev:styles", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L16", + "_origin": "ast", + "id": "ui_turbo_tasks_dev_styles", + "community": 35, + "norm_label": "dev:styles" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L17", + "_origin": "ast", + "id": "ui_turbo_dev_styles_cache", + "community": 35, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L18", + "_origin": "ast", + "id": "ui_turbo_dev_styles_persistent", + "community": 35, + "norm_label": "persistent" + }, + { + "label": "dev:components", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L20", + "_origin": "ast", + "id": "ui_turbo_tasks_dev_components", + "community": 35, + "norm_label": "dev:components" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L21", + "_origin": "ast", + "id": "ui_turbo_dev_components_cache", + "community": 35, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L22", + "_origin": "ast", + "id": "ui_turbo_dev_components_persistent", + "community": 35, + "norm_label": "persistent" + }, + { + "label": "restore-workspace.js", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L1", + "_origin": "ast", + "id": "restore_workspace", + "community": 80, + "norm_label": "restore-workspace.js" + }, + { + "label": "fs", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L1", + "_origin": "ast", + "id": "restore_workspace_fs", + "community": 80, + "norm_label": "fs" + }, + { + "label": "path", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L2", + "_origin": "ast", + "id": "restore_workspace_path", + "community": 80, + "norm_label": "path" + }, + { + "label": "packagesToRestore", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L4", + "_origin": "ast", + "id": "restore_workspace_packagestorestore", + "community": 80, + "norm_label": "packagestorestore" + }, + { + "label": "restore()", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L15", + "_origin": "ast", + "id": "restore_workspace_restore", + "community": 80, + "norm_label": "restore()" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "discordbot_package", + "community": 21, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "discordbot_package_name", + "community": 21, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "discordbot_package_version", + "community": 21, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "discordbot_package_type", + "community": 21, + "norm_label": "type" + }, + { + "label": "description", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "discordbot_package_description", + "community": 21, + "norm_label": "description" + }, + { + "label": "main", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "discordbot_package_main", + "community": 21, + "norm_label": "main" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "discordbot_package_scripts", + "community": 21, + "norm_label": "scripts" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "discordbot_package_scripts_build", + "community": 21, + "norm_label": "build" + }, + { + "label": "start", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "discordbot_package_scripts_start", + "community": 21, + "norm_label": "start" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "discordbot_package_scripts_dev", + "community": 21, + "norm_label": "dev" + }, + { + "label": "keywords", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "discordbot_package_keywords", + "community": 21, + "norm_label": "keywords" + }, + { + "label": "author", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "discordbot_package_author", + "community": 21, + "norm_label": "author" + }, + { + "label": "license", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "discordbot_package_license", + "community": 21, + "norm_label": "license" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "discordbot_package_dependencies", + "community": 21, + "norm_label": "dependencies" + }, + { + "label": "discord.js", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "discordbot_package_dependencies_discord_js", + "community": 21, + "norm_label": "discord.js" + }, + { + "label": "dotenv", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "discordbot_package_dependencies_dotenv", + "community": 21, + "norm_label": "dotenv" + }, + { + "label": "fuse.js", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "discordbot_package_dependencies_fuse_js", + "community": 21, + "norm_label": "fuse.js" + }, + { + "label": "zod", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "discordbot_package_dependencies_zod", + "community": 21, + "norm_label": "zod" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "discordbot_package_devdependencies", + "community": 21, + "norm_label": "devdependencies" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "discordbot_package_devdependencies_types_node", + "community": 21, + "norm_label": "@types/node" + }, + { + "label": "tsx", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "discordbot_package_devdependencies_tsx", + "community": 21, + "norm_label": "tsx" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "discordbot_package_devdependencies_typescript", + "community": 21, + "norm_label": "typescript" + }, + { + "label": "ask.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_ask", + "community": 7, + "norm_label": "ask.ts" + }, + { + "label": "SearchableSection", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L11", + "_origin": "ast", + "id": "commands_ask_searchablesection", + "community": 7, + "norm_label": "searchablesection" + }, + { + "label": "SearchResult", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L16", + "_origin": "ast", + "id": "commands_ask_searchresult", + "community": 7, + "norm_label": "searchresult" + }, + { + "label": "SynonymExpander", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L21", + "_origin": "ast", + "id": "commands_ask_synonymexpander", + "community": 7, + "norm_label": "synonymexpander" + }, + { + "label": ".expandQuery()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L127", + "_origin": "ast", + "id": "commands_ask_synonymexpander_expandquery", + "community": 7, + "norm_label": ".expandquery()" + }, + { + "label": ".tokenize()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L136", + "_origin": "ast", + "id": "commands_ask_synonymexpander_tokenize", + "community": 7, + "norm_label": ".tokenize()" + }, + { + "label": ".addWordAndSynonyms()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L144", + "_origin": "ast", + "id": "commands_ask_synonymexpander_addwordandsynonyms", + "community": 7, + "norm_label": ".addwordandsynonyms()" + }, + { + "label": "GuideSearchEngine", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L161", + "_origin": "ast", + "id": "commands_ask_guidesearchengine", + "community": 7, + "norm_label": "guidesearchengine" + }, + { + "label": ".search()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L165", + "_origin": "ast", + "id": "commands_ask_guidesearchengine_search", + "community": 7, + "norm_label": ".search()" + }, + { + "label": ".ensureIndexReady()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L173", + "_origin": "ast", + "id": "commands_ask_guidesearchengine_ensureindexready", + "community": 7, + "norm_label": ".ensureindexready()" + }, + { + "label": ".rebuildIndex()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L178", + "_origin": "ast", + "id": "commands_ask_guidesearchengine_rebuildindex", + "community": 7, + "norm_label": ".rebuildindex()" + }, + { + "label": "SearchResultFormatter", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L203", + "_origin": "ast", + "id": "commands_ask_searchresultformatter", + "community": 7, + "norm_label": "searchresultformatter" + }, + { + "label": ".formatEmbed()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L206", + "_origin": "ast", + "id": "commands_ask_searchresultformatter_formatembed", + "community": 7, + "norm_label": ".formatembed()" + }, + { + "label": ".getWarningMessage()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L216", + "_origin": "ast", + "id": "commands_ask_searchresultformatter_getwarningmessage", + "community": 7, + "norm_label": ".getwarningmessage()" + }, + { + "label": ".getNoResultsMessage()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L222", + "_origin": "ast", + "id": "commands_ask_searchresultformatter_getnoresultsmessage", + "community": 7, + "norm_label": ".getnoresultsmessage()" + }, + { + "label": "searchEngine", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L227", + "_origin": "ast", + "id": "commands_ask_searchengine", + "community": 7, + "norm_label": "searchengine" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L229", + "_origin": "ast", + "id": "commands_ask_data", + "community": 7, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L239", + "_origin": "ast", + "id": "commands_ask_execute", + "community": 7, + "norm_label": "execute()" + }, + { + "label": "clear.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_clear", + "community": 31, + "norm_label": "clear.ts" + }, + { + "label": "ClearResult", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L13", + "_origin": "ast", + "id": "commands_clear_clearresult", + "community": 31, + "norm_label": "clearresult" + }, + { + "label": "PermissionValidator", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L19", + "_origin": "ast", + "id": "commands_clear_permissionvalidator", + "community": 31, + "norm_label": "permissionvalidator" + }, + { + "label": ".hasPermission()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L22", + "_origin": "ast", + "id": "commands_clear_permissionvalidator_haspermission", + "community": 31, + "norm_label": ".haspermission()" + }, + { + "label": ".getErrorMessage()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L27", + "_origin": "ast", + "id": "commands_clear_permissionvalidator_geterrormessage", + "community": 31, + "norm_label": ".geterrormessage()" + }, + { + "label": ".getAllowedRoles()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L32", + "_origin": "ast", + "id": "commands_clear_permissionvalidator_getallowedroles", + "community": 31, + "norm_label": ".getallowedroles()" + }, + { + "label": ".memberHasAnyRole()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L38", + "_origin": "ast", + "id": "commands_clear_permissionvalidator_memberhasanyrole", + "community": 31, + "norm_label": ".memberhasanyrole()" + }, + { + "label": "MessageCleaner", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L43", + "_origin": "ast", + "id": "commands_clear_messagecleaner", + "community": 31, + "norm_label": "messagecleaner" + }, + { + "label": ".clearMessages()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L46", + "_origin": "ast", + "id": "commands_clear_messagecleaner_clearmessages", + "community": 31, + "norm_label": ".clearmessages()" + }, + { + "label": ".fetchMessages()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L78", + "_origin": "ast", + "id": "commands_clear_messagecleaner_fetchmessages", + "community": 31, + "norm_label": ".fetchmessages()" + }, + { + "label": ".filterDeletableMessages()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L85", + "_origin": "ast", + "id": "commands_clear_messagecleaner_filterdeletablemessages", + "community": 31, + "norm_label": ".filterdeletablemessages()" + }, + { + "label": ".getErrorMessage()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L96", + "_origin": "ast", + "id": "commands_clear_messagecleaner_geterrormessage", + "community": 31, + "norm_label": ".geterrormessage()" + }, + { + "label": "ClearCommandValidator", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L109", + "_origin": "ast", + "id": "commands_clear_clearcommandvalidator", + "community": 31, + "norm_label": "clearcommandvalidator" + }, + { + "label": ".validateContext()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L110", + "_origin": "ast", + "id": "commands_clear_clearcommandvalidator_validatecontext", + "community": 31, + "norm_label": ".validatecontext()" + }, + { + "label": "ClearCommandExecutor", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L144", + "_origin": "ast", + "id": "commands_clear_clearcommandexecutor", + "community": 31, + "norm_label": "clearcommandexecutor" + }, + { + "label": ".execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L145", + "_origin": "ast", + "id": "commands_clear_clearcommandexecutor_execute", + "community": 31, + "norm_label": ".execute()" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L189", + "_origin": "ast", + "id": "commands_clear_data", + "community": 31, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L201", + "_origin": "ast", + "id": "commands_clear_execute", + "community": 31, + "norm_label": "execute()" + }, + { + "label": "guide.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_guide", + "community": 7, + "norm_label": "guide.ts" + }, + { + "label": "Guide", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L11", + "_origin": "ast", + "id": "commands_guide_guide", + "community": 7, + "norm_label": "guide" + }, + { + "label": ".getSections()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L16", + "_origin": "ast", + "id": "commands_guide_guide_getsections", + "community": 7, + "norm_label": ".getsections()" + }, + { + "label": ".getSelectMenuOptions()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L25", + "_origin": "ast", + "id": "commands_guide_guide_getselectmenuoptions", + "community": 7, + "norm_label": ".getselectmenuoptions()" + }, + { + "label": ".formatContent()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L34", + "_origin": "ast", + "id": "commands_guide_guide_formatcontent", + "community": 7, + "norm_label": ".formatcontent()" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L42", + "_origin": "ast", + "id": "commands_guide_data", + "community": 7, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L46", + "_origin": "ast", + "id": "commands_guide_execute", + "community": 7, + "norm_label": "execute()" + }, + { + "label": "handleSelectMenu()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L65", + "_origin": "ast", + "id": "commands_guide_handleselectmenu", + "community": 7, + "norm_label": "handleselectmenu()" + }, + { + "label": "meow.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_meow", + "community": 82, + "norm_label": "meow.ts" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L7", + "_origin": "ast", + "id": "commands_meow_data", + "community": 82, + "norm_label": "data" + }, + { + "label": "cooldownUsers", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L11", + "_origin": "ast", + "id": "commands_meow_cooldownusers", + "community": 82, + "norm_label": "cooldownusers" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L14", + "_origin": "ast", + "id": "commands_meow_execute", + "community": 82, + "norm_label": "execute()" + }, + { + "label": "ping.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_ping", + "community": 89, + "norm_label": "ping.ts" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L3", + "_origin": "ast", + "id": "commands_ping_data", + "community": 89, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L7", + "_origin": "ast", + "id": "commands_ping_execute", + "community": 89, + "norm_label": "execute()" + }, + { + "label": "roles.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_roles", + "community": 70, + "norm_label": "roles.ts" + }, + { + "label": "BLOCKED_ROLES", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L15", + "_origin": "ast", + "id": "commands_roles_blocked_roles", + "community": 70, + "norm_label": "blocked_roles" + }, + { + "label": "roleEmojis", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L17", + "_origin": "ast", + "id": "commands_roles_roleemojis", + "community": 70, + "norm_label": "roleemojis" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L26", + "_origin": "ast", + "id": "commands_roles_data", + "community": 70, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L31", + "_origin": "ast", + "id": "commands_roles_execute", + "community": 70, + "norm_label": "execute()" + }, + { + "label": "handleButton()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L95", + "_origin": "ast", + "id": "commands_roles_handlebutton", + "community": 70, + "norm_label": "handlebutton()" + }, + { + "label": "startEvent.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_startevent", + "community": 65, + "norm_label": "startevent.ts" + }, + { + "label": "EventScheduler", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L9", + "_origin": "ast", + "id": "commands_startevent_eventscheduler", + "community": 65, + "norm_label": "eventscheduler" + }, + { + "label": ".parseTime()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L13", + "_origin": "ast", + "id": "commands_startevent_eventscheduler_parsetime", + "community": 65, + "norm_label": ".parsetime()" + }, + { + "label": ".calculateDelay()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L19", + "_origin": "ast", + "id": "commands_startevent_eventscheduler_calculatedelay", + "community": 65, + "norm_label": ".calculatedelay()" + }, + { + "label": ".getUnixTimestamp()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L35", + "_origin": "ast", + "id": "commands_startevent_eventscheduler_getunixtimestamp", + "community": 65, + "norm_label": ".getunixtimestamp()" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L40", + "_origin": "ast", + "id": "commands_startevent_data", + "community": 65, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L71", + "_origin": "ast", + "id": "commands_startevent_execute", + "community": 65, + "norm_label": "execute()" + }, + { + "label": "deploy-commands.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/deploy-commands.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_deploy_commands", + "community": 129, + "norm_label": "deploy-commands.ts" + }, + { + "label": "env.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L1", + "_origin": "ast", + "id": "sites_discordbot_src_env_ts_src_env", + "community": 96, + "norm_label": "env.ts" + }, + { + "label": "envSchema", + "file_type": "code", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L6", + "_origin": "ast", + "id": "src_env_envschema", + "community": 96, + "norm_label": "envschema" + }, + { + "label": "env", + "file_type": "code", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L18", + "_origin": "ast", + "id": "sites_discordbot_src_env_ts_src_env_env", + "community": 96, + "norm_label": "env" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "sites_discordbot_src_index_ts_src_index", + "community": 41, + "norm_label": "index.ts" + }, + { + "label": "__filename", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L18", + "_origin": "ast", + "id": "src_index_filename", + "community": 41, + "norm_label": "__filename" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L19", + "_origin": "ast", + "id": "src_index_dirname", + "community": 41, + "norm_label": "__dirname" + }, + { + "label": "BotCommand", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L21", + "_origin": "ast", + "id": "src_index_botcommand", + "community": 41, + "norm_label": "botcommand" + }, + { + "label": "Bot", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L28", + "_origin": "ast", + "id": "src_index_bot", + "community": 41, + "norm_label": "bot" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L32", + "_origin": "ast", + "id": "src_index_bot_constructor", + "community": 41, + "norm_label": ".constructor()" + }, + { + "label": ".start()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L42", + "_origin": "ast", + "id": "src_index_bot_start", + "community": 41, + "norm_label": ".start()" + }, + { + "label": ".loadCommands()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L48", + "_origin": "ast", + "id": "src_index_bot_loadcommands", + "community": 41, + "norm_label": ".loadcommands()" + }, + { + "label": ".registerCommands()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L79", + "_origin": "ast", + "id": "src_index_bot_registercommands", + "community": 41, + "norm_label": ".registercommands()" + }, + { + "label": ".handleInteraction()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L95", + "_origin": "ast", + "id": "src_index_bot_handleinteraction", + "community": 41, + "norm_label": ".handleinteraction()" + }, + { + "label": ".handleSlashCommand()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L111", + "_origin": "ast", + "id": "src_index_bot_handleslashcommand", + "community": 41, + "norm_label": ".handleslashcommand()" + }, + { + "label": ".handleSelectMenu()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L135", + "_origin": "ast", + "id": "src_index_bot_handleselectmenu", + "community": 41, + "norm_label": ".handleselectmenu()" + }, + { + "label": ".handleButtonPress()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L156", + "_origin": "ast", + "id": "src_index_bot_handlebuttonpress", + "community": 41, + "norm_label": ".handlebuttonpress()" + }, + { + "label": "notion.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_notion", + "community": 7, + "norm_label": "notion.ts" + }, + { + "label": "GuideSections", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L3", + "_origin": "ast", + "id": "src_notion_guidesections", + "community": 7, + "norm_label": "guidesections" + }, + { + "label": "NotionBlock", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L7", + "_origin": "ast", + "id": "src_notion_notionblock", + "community": 7, + "norm_label": "notionblock" + }, + { + "label": "NotionApiResponse", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L14", + "_origin": "ast", + "id": "src_notion_notionapiresponse", + "community": 7, + "norm_label": "notionapiresponse" + }, + { + "label": "RichTextSegment", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L21", + "_origin": "ast", + "id": "src_notion_richtextsegment", + "community": 7, + "norm_label": "richtextsegment" + }, + { + "label": "notionFetch()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L36", + "_origin": "ast", + "id": "src_notion_notionfetch", + "community": 7, + "norm_label": "notionfetch()" + }, + { + "label": "getBlockChildren()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L53", + "_origin": "ast", + "id": "src_notion_getblockchildren", + "community": 7, + "norm_label": "getblockchildren()" + }, + { + "label": "extractText()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L72", + "_origin": "ast", + "id": "src_notion_extracttext", + "community": 7, + "norm_label": "extracttext()" + }, + { + "label": "cleanMarkdown()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L123", + "_origin": "ast", + "id": "src_notion_cleanmarkdown", + "community": 7, + "norm_label": "cleanmarkdown()" + }, + { + "label": "traverseBlocks()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L132", + "_origin": "ast", + "id": "src_notion_traverseblocks", + "community": 7, + "norm_label": "traverseblocks()" + }, + { + "label": "getFullGuide()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L155", + "_origin": "ast", + "id": "src_notion_getfullguide", + "community": 7, + "norm_label": "getfullguide()" + }, + { + "label": "testAsk.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L1", + "_origin": "ast", + "id": "tests_testask", + "community": 20, + "norm_label": "testask.ts" + }, + { + "label": "__filename", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L6", + "_origin": "ast", + "id": "tests_testask_filename", + "community": 20, + "norm_label": "__filename" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L7", + "_origin": "ast", + "id": "tests_testask_dirname", + "community": 20, + "norm_label": "__dirname" + }, + { + "label": "edgeCases", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L10", + "_origin": "ast", + "id": "tests_testask_edgecases", + "community": 20, + "norm_label": "edgecases" + }, + { + "label": "MockInteraction", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L26", + "_origin": "ast", + "id": "tests_testask_mockinteraction", + "community": 20, + "norm_label": "mockinteraction" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L36", + "_origin": "ast", + "id": "tests_testask_mockinteraction_constructor", + "community": 20, + "norm_label": ".constructor()" + }, + { + "label": ".isChatInputCommand()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L41", + "_origin": "ast", + "id": "tests_testask_mockinteraction_ischatinputcommand", + "community": 20, + "norm_label": ".ischatinputcommand()" + }, + { + "label": ".isButton()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L44", + "_origin": "ast", + "id": "tests_testask_mockinteraction_isbutton", + "community": 20, + "norm_label": ".isbutton()" + }, + { + "label": ".isStringSelectMenu()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L47", + "_origin": "ast", + "id": "tests_testask_mockinteraction_isstringselectmenu", + "community": 20, + "norm_label": ".isstringselectmenu()" + }, + { + "label": ".options()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L51", + "_origin": "ast", + "id": "tests_testask_mockinteraction_options", + "community": 20, + "norm_label": ".options()" + }, + { + "label": ".client()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L67", + "_origin": "ast", + "id": "tests_testask_mockinteraction_client", + "community": 20, + "norm_label": ".client()" + }, + { + "label": ".guild()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L86", + "_origin": "ast", + "id": "tests_testask_mockinteraction_guild", + "community": 20, + "norm_label": ".guild()" + }, + { + "label": ".channel()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L115", + "_origin": "ast", + "id": "tests_testask_mockinteraction_channel", + "community": 20, + "norm_label": ".channel()" + }, + { + "label": "._createMockChannel()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L119", + "_origin": "ast", + "id": "tests_testask_mockinteraction_createmockchannel", + "community": 20, + "norm_label": "._createmockchannel()" + }, + { + "label": ".deferReply()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L132", + "_origin": "ast", + "id": "tests_testask_mockinteraction_deferreply", + "community": 20, + "norm_label": ".deferreply()" + }, + { + "label": ".reply()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L137", + "_origin": "ast", + "id": "tests_testask_mockinteraction_reply", + "community": 20, + "norm_label": ".reply()" + }, + { + "label": ".editReply()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L143", + "_origin": "ast", + "id": "tests_testask_mockinteraction_editreply", + "community": 20, + "norm_label": ".editreply()" + }, + { + "label": ".followUp()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L147", + "_origin": "ast", + "id": "tests_testask_mockinteraction_followup", + "community": 20, + "norm_label": ".followup()" + }, + { + "label": ".deferUpdate()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L151", + "_origin": "ast", + "id": "tests_testask_mockinteraction_deferupdate", + "community": 20, + "norm_label": ".deferupdate()" + }, + { + "label": "._extractContent()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L155", + "_origin": "ast", + "id": "tests_testask_mockinteraction_extractcontent", + "community": 20, + "norm_label": "._extractcontent()" + }, + { + "label": "._log()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L166", + "_origin": "ast", + "id": "tests_testask_mockinteraction_log", + "community": 20, + "norm_label": "._log()" + }, + { + "label": "runSuite()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L171", + "_origin": "ast", + "id": "tests_testask_runsuite", + "community": 20, + "norm_label": "runsuite()" + }, + { + "label": "runTest()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L213", + "_origin": "ast", + "id": "tests_testask_runtest", + "community": 20, + "norm_label": "runtest()" + }, + { + "label": "start.sh", + "file_type": "code", + "source_file": "sites/discordBot/start.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "discordbot_start", + "community": 100, + "norm_label": "start.sh" + }, + { + "label": "start.sh script", + "file_type": "code", + "source_file": "sites/discordBot/start.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_bootcamp_desktop_passion_query_sites_discordbot_start_sh__entry", + "community": 100, + "norm_label": "start.sh script" + }, + { + "label": "startup.sh", + "file_type": "code", + "source_file": "sites/discordBot/startup.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "discordbot_startup", + "community": 101, + "norm_label": "startup.sh" + }, + { + "label": "startup.sh script", + "file_type": "code", + "source_file": "sites/discordBot/startup.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_bootcamp_desktop_passion_query_sites_discordbot_startup_sh__entry", + "community": 101, + "norm_label": "startup.sh script" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "discordbot_tsconfig", + "community": 29, + "norm_label": "tsconfig.json" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions", + "community": 29, + "norm_label": "compileroptions" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_rootdir", + "community": 29, + "norm_label": "rootdir" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_outdir", + "community": 29, + "norm_label": "outdir" + }, + { + "label": "target", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_target", + "community": 29, + "norm_label": "target" + }, + { + "label": "module", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_module", + "community": 29, + "norm_label": "module" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_moduleresolution", + "community": 29, + "norm_label": "moduleresolution" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_strict", + "community": 29, + "norm_label": "strict" + }, + { + "label": "noImplicitAny", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_noimplicitany", + "community": 29, + "norm_label": "noimplicitany" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_esmoduleinterop", + "community": 29, + "norm_label": "esmoduleinterop" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_resolvejsonmodule", + "community": 29, + "norm_label": "resolvejsonmodule" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_skiplibcheck", + "community": 29, + "norm_label": "skiplibcheck" + }, + { + "label": "allowSyntheticDefaultImports", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_allowsyntheticdefaultimports", + "community": 29, + "norm_label": "allowsyntheticdefaultimports" + }, + { + "label": "types", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_types", + "community": 29, + "norm_label": "types" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community": 29, + "norm_label": "forceconsistentcasinginfilenames" + }, + { + "label": "declaration", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_declaration", + "community": 29, + "norm_label": "declaration" + }, + { + "label": "sourceMap", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L17", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_sourcemap", + "community": 29, + "norm_label": "sourcemap" + }, + { + "label": "include", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L19", + "_origin": "ast", + "id": "discordbot_tsconfig_include", + "community": 29, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L20", + "_origin": "ast", + "id": "discordbot_tsconfig_exclude", + "community": 29, + "norm_label": "exclude" + }, + { + "label": "CodeOfConductFooter.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/CodeOfConductFooter.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "app_codeofconductfooter", + "community": 99, + "norm_label": "codeofconductfooter.tsx" + }, + { + "label": "CodeOfConductFooter()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/CodeOfConductFooter.tsx", + "source_location": "L4", + "_origin": "ast", + "id": "app_codeofconductfooter_codeofconductfooter", + "community": 99, + "norm_label": "codeofconductfooter()" + }, + { + "label": "layout.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_app_layout_tsx_app_layout", + "community": 43, + "norm_label": "layout.tsx" + }, + { + "label": "robotoMono", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "app_layout_robotomono", + "community": 43, + "norm_label": "robotomono" + }, + { + "label": "spaceGrotesk", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "app_layout_spacegrotesk", + "community": 43, + "norm_label": "spacegrotesk" + }, + { + "label": "metadata", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L23", + "_origin": "ast", + "id": "sites_hacklytics2027_app_layout_tsx_app_layout_metadata", + "community": 43, + "norm_label": "metadata" + }, + { + "label": "RootLayout()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L40", + "_origin": "ast", + "id": "sites_hacklytics2027_app_layout_tsx_app_layout_rootlayout", + "community": 43, + "norm_label": "rootlayout()" + }, + { + "label": "not-found.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/not-found.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_app_not_found_tsx_app_not_found", + "community": 116, + "norm_label": "not-found.tsx" + }, + { + "label": "NotFound()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/not-found.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "sites_hacklytics2027_app_not_found_tsx_app_not_found_notfound", + "community": 116, + "norm_label": "notfound()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_app_page_tsx_app_page", + "community": 53, + "norm_label": "page.tsx" + }, + { + "label": "FlowerBloom", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "app_page_flowerbloom", + "community": 53, + "norm_label": "flowerbloom" + }, + { + "label": "Countdown()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L260", + "_origin": "ast", + "id": "app_page_countdown", + "community": 53, + "norm_label": "countdown()" + }, + { + "label": "HomePage()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L370", + "_origin": "ast", + "id": "app_page_homepage", + "community": 53, + "norm_label": "homepage()" + }, + { + "label": "components.json", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_components", + "community": 44, + "norm_label": "components.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_components_schema", + "community": 44, + "norm_label": "$schema" + }, + { + "label": "style", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_components_style", + "community": 44, + "norm_label": "style" + }, + { + "label": "rsc", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L4", + "_origin": "ast", + "id": "hacklytics2027_components_rsc", + "community": 44, + "norm_label": "rsc" + }, + { + "label": "tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L5", + "_origin": "ast", + "id": "hacklytics2027_components_tsx", + "community": 44, + "norm_label": "tsx" + }, + { + "label": "tailwind", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L6", + "_origin": "ast", + "id": "hacklytics2027_components_tailwind", + "community": 44, + "norm_label": "tailwind" + }, + { + "label": "config", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L7", + "_origin": "ast", + "id": "hacklytics2027_components_tailwind_config", + "community": 44, + "norm_label": "config" + }, + { + "label": "css", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L8", + "_origin": "ast", + "id": "hacklytics2027_components_tailwind_css", + "community": 44, + "norm_label": "css" + }, + { + "label": "baseColor", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L9", + "_origin": "ast", + "id": "hacklytics2027_components_tailwind_basecolor", + "community": 44, + "norm_label": "basecolor" + }, + { + "label": "aliases", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L11", + "_origin": "ast", + "id": "hacklytics2027_components_aliases", + "community": 44, + "norm_label": "aliases" + }, + { + "label": "components", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L12", + "_origin": "ast", + "id": "hacklytics2027_components_aliases_components", + "community": 44, + "norm_label": "components" + }, + { + "label": "utils", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L13", + "_origin": "ast", + "id": "hacklytics2027_components_aliases_utils", + "community": 44, + "norm_label": "utils" + }, + { + "label": "FloatingFlowers.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_floatingflowers", + "community": 37, + "norm_label": "floatingflowers.tsx" + }, + { + "label": "CherryBlossom()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "components_floatingflowers_cherryblossom", + "community": 37, + "norm_label": "cherryblossom()" + }, + { + "label": "LotusFlower()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L49", + "_origin": "ast", + "id": "components_floatingflowers_lotusflower", + "community": 37, + "norm_label": "lotusflower()" + }, + { + "label": "SmallDaisy()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L104", + "_origin": "ast", + "id": "components_floatingflowers_smalldaisy", + "community": 37, + "norm_label": "smalldaisy()" + }, + { + "label": "FallingPetal()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L133", + "_origin": "ast", + "id": "components_floatingflowers_fallingpetal", + "community": 37, + "norm_label": "fallingpetal()" + }, + { + "label": "SpiralBloom()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L160", + "_origin": "ast", + "id": "components_floatingflowers_spiralbloom", + "community": 37, + "norm_label": "spiralbloom()" + }, + { + "label": "FlowerInstance", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L205", + "_origin": "ast", + "id": "components_floatingflowers_flowerinstance", + "community": 37, + "norm_label": "flowerinstance" + }, + { + "label": "COLORS", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L219", + "_origin": "ast", + "id": "components_floatingflowers_colors", + "community": 37, + "norm_label": "colors" + }, + { + "label": "DRIFT_CLASSES", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L234", + "_origin": "ast", + "id": "components_floatingflowers_drift_classes", + "community": 37, + "norm_label": "drift_classes" + }, + { + "label": "seededRandom()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L243", + "_origin": "ast", + "id": "components_floatingflowers_seededrandom", + "community": 37, + "norm_label": "seededrandom()" + }, + { + "label": "generateFlowers()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L251", + "_origin": "ast", + "id": "components_floatingflowers_generateflowers", + "community": 37, + "norm_label": "generateflowers()" + }, + { + "label": "FlowerRenderer", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L278", + "_origin": "ast", + "id": "components_floatingflowers_flowerrenderer", + "community": 37, + "norm_label": "flowerrenderer" + }, + { + "label": "FloatingFlowers()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L323", + "_origin": "ast", + "id": "components_floatingflowers_floatingflowers", + "community": 37, + "norm_label": "floatingflowers()" + }, + { + "label": "FlowerDivider()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L354", + "_origin": "ast", + "id": "components_floatingflowers_flowerdivider", + "community": 53, + "norm_label": "flowerdivider()" + }, + { + "label": "FlowerAccent()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L442", + "_origin": "ast", + "id": "components_floatingflowers_floweraccent", + "community": 49, + "norm_label": "floweraccent()" + }, + { + "label": "FlowerVine()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L472", + "_origin": "ast", + "id": "components_floatingflowers_flowervine", + "community": 37, + "norm_label": "flowervine()" + }, + { + "label": "Footer.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Footer.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_footer", + "community": 43, + "norm_label": "footer.tsx" + }, + { + "label": "Footer()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Footer.tsx", + "source_location": "L4", + "_origin": "ast", + "id": "components_footer_footer", + "community": 43, + "norm_label": "footer()" + }, + { + "label": "HomeSections.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_homesections", + "community": 53, + "norm_label": "homesections.tsx" + }, + { + "label": "HomeSections()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "components_homesections_homesections", + "community": 53, + "norm_label": "homesections()" + }, + { + "label": "LazySection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/LazySection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_lazysection", + "community": 53, + "norm_label": "lazysection.tsx" + }, + { + "label": "LazySection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/LazySection.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "components_lazysection_lazysection", + "community": 53, + "norm_label": "lazysection()" + }, + { + "label": "Navbar.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_navbar", + "community": 43, + "norm_label": "navbar.tsx" + }, + { + "label": "navItems", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "components_navbar_navitems", + "community": 43, + "norm_label": "navitems" + }, + { + "label": "Navbar()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "components_navbar_navbar", + "community": 43, + "norm_label": "navbar()" + }, + { + "label": "ServiceWorkerRegistrar.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ServiceWorkerRegistrar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_serviceworkerregistrar", + "community": 43, + "norm_label": "serviceworkerregistrar.tsx" + }, + { + "label": "ServiceWorkerRegistrar()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ServiceWorkerRegistrar.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "components_serviceworkerregistrar_serviceworkerregistrar", + "community": 43, + "norm_label": "serviceworkerregistrar()" + }, + { + "label": "AboutSection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_aboutsection", + "community": 49, + "norm_label": "aboutsection.tsx" + }, + { + "label": "AboutSection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "sections_aboutsection_aboutsection", + "community": 49, + "norm_label": "aboutsection()" + }, + { + "label": "FAQSection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_faqsection", + "community": 49, + "norm_label": "faqsection.tsx" + }, + { + "label": "FAQCard()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "sections_faqsection_faqcard", + "community": 49, + "norm_label": "faqcard()" + }, + { + "label": "FAQ()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L82", + "_origin": "ast", + "id": "sections_faqsection_faq", + "community": 49, + "norm_label": "faq()" + }, + { + "label": "PrizeAndSpeakerSection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_prizeandspeakersection", + "community": 76, + "norm_label": "prizeandspeakersection.tsx" + }, + { + "label": "PrizeTicket()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "sections_prizeandspeakersection_prizeticket", + "community": 76, + "norm_label": "prizeticket()" + }, + { + "label": "TrackPrizeCard()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L81", + "_origin": "ast", + "id": "sections_prizeandspeakersection_trackprizecard", + "community": 76, + "norm_label": "trackprizecard()" + }, + { + "label": "SpeakerAvatar()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L145", + "_origin": "ast", + "id": "sections_prizeandspeakersection_speakeravatar", + "community": 76, + "norm_label": "speakeravatar()" + }, + { + "label": "SpeakerCard()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L243", + "_origin": "ast", + "id": "sections_prizeandspeakersection_speakercard", + "community": 76, + "norm_label": "speakercard()" + }, + { + "label": "PrizeAndSpeakerSection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L290", + "_origin": "ast", + "id": "sections_prizeandspeakersection_prizeandspeakersection", + "community": 76, + "norm_label": "prizeandspeakersection()" + }, + { + "label": "Schedule.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "schedule_schedule", + "community": 69, + "norm_label": "schedule.tsx" + }, + { + "label": "Schedule()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "schedule_schedule_schedule", + "community": 69, + "norm_label": "schedule()" + }, + { + "label": "data.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schedule_data", + "community": 69, + "norm_label": "data.ts" + }, + { + "label": "ScheduleEvent", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schedule_data_scheduleevent", + "community": 69, + "norm_label": "scheduleevent" + }, + { + "label": "DaySchedule", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L8", + "_origin": "ast", + "id": "schedule_data_dayschedule", + "community": 69, + "norm_label": "dayschedule" + }, + { + "label": "scheduleData", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L9", + "_origin": "ast", + "id": "schedule_data_scheduledata", + "community": 69, + "norm_label": "scheduledata" + }, + { + "label": "categories", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L142", + "_origin": "ast", + "id": "schedule_data_categories", + "community": 69, + "norm_label": "categories" + }, + { + "label": "Sponsor.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_sponsor", + "community": 77, + "norm_label": "sponsor.tsx" + }, + { + "label": "goldSponsors", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "sections_sponsor_goldsponsors", + "community": 77, + "norm_label": "goldsponsors" + }, + { + "label": "silverSponsors", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "sections_sponsor_silversponsors", + "community": 77, + "norm_label": "silversponsors" + }, + { + "label": "bronzeSponsors", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "sections_sponsor_bronzesponsors", + "community": 77, + "norm_label": "bronzesponsors" + }, + { + "label": "miniSponsors", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L26", + "_origin": "ast", + "id": "sections_sponsor_minisponsors", + "community": 77, + "norm_label": "minisponsors" + }, + { + "label": "SponsorsSection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L34", + "_origin": "ast", + "id": "sections_sponsor_sponsorssection", + "community": 77, + "norm_label": "sponsorssection()" + }, + { + "label": "TracksSection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_trackssection", + "community": 49, + "norm_label": "trackssection.tsx" + }, + { + "label": "Icons", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "sections_trackssection_icons", + "community": 49, + "norm_label": "icons" + }, + { + "label": "TrackCard()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L84", + "_origin": "ast", + "id": "sections_trackssection_trackcard", + "community": 49, + "norm_label": "trackcard()" + }, + { + "label": "TracksSection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L125", + "_origin": "ast", + "id": "sections_trackssection_trackssection", + "community": 49, + "norm_label": "trackssection()" + }, + { + "label": "button.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "ui_button", + "community": 73, + "norm_label": "button.tsx" + }, + { + "label": "buttonVariants", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "ui_button_buttonvariants", + "community": 73, + "norm_label": "buttonvariants" + }, + { + "label": "ButtonProps", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L37", + "_origin": "ast", + "id": "ui_button_buttonprops", + "community": 73, + "norm_label": "buttonprops" + }, + { + "label": "Button", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L43", + "_origin": "ast", + "id": "ui_button_button", + "community": 73, + "norm_label": "button" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "sites/hacklytics2027/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "utils.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/lib/utils.ts", + "source_location": "L1", + "_origin": "ast", + "id": "lib_utils", + "community": 73, + "norm_label": "utils.ts" + }, + { + "label": "cn()", + "file_type": "code", + "source_file": "sites/hacklytics2027/lib/utils.ts", + "source_location": "L8", + "_origin": "ast", + "id": "lib_utils_cn", + "community": 73, + "norm_label": "cn()" + }, + { + "label": "next-env.d.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/next-env.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_next_env_d", + "community": 122, + "norm_label": "next-env.d.ts" + }, + { + "label": "next.config.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/next.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_next_config", + "community": 105, + "norm_label": "next.config.ts" + }, + { + "label": "nextConfig", + "file_type": "code", + "source_file": "sites/hacklytics2027/next.config.ts", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_next_config_nextconfig", + "community": 105, + "norm_label": "nextconfig" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_package", + "community": 5, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_package_name", + "community": 5, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_package_version", + "community": 5, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "hacklytics2027_package_private", + "community": 5, + "norm_label": "private" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "hacklytics2027_package_scripts", + "community": 5, + "norm_label": "scripts" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_dev", + "community": 5, + "norm_label": "dev" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_build", + "community": 5, + "norm_label": "build" + }, + { + "label": "start", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_start", + "community": 5, + "norm_label": "start" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_lint", + "community": 5, + "norm_label": "lint" + }, + { + "label": "export", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_export", + "community": 5, + "norm_label": "export" + }, + { + "label": "e2e", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_e2e", + "community": 5, + "norm_label": "e2e" + }, + { + "label": "vision", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_vision", + "community": 5, + "norm_label": "vision" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies", + "community": 5, + "norm_label": "dependencies" + }, + { + "label": "@radix-ui/react-slot", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_radix_ui_react_slot", + "community": 5, + "norm_label": "@radix-ui/react-slot" + }, + { + "label": "@yudiel/react-qr-scanner", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_yudiel_react_qr_scanner", + "community": 5, + "norm_label": "@yudiel/react-qr-scanner" + }, + { + "label": "babel-plugin-react-compiler", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_babel_plugin_react_compiler", + "community": 5, + "norm_label": "babel-plugin-react-compiler" + }, + { + "label": "class-variance-authority", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_class_variance_authority", + "community": 5, + "norm_label": "class-variance-authority" + }, + { + "label": "clsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_clsx", + "community": 5, + "norm_label": "clsx" + }, + { + "label": "firebase", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_firebase", + "community": 5, + "norm_label": "firebase" + }, + { + "label": "next", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_next", + "community": 5, + "norm_label": "next" + }, + { + "label": "react", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_react", + "community": 5, + "norm_label": "react" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_react_dom", + "community": 5, + "norm_label": "react-dom" + }, + { + "label": "react-icons", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_react_icons", + "community": 5, + "norm_label": "react-icons" + }, + { + "label": "tailwind-merge", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_tailwind_merge", + "community": 5, + "norm_label": "tailwind-merge" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies", + "community": 5, + "norm_label": "devdependencies" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_next_eslint_plugin_next", + "community": 5, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "@playwright/test", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_playwright_test", + "community": 5, + "norm_label": "@playwright/test" + }, + { + "label": "@tailwindcss/postcss", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_tailwindcss_postcss", + "community": 5, + "norm_label": "@tailwindcss/postcss" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_types_node", + "community": 5, + "norm_label": "@types/node" + }, + { + "label": "@types/react", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_types_react", + "community": 5, + "norm_label": "@types/react" + }, + { + "label": "@types/react-dom", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_types_react_dom", + "community": 5, + "norm_label": "@types/react-dom" + }, + { + "label": "autoprefixer", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_autoprefixer", + "community": 5, + "norm_label": "autoprefixer" + }, + { + "label": "baseline-browser-mapping", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_baseline_browser_mapping", + "community": 5, + "norm_label": "baseline-browser-mapping" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_eslint", + "community": 5, + "norm_label": "eslint" + }, + { + "label": "postcss", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_postcss", + "community": 5, + "norm_label": "postcss" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_tailwindcss", + "community": 5, + "norm_label": "tailwindcss" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_typescript", + "community": 5, + "norm_label": "typescript" + }, + { + "label": "typescript-eslint", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_typescript_eslint", + "community": 5, + "norm_label": "typescript-eslint" + }, + { + "label": "playwright.config.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/playwright.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_playwright_config", + "community": 123, + "norm_label": "playwright.config.ts" + }, + { + "label": "postcss.config.mjs", + "file_type": "code", + "source_file": "sites/hacklytics2027/postcss.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_postcss_config", + "community": 106, + "norm_label": "postcss.config.mjs" + }, + { + "label": "config", + "file_type": "code", + "source_file": "sites/hacklytics2027/postcss.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_postcss_config_config", + "community": 106, + "norm_label": "config" + }, + { + "label": "proxy.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_proxy", + "community": 56, + "norm_label": "proxy.ts" + }, + { + "label": "getCacheControl()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L13", + "_origin": "ast", + "id": "hacklytics2027_proxy_getcachecontrol", + "community": 56, + "norm_label": "getcachecontrol()" + }, + { + "label": "getETag()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L38", + "_origin": "ast", + "id": "hacklytics2027_proxy_getetag", + "community": 56, + "norm_label": "getetag()" + }, + { + "label": "getLastModified()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L44", + "_origin": "ast", + "id": "hacklytics2027_proxy_getlastmodified", + "community": 56, + "norm_label": "getlastmodified()" + }, + { + "label": "handleETag()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L49", + "_origin": "ast", + "id": "hacklytics2027_proxy_handleetag", + "community": 56, + "norm_label": "handleetag()" + }, + { + "label": "handleLastModified()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L60", + "_origin": "ast", + "id": "hacklytics2027_proxy_handlelastmodified", + "community": 56, + "norm_label": "handlelastmodified()" + }, + { + "label": "securityHeaders", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L71", + "_origin": "ast", + "id": "hacklytics2027_proxy_securityheaders", + "community": 56, + "norm_label": "securityheaders" + }, + { + "label": "config", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L78", + "_origin": "ast", + "id": "hacklytics2027_proxy_config", + "community": 56, + "norm_label": "config" + }, + { + "label": "proxy()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L84", + "_origin": "ast", + "id": "hacklytics2027_proxy_proxy", + "community": 56, + "norm_label": "proxy()" + }, + { + "label": "sw.js", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L1", + "_origin": "ast", + "id": "public_sw", + "community": 68, + "norm_label": "sw.js" + }, + { + "label": "PRECACHE_URLS", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L6", + "_origin": "ast", + "id": "public_sw_precache_urls", + "community": 68, + "norm_label": "precache_urls" + }, + { + "label": "isStaticAsset()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L40", + "_origin": "ast", + "id": "public_sw_isstaticasset", + "community": 68, + "norm_label": "isstaticasset()" + }, + { + "label": "isNavigationRequest()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L51", + "_origin": "ast", + "id": "public_sw_isnavigationrequest", + "community": 68, + "norm_label": "isnavigationrequest()" + }, + { + "label": "cacheFirst()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L62", + "_origin": "ast", + "id": "public_sw_cachefirst", + "community": 68, + "norm_label": "cachefirst()" + }, + { + "label": "staleWhileRevalidate()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L84", + "_origin": "ast", + "id": "public_sw_stalewhilerevalidate", + "community": 68, + "norm_label": "stalewhilerevalidate()" + }, + { + "label": "networkFirst()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L118", + "_origin": "ast", + "id": "public_sw_networkfirst", + "community": 68, + "norm_label": "networkfirst()" + }, + { + "label": "capture-vision.js", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision", + "community": 88, + "norm_label": "capture-vision.js" + }, + { + "label": "{ chromium }", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L1", + "_origin": "ast", + "id": "scripts_capture_vision_chromium", + "community": 88, + "norm_label": "{ chromium }" + }, + { + "label": "path", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L2", + "_origin": "ast", + "id": "scripts_capture_vision_path", + "community": 88, + "norm_label": "path" + }, + { + "label": "captureVision()", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L4", + "_origin": "ast", + "id": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision_capturevision", + "community": 88, + "norm_label": "capturevision()" + }, + { + "label": "capture-vision.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.ts", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_scripts_capture_vision_ts_scripts_capture_vision", + "community": 117, + "norm_label": "capture-vision.ts" + }, + { + "label": "captureVision()", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.ts", + "source_location": "L7", + "_origin": "ast", + "id": "sites_hacklytics2027_scripts_capture_vision_ts_scripts_capture_vision_capturevision", + "community": 117, + "norm_label": "capturevision()" + }, + { + "label": "frontend.spec.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/tests/frontend.spec.ts", + "source_location": "L1", + "_origin": "ast", + "id": "tests_frontend_spec", + "community": 130, + "norm_label": "frontend.spec.ts" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_tsconfig", + "community": 27, + "norm_label": "tsconfig.json" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions", + "community": 27, + "norm_label": "compileroptions" + }, + { + "label": "target", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_target", + "community": 27, + "norm_label": "target" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_lib", + "community": 27, + "norm_label": "lib" + }, + { + "label": "allowJs", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_allowjs", + "community": 27, + "norm_label": "allowjs" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_skiplibcheck", + "community": 27, + "norm_label": "skiplibcheck" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_noemit", + "community": 27, + "norm_label": "noemit" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_esmoduleinterop", + "community": 27, + "norm_label": "esmoduleinterop" + }, + { + "label": "module", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_module", + "community": 27, + "norm_label": "module" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_moduleresolution", + "community": 27, + "norm_label": "moduleresolution" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_resolvejsonmodule", + "community": 27, + "norm_label": "resolvejsonmodule" + }, + { + "label": "isolatedModules", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_isolatedmodules", + "community": 27, + "norm_label": "isolatedmodules" + }, + { + "label": "jsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_jsx", + "community": 27, + "norm_label": "jsx" + }, + { + "label": "incremental", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_incremental", + "community": 27, + "norm_label": "incremental" + }, + { + "label": "plugins", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_plugins", + "community": 27, + "norm_label": "plugins" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L20", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_paths", + "community": 27, + "norm_label": "paths" + }, + { + "label": "@/*", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L21", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_paths", + "community": 27, + "norm_label": "@/*" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L23", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_strict", + "community": 27, + "norm_label": "strict" + }, + { + "label": "include", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L25", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_include", + "community": 27, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L32", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_exclude", + "community": 27, + "norm_label": "exclude" + }, + { + "label": "turbo.json", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_turbo", + "community": 72, + "norm_label": "turbo.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_turbo_schema", + "community": 72, + "norm_label": "$schema" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_turbo_extends", + "community": 72, + "norm_label": "extends" + }, + { + "label": "tasks", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L4", + "_origin": "ast", + "id": "hacklytics2027_turbo_tasks", + "community": 72, + "norm_label": "tasks" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L5", + "_origin": "ast", + "id": "hacklytics2027_turbo_tasks_build", + "community": 72, + "norm_label": "build" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L6", + "_origin": "ast", + "id": "hacklytics2027_turbo_build_outputs", + "community": 72, + "norm_label": "outputs" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "analytics_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "StatCardProps", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "analytics_page_statcardprops", + "community": 15, + "norm_label": "statcardprops" + }, + { + "label": "AnalyticsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L22", + "_origin": "ast", + "id": "analytics_page_analyticspage", + "community": 15, + "norm_label": "analyticspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "community": 10, + "norm_label": "page.tsx" + }, + { + "label": "AttendeesPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "attendees_page_attendeespage", + "community": 10, + "norm_label": "attendeespage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "community": 18, + "norm_label": "page.tsx" + }, + { + "label": "AdminAttendeeViewer()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "attendees_page_adminattendeeviewer", + "community": 18, + "norm_label": "adminattendeeviewer()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "community": 19, + "norm_label": "page.tsx" + }, + { + "label": "Tab", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "id_page_tab", + "community": 19, + "norm_label": "tab" + }, + { + "label": "AdminHackathonDashboard()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "id_page_adminhackathondashboard", + "community": 19, + "norm_label": "adminhackathondashboard()" + }, + { + "label": "IconScanner()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L223", + "_origin": "ast", + "id": "id_page_iconscanner", + "community": 19, + "norm_label": "iconscanner()" + }, + { + "label": "IconUsers()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L241", + "_origin": "ast", + "id": "id_page_iconusers", + "community": 19, + "norm_label": "iconusers()" + }, + { + "label": "IconChart()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L259", + "_origin": "ast", + "id": "id_page_iconchart", + "community": 19, + "norm_label": "iconchart()" + }, + { + "label": "IconCalendar()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L277", + "_origin": "ast", + "id": "id_page_iconcalendar", + "community": 19, + "norm_label": "iconcalendar()" + }, + { + "label": "error.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_error_tsx_hackathons_error", + "community": 10, + "norm_label": "error.tsx" + }, + { + "label": "AdminError()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathons_error_adminerror", + "community": 10, + "norm_label": "adminerror()" + }, + { + "label": "loading.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading", + "community": 18, + "norm_label": "loading.tsx" + }, + { + "label": "Loading()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading_loading", + "community": 18, + "norm_label": "loading()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "AdminHackathonsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "hackathons_page_adminhackathonspage", + "community": 15, + "norm_label": "adminhackathonspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_page", + "community": 14, + "norm_label": "page.tsx" + }, + { + "label": "AdminResultsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L14", + "_origin": "ast", + "id": "judging_page_adminresultspage", + "community": 14, + "norm_label": "adminresultspage()" + }, + { + "label": "layout.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "admin_layout", + "community": 15, + "norm_label": "layout.tsx" + }, + { + "label": "Layout()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "admin_layout_layout", + "community": 15, + "norm_label": "layout()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "admin_page", + "community": 17, + "norm_label": "page.tsx" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "admin_page_event", + "community": 17, + "norm_label": "event" + }, + { + "label": "AdminPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "admin_page_adminpage", + "community": 17, + "norm_label": "adminpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "ProjectsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page_projectspage", + "community": 15, + "norm_label": "projectspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "settings_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "AdminSettingsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "settings_page_adminsettingspage", + "community": 15, + "norm_label": "adminsettingspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "setup_page", + "community": 34, + "norm_label": "page.tsx" + }, + { + "label": "ParsedJudge", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "setup_page_parsedjudge", + "community": 34, + "norm_label": "parsedjudge" + }, + { + "label": "ParsedProject", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "setup_page_parsedproject", + "community": 34, + "norm_label": "parsedproject" + }, + { + "label": "parseCSV()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "setup_page_parsecsv", + "community": 34, + "norm_label": "parsecsv()" + }, + { + "label": "AdminSetupPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L33", + "_origin": "ast", + "id": "setup_page_adminsetuppage", + "community": 34, + "norm_label": "adminsetuppage()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "nextauth_route", + "community": 107, + "norm_label": "route.ts" + }, + { + "label": "HEAD()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts", + "source_location": "L7", + "_origin": "ast", + "id": "nextauth_route_head", + "community": 107, + "norm_label": "head()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "verify_email_route", + "community": 2, + "norm_label": "route.ts" + }, + { + "label": "POST()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L24", + "_origin": "ast", + "id": "verify_email_route_post", + "community": 12, + "norm_label": "post()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "cleanup_audit_logs_route", + "community": 2, + "norm_label": "route.ts" + }, + { + "label": "GET()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts", + "source_location": "L5", + "_origin": "ast", + "id": "cleanup_audit_logs_route_get", + "community": 2, + "norm_label": "get()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hackathonid_route", + "community": 30, + "norm_label": "route.ts" + }, + { + "label": "GET()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L26", + "_origin": "ast", + "id": "hackathonid_route_get", + "community": 30, + "norm_label": "get()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "trpc_route", + "community": 13, + "norm_label": "route.ts" + }, + { + "label": "handler()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L4", + "_origin": "ast", + "id": "trpc_route_handler", + "community": 13, + "norm_label": "handler()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "stripe_route", + "community": 2, + "norm_label": "route.ts" + }, + { + "label": "Tx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L9", + "_origin": "ast", + "id": "stripe_route_tx", + "community": 2, + "norm_label": "tx" + }, + { + "label": "POST()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L17", + "_origin": "ast", + "id": "stripe_route_post", + "community": 2, + "norm_label": "post()" + }, + { + "label": "createOrUpdateMembership()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L160", + "_origin": "ast", + "id": "stripe_route_createorupdatemembership", + "community": 2, + "norm_label": "createorupdatemembership()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "error_page", + "community": 90, + "norm_label": "page.tsx" + }, + { + "label": "AuthErrorContent()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "error_page_autherrorcontent", + "community": 90, + "norm_label": "autherrorcontent()" + }, + { + "label": "AuthErrorPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L83", + "_origin": "ast", + "id": "error_page_autherrorpage", + "community": 90, + "norm_label": "autherrorpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "club_page", + "community": 17, + "norm_label": "page.tsx" + }, + { + "label": "Tab", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L23", + "_origin": "ast", + "id": "club_page_tab", + "community": 17, + "norm_label": "tab" + }, + { + "label": "ClubPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "club_page_clubpage", + "community": 17, + "norm_label": "clubpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "dashboard_page", + "community": 10, + "norm_label": "page.tsx" + }, + { + "label": "StatusBadge()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "dashboard_page_statusbadge", + "community": 10, + "norm_label": "statusbadge()" + }, + { + "label": "Dashboard()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L71", + "_origin": "ast", + "id": "dashboard_page_dashboard", + "community": 10, + "norm_label": "dashboard()" + }, + { + "label": "error.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "id_error", + "community": 10, + "norm_label": "error.tsx" + }, + { + "label": "Error()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "id_error_error", + "community": 10, + "norm_label": "error()" + }, + { + "label": "loading.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "id_loading", + "community": 18, + "norm_label": "loading.tsx" + }, + { + "label": "Loading()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "id_loading_loading", + "community": 18, + "norm_label": "loading()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "community": 32, + "norm_label": "page.tsx" + }, + { + "label": "formatDate()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "id_page_formatdate", + "community": 32, + "norm_label": "formatdate()" + }, + { + "label": "formatDateRange()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "id_page_formatdaterange", + "community": 32, + "norm_label": "formatdaterange()" + }, + { + "label": "statusConfig()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L37", + "_origin": "ast", + "id": "id_page_statusconfig", + "community": 32, + "norm_label": "statusconfig()" + }, + { + "label": "TabType", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L102", + "_origin": "ast", + "id": "id_page_tabtype", + "community": 32, + "norm_label": "tabtype" + }, + { + "label": "HackathonDetailPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L104", + "_origin": "ast", + "id": "id_page_hackathondetailpage", + "community": 32, + "norm_label": "hackathondetailpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "participants_page", + "community": 32, + "norm_label": "page.tsx" + }, + { + "label": "formatDate()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "participants_page_formatdate", + "community": 32, + "norm_label": "formatdate()" + }, + { + "label": "formatDateRange()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "participants_page_formatdaterange", + "community": 32, + "norm_label": "formatdaterange()" + }, + { + "label": "statusConfig()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L37", + "_origin": "ast", + "id": "participants_page_statusconfig", + "community": 32, + "norm_label": "statusconfig()" + }, + { + "label": "TabType", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L102", + "_origin": "ast", + "id": "participants_page_tabtype", + "community": 32, + "norm_label": "tabtype" + }, + { + "label": "ParticipantHackathonPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L104", + "_origin": "ast", + "id": "participants_page_participanthackathonpage", + "community": 32, + "norm_label": "participanthackathonpage()" + }, + { + "label": "error.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_error_tsx_hackathons_error", + "community": 10, + "norm_label": "error.tsx" + }, + { + "label": "Error()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathons_error_error", + "community": 10, + "norm_label": "error()" + }, + { + "label": "loading.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading", + "community": 18, + "norm_label": "loading.tsx" + }, + { + "label": "Loading()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading_loading", + "community": 18, + "norm_label": "loading()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "community": 18, + "norm_label": "page.tsx" + }, + { + "label": "HackathonStatus", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "hackathons_page_hackathonstatus", + "community": 18, + "norm_label": "hackathonstatus" + }, + { + "label": "Tab", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L26", + "_origin": "ast", + "id": "hackathons_page_tab", + "community": 18, + "norm_label": "tab" + }, + { + "label": "formatDate()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L28", + "_origin": "ast", + "id": "hackathons_page_formatdate", + "community": 18, + "norm_label": "formatdate()" + }, + { + "label": "formatDateRange()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L36", + "_origin": "ast", + "id": "hackathons_page_formatdaterange", + "community": 18, + "norm_label": "formatdaterange()" + }, + { + "label": "statusConfig()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L48", + "_origin": "ast", + "id": "hackathons_page_statusconfig", + "community": 18, + "norm_label": "statusconfig()" + }, + { + "label": "HackathonsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L121", + "_origin": "ast", + "id": "hackathons_page_hackathonspage", + "community": 18, + "norm_label": "hackathonspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judge_page", + "community": 18, + "norm_label": "page.tsx" + }, + { + "label": "HackathonData", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "judge_page_hackathondata", + "community": 18, + "norm_label": "hackathondata" + }, + { + "label": "JudgePage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L23", + "_origin": "ast", + "id": "judge_page_judgepage", + "community": 18, + "norm_label": "judgepage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "register_page", + "community": 9, + "norm_label": "page.tsx" + }, + { + "label": "JUDGE_REGISTRATION_STEPS", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L22", + "_origin": "ast", + "id": "register_page_judge_registration_steps", + "community": 9, + "norm_label": "judge_registration_steps" + }, + { + "label": "JudgeRegisterPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L29", + "_origin": "ast", + "id": "register_page_judgeregisterpage", + "community": 9, + "norm_label": "judgeregisterpage()" + }, + { + "label": "layout.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_layout", + "community": 59, + "norm_label": "layout.tsx" + }, + { + "label": "PortalLayout()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "portal_layout_portallayout", + "community": 59, + "norm_label": "portallayout()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "login_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "Home()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "login_page_home", + "community": 15, + "norm_label": "home()" + }, + { + "label": "providers.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_providers", + "community": 59, + "norm_label": "providers.tsx" + }, + { + "label": "Providers()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "portal_providers_providers", + "community": 59, + "norm_label": "providers()" + }, + { + "label": "error.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "submit_error", + "community": 10, + "norm_label": "error.tsx" + }, + { + "label": "SubmitError()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "submit_error_submiterror", + "community": 10, + "norm_label": "submiterror()" + }, + { + "label": "loading.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "submit_loading", + "community": 18, + "norm_label": "loading.tsx" + }, + { + "label": "Loading()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "submit_loading_loading", + "community": 18, + "norm_label": "loading()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "submit_page", + "community": 18, + "norm_label": "page.tsx" + }, + { + "label": "SubmitPortalContent()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "submit_page_submitportalcontent", + "community": 18, + "norm_label": "submitportalcontent()" + }, + { + "label": "SubmitPortalPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L516", + "_origin": "ast", + "id": "submit_page_submitportalpage", + "community": 18, + "norm_label": "submitportalpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "verify_page", + "community": 10, + "norm_label": "page.tsx" + }, + { + "label": "VerifyContent()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "verify_page_verifycontent", + "community": 10, + "norm_label": "verifycontent()" + }, + { + "label": "VerifyPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L294", + "_origin": "ast", + "id": "verify_page_verifypage", + "community": 10, + "norm_label": "verifypage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "bootcamp_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "curriculum", + "file_type": "code", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "bootcamp_page_curriculum", + "community": 0, + "norm_label": "curriculum" + }, + { + "label": "BootcampPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L70", + "_origin": "ast", + "id": "bootcamp_page_bootcamppage", + "community": 0, + "norm_label": "bootcamppage()" + }, + { + "label": "DocsPageClient.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "docs_docspageclient", + "community": 50, + "norm_label": "docspageclient.tsx" + }, + { + "label": "DocSection", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "docs_docspageclient_docsection", + "community": 50, + "norm_label": "docsection" + }, + { + "label": "NAV_ITEMS", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "docs_docspageclient_nav_items", + "community": 50, + "norm_label": "nav_items" + }, + { + "label": "CodeBlock()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "docs_docspageclient_codeblock", + "community": 50, + "norm_label": "codeblock()" + }, + { + "label": "InfoCard()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L89", + "_origin": "ast", + "id": "docs_docspageclient_infocard", + "community": 50, + "norm_label": "infocard()" + }, + { + "label": "ApiEndpoint()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L145", + "_origin": "ast", + "id": "docs_docspageclient_apiendpoint", + "community": 50, + "norm_label": "apiendpoint()" + }, + { + "label": "SchemaTable()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L199", + "_origin": "ast", + "id": "docs_docspageclient_schematable", + "community": 50, + "norm_label": "schematable()" + }, + { + "label": "DocsPageClient()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L255", + "_origin": "ast", + "id": "docs_docspageclient_docspageclient", + "community": 50, + "norm_label": "docspageclient()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "docs_page", + "community": 50, + "norm_label": "page.tsx" + }, + { + "label": "DocsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/page.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "docs_page_docspage", + "community": 50, + "norm_label": "docspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "events_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "EventsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "events_page_eventspage", + "community": 0, + "norm_label": "eventspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "history_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "HistoryPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "history_page_historypage", + "community": 0, + "norm_label": "historypage()" + }, + { + "label": "layout.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_layout_tsx_app_layout", + "community": 79, + "norm_label": "layout.tsx" + }, + { + "label": "metadata", + "file_type": "code", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "sites_mainweb_app_layout_tsx_app_layout_metadata", + "community": 79, + "norm_label": "metadata" + }, + { + "label": "RootLayout()", + "file_type": "code", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "sites_mainweb_app_layout_tsx_app_layout_rootlayout", + "community": 79, + "norm_label": "rootlayout()" + }, + { + "label": "not-found.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_not_found_tsx_app_not_found", + "community": 0, + "norm_label": "not-found.tsx" + }, + { + "label": "NotFound()", + "file_type": "code", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "sites_mainweb_app_not_found_tsx_app_not_found_notfound", + "community": 0, + "norm_label": "notfound()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_page_tsx_app_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "Pie", + "file_type": "code", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L28", + "_origin": "ast", + "id": "app_page_pie", + "community": 0, + "norm_label": "pie" + }, + { + "label": "PieTooltipItem", + "file_type": "code", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L39", + "_origin": "ast", + "id": "app_page_pietooltipitem", + "community": 0, + "norm_label": "pietooltipitem" + }, + { + "label": "Home()", + "file_type": "code", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L41", + "_origin": "ast", + "id": "app_page_home", + "community": 0, + "norm_label": "home()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_projects_page_tsx_projects_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "Project", + "file_type": "code", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "projects_page_project", + "community": 0, + "norm_label": "project" + }, + { + "label": "projects", + "file_type": "code", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "projects_page_projects", + "community": 0, + "norm_label": "projects" + }, + { + "label": "ProjectsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L69", + "_origin": "ast", + "id": "sites_mainweb_app_projects_page_tsx_projects_page_projectspage", + "community": 0, + "norm_label": "projectspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "status_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "StatusPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "status_page_statuspage", + "community": 0, + "norm_label": "statuspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "team_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "Team()", + "file_type": "code", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "team_page_team", + "community": 0, + "norm_label": "team()" + }, + { + "label": "demographics.js", + "file_type": "code", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L1", + "_origin": "ast", + "id": "data_demographics", + "community": 0, + "norm_label": "demographics.js" + }, + { + "label": "ClassData", + "file_type": "code", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L1", + "_origin": "ast", + "id": "data_demographics_classdata", + "community": 0, + "norm_label": "classdata" + }, + { + "label": "MajorData", + "file_type": "code", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L27", + "_origin": "ast", + "id": "data_demographics_majordata", + "community": 0, + "norm_label": "majordata" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "background_index", + "community": 10, + "norm_label": "index.tsx" + }, + { + "label": "BackgroundProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "background_index_backgroundprops", + "community": 10, + "norm_label": "backgroundprops" + }, + { + "label": "Background()", + "file_type": "code", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "background_index_background", + "community": 10, + "norm_label": "background()" + }, + { + "label": "Card.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_card", + "community": 0, + "norm_label": "card.tsx" + }, + { + "label": "CardProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_card_cardprops", + "community": 0, + "norm_label": "cardprops" + }, + { + "label": "Card()", + "file_type": "code", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "components_card_card", + "community": 0, + "norm_label": "card()" + }, + { + "label": "EventsList.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_eventslist", + "community": 0, + "norm_label": "eventslist.tsx" + }, + { + "label": "EventsList()", + "file_type": "code", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "components_eventslist_eventslist", + "community": 0, + "norm_label": "eventslist()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "footer_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "FooterProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "footer_index_footerprops", + "community": 0, + "norm_label": "footerprops" + }, + { + "label": "Footer()", + "file_type": "code", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "footer_index_footer", + "community": 0, + "norm_label": "footer()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hero_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "HeroProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "hero_index_heroprops", + "community": 0, + "norm_label": "heroprops" + }, + { + "label": "Hero()", + "file_type": "code", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "hero_index_hero", + "community": 0, + "norm_label": "hero()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "navbar_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "NavbarProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "navbar_index_navbarprops", + "community": 0, + "norm_label": "navbarprops" + }, + { + "label": "Navbar()", + "file_type": "code", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "navbar_index_navbar", + "community": 0, + "norm_label": "navbar()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "section_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "SectionProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "section_index_sectionprops", + "community": 0, + "norm_label": "sectionprops" + }, + { + "label": "Section()", + "file_type": "code", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "section_index_section", + "community": 0, + "norm_label": "section()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "smallhero_index", + "community": 97, + "norm_label": "index.tsx" + }, + { + "label": "SmallHeroProps", + "file_type": "code", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "smallhero_index_smallheroprops", + "community": 97, + "norm_label": "smallheroprops" + }, + { + "label": "SmallHero()", + "file_type": "code", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "smallhero_index_smallhero", + "community": 97, + "norm_label": "smallhero()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "teamcard_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "TeamCardProps", + "file_type": "code", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "teamcard_index_teamcardprops", + "community": 0, + "norm_label": "teamcardprops" + }, + { + "label": "TeamCard()", + "file_type": "code", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "teamcard_index_teamcard", + "community": 0, + "norm_label": "teamcard()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "major_index", + "community": 93, + "norm_label": "index.tsx" + }, + { + "label": "MajorProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "major_index_majorprops", + "community": 93, + "norm_label": "majorprops" + }, + { + "label": "Major()", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "major_index_major", + "community": 93, + "norm_label": "major()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "mini_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "MiniProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "mini_index_miniprops", + "community": 0, + "norm_label": "miniprops" + }, + { + "label": "Mini()", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "mini_index_mini", + "community": 0, + "norm_label": "mini()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "minor_index", + "community": 94, + "norm_label": "index.tsx" + }, + { + "label": "MinorProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "minor_index_minorprops", + "community": 94, + "norm_label": "minorprops" + }, + { + "label": "Minor()", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "minor_index_minor", + "community": 94, + "norm_label": "minor()" + }, + { + "label": "EventHeader.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/events/EventHeader.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "events_eventheader", + "community": 104, + "norm_label": "eventheader.tsx" + }, + { + "label": "EventHeader()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/events/EventHeader.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "events_eventheader_eventheader", + "community": 104, + "norm_label": "eventheader()" + }, + { + "label": "AnalyticsTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_analyticstab", + "community": 19, + "norm_label": "analyticstab.tsx" + }, + { + "label": "AnalyticsTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathons_analyticstab_analyticstab", + "community": 19, + "norm_label": "analyticstab()" + }, + { + "label": "AttendeesTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_attendeestab", + "community": 19, + "norm_label": "attendeestab.tsx" + }, + { + "label": "RegistrationStatus", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "hackathons_attendeestab_registrationstatus", + "community": 19, + "norm_label": "registrationstatus" + }, + { + "label": "statusColors()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L27", + "_origin": "ast", + "id": "hackathons_attendeestab_statuscolors", + "community": 19, + "norm_label": "statuscolors()" + }, + { + "label": "statusIcon()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L44", + "_origin": "ast", + "id": "hackathons_attendeestab_statusicon", + "community": 19, + "norm_label": "statusicon()" + }, + { + "label": "AttendeesTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L61", + "_origin": "ast", + "id": "hackathons_attendeestab_attendeestab", + "community": 19, + "norm_label": "attendeestab()" + }, + { + "label": "CreateHackathonForm.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_createhackathonform", + "community": 15, + "norm_label": "createhackathonform.tsx" + }, + { + "label": "CreateHackathonForm()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathons_createhackathonform_createhackathonform", + "community": 15, + "norm_label": "createhackathonform()" + }, + { + "label": "EditHackathonForm.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_edithackathonform", + "community": 15, + "norm_label": "edithackathonform.tsx" + }, + { + "label": "EditHackathonForm()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "hackathons_edithackathonform_edithackathonform", + "community": 15, + "norm_label": "edithackathonform()" + }, + { + "label": "EventsTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_eventstab", + "community": 19, + "norm_label": "eventstab.tsx" + }, + { + "label": "EventType", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "hackathons_eventstab_eventtype", + "community": 19, + "norm_label": "eventtype" + }, + { + "label": "EVENT_TYPES", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "hackathons_eventstab_event_types", + "community": 19, + "norm_label": "event_types" + }, + { + "label": "getTypeMeta()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L59", + "_origin": "ast", + "id": "hackathons_eventstab_gettypemeta", + "community": 19, + "norm_label": "gettypemeta()" + }, + { + "label": "EventFormData", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L63", + "_origin": "ast", + "id": "hackathons_eventstab_eventformdata", + "community": 19, + "norm_label": "eventformdata" + }, + { + "label": "emptyForm", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L73", + "_origin": "ast", + "id": "hackathons_eventstab_emptyform", + "community": 19, + "norm_label": "emptyform" + }, + { + "label": "EventsTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L83", + "_origin": "ast", + "id": "hackathons_eventstab_eventstab", + "community": 19, + "norm_label": "eventstab()" + }, + { + "label": "HackathonCard.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_hackathoncard", + "community": 15, + "norm_label": "hackathoncard.tsx" + }, + { + "label": "HackathonCard()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "hackathons_hackathoncard_hackathoncard", + "community": 15, + "norm_label": "hackathoncard()" + }, + { + "label": "JudgesTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_judgestab", + "community": 19, + "norm_label": "judgestab.tsx" + }, + { + "label": "JudgesTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "hackathons_judgestab_judgestab", + "community": 19, + "norm_label": "judgestab()" + }, + { + "label": "ScannerTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_scannertab", + "community": 17, + "norm_label": "scannertab.tsx" + }, + { + "label": "ScannerTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "hackathons_scannertab_scannertab", + "community": 17, + "norm_label": "scannertab()" + }, + { + "label": "constants.ts", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_constants", + "community": 15, + "norm_label": "constants.ts" + }, + { + "label": "HackathonStatus", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_constants_hackathonstatus", + "community": 15, + "norm_label": "hackathonstatus" + }, + { + "label": "STATUSES", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L9", + "_origin": "ast", + "id": "hackathons_constants_statuses", + "community": 15, + "norm_label": "statuses" + }, + { + "label": "getStatusMeta()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L60", + "_origin": "ast", + "id": "hackathons_constants_getstatusmeta", + "community": 15, + "norm_label": "getstatusmeta()" + }, + { + "label": "toInputDate()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L66", + "_origin": "ast", + "id": "hackathons_constants_toinputdate", + "community": 15, + "norm_label": "toinputdate()" + }, + { + "label": "JudgeMatrixView.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_judgematrixview", + "community": 14, + "norm_label": "judgematrixview.tsx" + }, + { + "label": "Project", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "judging_judgematrixview_project", + "community": 14, + "norm_label": "project" + }, + { + "label": "Vote", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "judging_judgematrixview_vote", + "community": 14, + "norm_label": "vote" + }, + { + "label": "Ranking", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "judging_judgematrixview_ranking", + "community": 14, + "norm_label": "ranking" + }, + { + "label": "RankingsData", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L24", + "_origin": "ast", + "id": "judging_judgematrixview_rankingsdata", + "community": 14, + "norm_label": "rankingsdata" + }, + { + "label": "JudgeMatrixViewProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L28", + "_origin": "ast", + "id": "judging_judgematrixview_judgematrixviewprops", + "community": 14, + "norm_label": "judgematrixviewprops" + }, + { + "label": "JudgeMatrixView()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L32", + "_origin": "ast", + "id": "judging_judgematrixview_judgematrixview", + "community": 14, + "norm_label": "judgematrixview()" + }, + { + "label": "JudgingTools.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_judgingtools", + "community": 14, + "norm_label": "judgingtools.tsx" + }, + { + "label": "Hackathon", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "judging_judgingtools_hackathon", + "community": 14, + "norm_label": "hackathon" + }, + { + "label": "JudgingToolsProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "judging_judgingtools_judgingtoolsprops", + "community": 14, + "norm_label": "judgingtoolsprops" + }, + { + "label": "JudgingTools()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L24", + "_origin": "ast", + "id": "judging_judgingtools_judgingtools", + "community": 14, + "norm_label": "judgingtools()" + }, + { + "label": "RankingsView.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_rankingsview", + "community": 14, + "norm_label": "rankingsview.tsx" + }, + { + "label": "Project", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "judging_rankingsview_project", + "community": 14, + "norm_label": "project" + }, + { + "label": "Vote", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "judging_rankingsview_vote", + "community": 14, + "norm_label": "vote" + }, + { + "label": "Ranking", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L30", + "_origin": "ast", + "id": "judging_rankingsview_ranking", + "community": 14, + "norm_label": "ranking" + }, + { + "label": "Tie", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L47", + "_origin": "ast", + "id": "judging_rankingsview_tie", + "community": 14, + "norm_label": "tie" + }, + { + "label": "RankingsData", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L57", + "_origin": "ast", + "id": "judging_rankingsview_rankingsdata", + "community": 14, + "norm_label": "rankingsdata" + }, + { + "label": "ProcessedRanking", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L64", + "_origin": "ast", + "id": "judging_rankingsview_processedranking", + "community": 14, + "norm_label": "processedranking" + }, + { + "label": "Judge", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L68", + "_origin": "ast", + "id": "judging_rankingsview_judge", + "community": 14, + "norm_label": "judge" + }, + { + "label": "RankingsViewProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L83", + "_origin": "ast", + "id": "judging_rankingsview_rankingsviewprops", + "community": 14, + "norm_label": "rankingsviewprops" + }, + { + "label": "RankingsView()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L91", + "_origin": "ast", + "id": "judging_rankingsview_rankingsview", + "community": 14, + "norm_label": "rankingsview()" + }, + { + "label": "RoomAssignmentsView.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_roomassignmentsview", + "community": 14, + "norm_label": "roomassignmentsview.tsx" + }, + { + "label": "Project", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "judging_roomassignmentsview_project", + "community": 14, + "norm_label": "project" + }, + { + "label": "Ranking", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "judging_roomassignmentsview_ranking", + "community": 14, + "norm_label": "ranking" + }, + { + "label": "RankingsData", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "judging_roomassignmentsview_rankingsdata", + "community": 14, + "norm_label": "rankingsdata" + }, + { + "label": "RoomAssignmentsViewProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L29", + "_origin": "ast", + "id": "judging_roomassignmentsview_roomassignmentsviewprops", + "community": 14, + "norm_label": "roomassignmentsviewprops" + }, + { + "label": "RoomAssignmentsView()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L33", + "_origin": "ast", + "id": "judging_roomassignmentsview_roomassignmentsview", + "community": 14, + "norm_label": "roomassignmentsview()" + }, + { + "label": "CreateHackathonStep.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "setup_createhackathonstep", + "community": 34, + "norm_label": "createhackathonstep.tsx" + }, + { + "label": "Hackathon", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "setup_createhackathonstep_hackathon", + "community": 34, + "norm_label": "hackathon" + }, + { + "label": "CreateHackathonStepProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "setup_createhackathonstep_createhackathonstepprops", + "community": 34, + "norm_label": "createhackathonstepprops" + }, + { + "label": "CreateHackathonStep()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L26", + "_origin": "ast", + "id": "setup_createhackathonstep_createhackathonstep", + "community": 34, + "norm_label": "createhackathonstep()" + }, + { + "label": "ImportDataStep.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "setup_importdatastep", + "community": 34, + "norm_label": "importdatastep.tsx" + }, + { + "label": "ParsedJudge", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "setup_importdatastep_parsedjudge", + "community": 34, + "norm_label": "parsedjudge" + }, + { + "label": "ParsedProject", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "setup_importdatastep_parsedproject", + "community": 34, + "norm_label": "parsedproject" + }, + { + "label": "ImportJudgesStep()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "setup_importdatastep_importjudgesstep", + "community": 34, + "norm_label": "importjudgesstep()" + }, + { + "label": "ImportProjectsStep()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L134", + "_origin": "ast", + "id": "setup_importdatastep_importprojectsstep", + "community": 34, + "norm_label": "importprojectsstep()" + }, + { + "label": "SetupWizard.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "setup_setupwizard", + "community": 34, + "norm_label": "setupwizard.tsx" + }, + { + "label": "StepProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "setup_setupwizard_stepprops", + "community": 34, + "norm_label": "stepprops" + }, + { + "label": "SetupWizard()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "setup_setupwizard_setupwizard", + "community": 34, + "norm_label": "setupwizard()" + }, + { + "label": "FormComponents.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_formcomponents", + "community": 9, + "norm_label": "formcomponents.tsx" + }, + { + "label": "FormInputProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathon_formcomponents_forminputprops", + "community": 9, + "norm_label": "forminputprops" + }, + { + "label": "FormInput()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "hackathon_formcomponents_forminput", + "community": 9, + "norm_label": "forminput()" + }, + { + "label": "FormTextareaProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L37", + "_origin": "ast", + "id": "hackathon_formcomponents_formtextareaprops", + "community": 9, + "norm_label": "formtextareaprops" + }, + { + "label": "FormTextarea()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L44", + "_origin": "ast", + "id": "hackathon_formcomponents_formtextarea", + "community": 9, + "norm_label": "formtextarea()" + }, + { + "label": "FormChipSelectProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L68", + "_origin": "ast", + "id": "hackathon_formcomponents_formchipselectprops", + "community": 9, + "norm_label": "formchipselectprops" + }, + { + "label": "FormChipSelect()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L77", + "_origin": "ast", + "id": "hackathon_formcomponents_formchipselect", + "community": 9, + "norm_label": "formchipselect()" + }, + { + "label": "FormMultiChipSelectProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L111", + "_origin": "ast", + "id": "hackathon_formcomponents_formmultichipselectprops", + "community": 9, + "norm_label": "formmultichipselectprops" + }, + { + "label": "FormMultiChipSelect()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L119", + "_origin": "ast", + "id": "hackathon_formcomponents_formmultichipselect", + "community": 9, + "norm_label": "formmultichipselect()" + }, + { + "label": "SearchableSelectProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L164", + "_origin": "ast", + "id": "hackathon_formcomponents_searchableselectprops", + "community": 9, + "norm_label": "searchableselectprops" + }, + { + "label": "SearchableSelect()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L174", + "_origin": "ast", + "id": "hackathon_formcomponents_searchableselect", + "community": 9, + "norm_label": "searchableselect()" + }, + { + "label": "StepProgressProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L243", + "_origin": "ast", + "id": "hackathon_formcomponents_stepprogressprops", + "community": 9, + "norm_label": "stepprogressprops" + }, + { + "label": "StepProgress()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L248", + "_origin": "ast", + "id": "hackathon_formcomponents_stepprogress", + "community": 9, + "norm_label": "stepprogress()" + }, + { + "label": "StepContainer()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L271", + "_origin": "ast", + "id": "hackathon_formcomponents_stepcontainer", + "community": 9, + "norm_label": "stepcontainer()" + }, + { + "label": "FormErrorAlert()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L290", + "_origin": "ast", + "id": "hackathon_formcomponents_formerroralert", + "community": 9, + "norm_label": "formerroralert()" + }, + { + "label": "FormNavigationProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L314", + "_origin": "ast", + "id": "hackathon_formcomponents_formnavigationprops", + "community": 9, + "norm_label": "formnavigationprops" + }, + { + "label": "FormNavigation()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L324", + "_origin": "ast", + "id": "hackathon_formcomponents_formnavigation", + "community": 9, + "norm_label": "formnavigation()" + }, + { + "label": "InfoTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_infotab", + "community": 9, + "norm_label": "infotab.tsx" + }, + { + "label": "RegistrationStep", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L28", + "_origin": "ast", + "id": "hackathon_infotab_registrationstep", + "community": 9, + "norm_label": "registrationstep" + }, + { + "label": "formatDate()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L30", + "_origin": "ast", + "id": "hackathon_infotab_formatdate", + "community": 9, + "norm_label": "formatdate()" + }, + { + "label": "InfoTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L38", + "_origin": "ast", + "id": "hackathon_infotab_infotab", + "community": 9, + "norm_label": "infotab()" + }, + { + "label": "ProjectsTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_projectstab", + "community": 32, + "norm_label": "projectstab.tsx" + }, + { + "label": "ProjectsTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathon_projectstab_projectstab", + "community": 32, + "norm_label": "projectstab()" + }, + { + "label": "ScheduleTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_scheduletab", + "community": 32, + "norm_label": "scheduletab.tsx" + }, + { + "label": "ScheduleTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "hackathon_scheduletab_scheduletab", + "community": 32, + "norm_label": "scheduletab()" + }, + { + "label": "TeamsTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_teamstab", + "community": 32, + "norm_label": "teamstab.tsx" + }, + { + "label": "TeamsTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "hackathon_teamstab_teamstab", + "community": 32, + "norm_label": "teamstab()" + }, + { + "label": "constants.ts", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_constants", + "community": 9, + "norm_label": "constants.ts" + }, + { + "label": "SHIRT_SIZES", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L3", + "_origin": "ast", + "id": "hackathon_constants_shirt_sizes", + "community": 9, + "norm_label": "shirt_sizes" + }, + { + "label": "ShirtSize", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L4", + "_origin": "ast", + "id": "hackathon_constants_shirtsize", + "community": 9, + "norm_label": "shirtsize" + }, + { + "label": "DIETARY_OPTIONS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L6", + "_origin": "ast", + "id": "hackathon_constants_dietary_options", + "community": 9, + "norm_label": "dietary_options" + }, + { + "label": "LEVELS_OF_STUDY", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L17", + "_origin": "ast", + "id": "hackathon_constants_levels_of_study", + "community": 9, + "norm_label": "levels_of_study" + }, + { + "label": "LevelOfStudy", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L26", + "_origin": "ast", + "id": "hackathon_constants_levelofstudy", + "community": 9, + "norm_label": "levelofstudy" + }, + { + "label": "GENDERS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L28", + "_origin": "ast", + "id": "hackathon_constants_genders", + "community": 9, + "norm_label": "genders" + }, + { + "label": "REGISTRATION_STEPS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L36", + "_origin": "ast", + "id": "hackathon_constants_registration_steps", + "community": 9, + "norm_label": "registration_steps" + }, + { + "label": "SCHOOLS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L44", + "_origin": "ast", + "id": "hackathon_constants_schools", + "community": 9, + "norm_label": "schools" + }, + { + "label": "MAJORS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L98", + "_origin": "ast", + "id": "hackathon_constants_majors", + "community": 9, + "norm_label": "majors" + }, + { + "label": "AdminLayout.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_adminlayout", + "community": 15, + "norm_label": "adminlayout.tsx" + }, + { + "label": "AdminLayout()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "portal_adminlayout_adminlayout", + "community": 15, + "norm_label": "adminlayout()" + }, + { + "label": "EventFormModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_eventformmodal", + "community": 17, + "norm_label": "eventformmodal.tsx" + }, + { + "label": "EventFormData", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "portal_eventformmodal_eventformdata", + "community": 17, + "norm_label": "eventformdata" + }, + { + "label": "EventFormModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "portal_eventformmodal_eventformmodalprops", + "community": 17, + "norm_label": "eventformmodalprops" + }, + { + "label": "getCurrentDateTimeLocal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "portal_eventformmodal_getcurrentdatetimelocal", + "community": 17, + "norm_label": "getcurrentdatetimelocal()" + }, + { + "label": "EventFormModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L26", + "_origin": "ast", + "id": "portal_eventformmodal_eventformmodal", + "community": 17, + "norm_label": "eventformmodal()" + }, + { + "label": "LinkStripeAccount.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_linkstripeaccount", + "community": 10, + "norm_label": "linkstripeaccount.tsx" + }, + { + "label": "LinkStripeAccountProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "portal_linkstripeaccount_linkstripeaccountprops", + "community": 10, + "norm_label": "linkstripeaccountprops" + }, + { + "label": "LinkStripeAccount()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "portal_linkstripeaccount_linkstripeaccount", + "community": 10, + "norm_label": "linkstripeaccount()" + }, + { + "label": "LiquidGlass.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_liquidglass", + "community": 10, + "norm_label": "liquidglass.tsx" + }, + { + "label": "LiquidGlassProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "portal_liquidglass_liquidglassprops", + "community": 10, + "norm_label": "liquidglassprops" + }, + { + "label": "LiquidGlass()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "portal_liquidglass_liquidglass", + "community": 10, + "norm_label": "liquidglass()" + }, + { + "label": "LoadingScreen.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_loadingscreen", + "community": 18, + "norm_label": "loadingscreen.tsx" + }, + { + "label": "LoadingScreenProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "portal_loadingscreen_loadingscreenprops", + "community": 18, + "norm_label": "loadingscreenprops" + }, + { + "label": "LoadingScreen()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "portal_loadingscreen_loadingscreen", + "community": 18, + "norm_label": "loadingscreen()" + }, + { + "label": "ModalWrapper.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_modalwrapper", + "community": 17, + "norm_label": "modalwrapper.tsx" + }, + { + "label": "ModalWrapperProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "portal_modalwrapper_modalwrapperprops", + "community": 17, + "norm_label": "modalwrapperprops" + }, + { + "label": "maxWidthClasses", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "portal_modalwrapper_maxwidthclasses", + "community": 17, + "norm_label": "maxwidthclasses" + }, + { + "label": "ModalWrapper()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "portal_modalwrapper_modalwrapper", + "community": 17, + "norm_label": "modalwrapper()" + }, + { + "label": "PortalSidebar.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_portalsidebar", + "community": 59, + "norm_label": "portalsidebar.tsx" + }, + { + "label": "PortalSidebarProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L29", + "_origin": "ast", + "id": "portal_portalsidebar_portalsidebarprops", + "community": 59, + "norm_label": "portalsidebarprops" + }, + { + "label": "PortalSidebar()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L34", + "_origin": "ast", + "id": "portal_portalsidebar_portalsidebar", + "community": 59, + "norm_label": "portalsidebar()" + }, + { + "label": "PortalWrapper.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalWrapper.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_portalwrapper", + "community": 59, + "norm_label": "portalwrapper.tsx" + }, + { + "label": "PortalWrapper()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalWrapper.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "portal_portalwrapper_portalwrapper", + "community": 59, + "norm_label": "portalwrapper()" + }, + { + "label": "ProgressBar.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_progressbar", + "community": 95, + "norm_label": "progressbar.tsx" + }, + { + "label": "ProgressBarProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "portal_progressbar_progressbarprops", + "community": 95, + "norm_label": "progressbarprops" + }, + { + "label": "ProgressBar()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "portal_progressbar_progressbar", + "community": 95, + "norm_label": "progressbar()" + }, + { + "label": "QRCodeModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_qrcodemodal", + "community": 17, + "norm_label": "qrcodemodal.tsx" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "portal_qrcodemodal_event", + "community": 17, + "norm_label": "event" + }, + { + "label": "QRCodeModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "portal_qrcodemodal_qrcodemodalprops", + "community": 17, + "norm_label": "qrcodemodalprops" + }, + { + "label": "QRCodeModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L24", + "_origin": "ast", + "id": "portal_qrcodemodal_qrcodemodal", + "community": 17, + "norm_label": "qrcodemodal()" + }, + { + "label": "QRScannerModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_qrscannermodal", + "community": 17, + "norm_label": "qrscannermodal.tsx" + }, + { + "label": "QRScannerModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "portal_qrscannermodal_qrscannermodalprops", + "community": 17, + "norm_label": "qrscannermodalprops" + }, + { + "label": "QRScannerModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "portal_qrscannermodal_qrscannermodal", + "community": 17, + "norm_label": "qrscannermodal()" + }, + { + "label": "ScanResultModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_scanresultmodal", + "community": 17, + "norm_label": "scanresultmodal.tsx" + }, + { + "label": "ScanResultModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "portal_scanresultmodal_scanresultmodalprops", + "community": 17, + "norm_label": "scanresultmodalprops" + }, + { + "label": "ScanResultModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "portal_scanresultmodal_scanresultmodal", + "community": 17, + "norm_label": "scanresultmodal()" + }, + { + "label": "StatusScreen.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_statusscreen", + "community": 75, + "norm_label": "statusscreen.tsx" + }, + { + "label": "StatusVariant", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "portal_statusscreen_statusvariant", + "community": 75, + "norm_label": "statusvariant" + }, + { + "label": "StatusScreenProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "portal_statusscreen_statusscreenprops", + "community": 75, + "norm_label": "statusscreenprops" + }, + { + "label": "variantConfig", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "portal_statusscreen_variantconfig", + "community": 75, + "norm_label": "variantconfig" + }, + { + "label": "actionVariantClasses", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L77", + "_origin": "ast", + "id": "portal_statusscreen_actionvariantclasses", + "community": 75, + "norm_label": "actionvariantclasses" + }, + { + "label": "StatusScreen()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L86", + "_origin": "ast", + "id": "portal_statusscreen_statusscreen", + "community": 75, + "norm_label": "statusscreen()" + }, + { + "label": "FeatureCard.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "dashboard_featurecard", + "community": 83, + "norm_label": "featurecard.tsx" + }, + { + "label": "FeatureCardProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "dashboard_featurecard_featurecardprops", + "community": 83, + "norm_label": "featurecardprops" + }, + { + "label": "variantClasses", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "dashboard_featurecard_variantclasses", + "community": 83, + "norm_label": "variantclasses" + }, + { + "label": "FeatureCard()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L59", + "_origin": "ast", + "id": "dashboard_featurecard_featurecard", + "community": 83, + "norm_label": "featurecard()" + }, + { + "label": "Sidebar.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "dashboard_sidebar", + "community": 10, + "norm_label": "sidebar.tsx" + }, + { + "label": "SidebarProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "dashboard_sidebar_sidebarprops", + "community": 10, + "norm_label": "sidebarprops" + }, + { + "label": "Sidebar()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L22", + "_origin": "ast", + "id": "dashboard_sidebar_sidebar", + "community": 10, + "norm_label": "sidebar()" + }, + { + "label": "RubricSlider.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judge_rubricslider", + "community": 85, + "norm_label": "rubricslider.tsx" + }, + { + "label": "RubricSliderProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "judge_rubricslider_rubricsliderprops", + "community": 85, + "norm_label": "rubricsliderprops" + }, + { + "label": "RubricSlider()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "judge_rubricslider_rubricslider", + "community": 85, + "norm_label": "rubricslider()" + }, + { + "label": "RubricSliderStyles()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L106", + "_origin": "ast", + "id": "judge_rubricslider_rubricsliderstyles", + "community": 85, + "norm_label": "rubricsliderstyles()" + }, + { + "label": "ZoneMapModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judge_zonemapmodal", + "community": 78, + "norm_label": "zonemapmodal.tsx" + }, + { + "label": "ZONE_MAPS", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "judge_zonemapmodal_zone_maps", + "community": 78, + "norm_label": "zone_maps" + }, + { + "label": "ZoneMapModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "judge_zonemapmodal_zonemapmodalprops", + "community": 78, + "norm_label": "zonemapmodalprops" + }, + { + "label": "ZoneMapModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "judge_zonemapmodal_zonemapmodal", + "community": 78, + "norm_label": "zonemapmodal()" + }, + { + "label": "ViewMapButton()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L172", + "_origin": "ast", + "id": "judge_zonemapmodal_viewmapbutton", + "community": 78, + "norm_label": "viewmapbutton()" + }, + { + "label": "MemberForm.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "profile_memberform", + "community": 60, + "norm_label": "memberform.tsx" + }, + { + "label": "Member", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "profile_memberform_member", + "community": 60, + "norm_label": "member" + }, + { + "label": "MemberForm()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "profile_memberform_memberform", + "community": 60, + "norm_label": "memberform()" + }, + { + "label": "MembershipCard.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "profile_membershipcard", + "community": 10, + "norm_label": "membershipcard.tsx" + }, + { + "label": "MemberStatus", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L4", + "_origin": "ast", + "id": "profile_membershipcard_memberstatus", + "community": 10, + "norm_label": "memberstatus" + }, + { + "label": "MemberData", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "profile_membershipcard_memberdata", + "community": 10, + "norm_label": "memberdata" + }, + { + "label": "MembershipCard()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "profile_membershipcard_membershipcard", + "community": 10, + "norm_label": "membershipcard()" + }, + { + "label": "ProfileForm.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "profile_profileform", + "community": 60, + "norm_label": "profileform.tsx" + }, + { + "label": "ProfileFormProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "profile_profileform_profileformprops", + "community": 60, + "norm_label": "profileformprops" + }, + { + "label": "ProfileForm()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "profile_profileform_profileform", + "community": 60, + "norm_label": "profileform()" + }, + { + "label": "SkillsInterestsInput.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "profile_skillsinterestsinput", + "community": 60, + "norm_label": "skillsinterestsinput.tsx" + }, + { + "label": "SkillsInterestsInputProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "profile_skillsinterestsinput_skillsinterestsinputprops", + "community": 60, + "norm_label": "skillsinterestsinputprops" + }, + { + "label": "SkillsInterestsInput()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L14", + "_origin": "ast", + "id": "profile_skillsinterestsinput_skillsinterestsinput", + "community": 60, + "norm_label": "skillsinterestsinput()" + }, + { + "label": "eslint.config.js", + "file_type": "code", + "source_file": "sites/mainweb/eslint.config.js", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_eslint_config", + "community": 39, + "norm_label": "eslint.config.js" + }, + { + "label": "trpc-provider.tsx", + "file_type": "code", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "lib_trpc_provider", + "community": 79, + "norm_label": "trpc-provider.tsx" + }, + { + "label": "TRPCReactProvider()", + "file_type": "code", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "lib_trpc_provider_trpcreactprovider", + "community": 79, + "norm_label": "trpcreactprovider()" + }, + { + "label": "trpc.tsx", + "file_type": "code", + "source_file": "sites/mainweb/lib/trpc.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "lib_trpc", + "community": 15, + "norm_label": "trpc.tsx" + }, + { + "label": "trpc", + "file_type": "code", + "source_file": "sites/mainweb/lib/trpc.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "lib_trpc_trpc", + "community": 15, + "norm_label": "trpc" + }, + { + "label": "use-judging-stream.ts", + "file_type": "code", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L1", + "_origin": "ast", + "id": "lib_use_judging_stream", + "community": 91, + "norm_label": "use-judging-stream.ts" + }, + { + "label": "JudgingSnapshot", + "file_type": "code", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L5", + "_origin": "ast", + "id": "lib_use_judging_stream_judgingsnapshot", + "community": 91, + "norm_label": "judgingsnapshot" + }, + { + "label": "useJudgingStream()", + "file_type": "code", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L23", + "_origin": "ast", + "id": "lib_use_judging_stream_usejudgingstream", + "community": 91, + "norm_label": "usejudgingstream()" + }, + { + "label": "next-env.d.ts", + "file_type": "code", + "source_file": "sites/mainweb/next-env.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_next_env_d", + "community": 125, + "norm_label": "next-env.d.ts" + }, + { + "label": "next.config.mjs", + "file_type": "code", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_next_config", + "community": 86, + "norm_label": "next.config.mjs" + }, + { + "label": "__filename", + "file_type": "code", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L4", + "_origin": "ast", + "id": "mainweb_next_config_filename", + "community": 86, + "norm_label": "__filename" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L5", + "_origin": "ast", + "id": "mainweb_next_config_dirname", + "community": 86, + "norm_label": "__dirname" + }, + { + "label": "nextConfig", + "file_type": "code", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L8", + "_origin": "ast", + "id": "mainweb_next_config_nextconfig", + "community": 86, + "norm_label": "nextconfig" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_package", + "community": 1, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "mainweb_package_name", + "community": 1, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "mainweb_package_version", + "community": 1, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "mainweb_package_type", + "community": 1, + "norm_label": "type" + }, + { + "label": "private", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "mainweb_package_private", + "community": 1, + "norm_label": "private" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "mainweb_package_scripts", + "community": 1, + "norm_label": "scripts" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "mainweb_package_scripts_dev", + "community": 1, + "norm_label": "dev" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "mainweb_package_scripts_build", + "community": 1, + "norm_label": "build" + }, + { + "label": "start", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "mainweb_package_scripts_start", + "community": 1, + "norm_label": "start" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "mainweb_package_scripts_lint", + "community": 1, + "norm_label": "lint" + }, + { + "label": "check-types", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "mainweb_package_scripts_check_types", + "community": 1, + "norm_label": "check-types" + }, + { + "label": "analyze", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "mainweb_package_scripts_analyze", + "community": 1, + "norm_label": "analyze" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "mainweb_package_dependencies", + "community": 1, + "norm_label": "dependencies" + }, + { + "label": "@mawtech/glass-ui", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "mainweb_package_dependencies_mawtech_glass_ui", + "community": 1, + "norm_label": "@mawtech/glass-ui" + }, + { + "label": "@query/api", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "mainweb_package_dependencies_query_api", + "community": 1, + "norm_label": "@query/api" + }, + { + "label": "@query/auth", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "mainweb_package_dependencies_query_auth", + "community": 1, + "norm_label": "@query/auth" + }, + { + "label": "@query/db", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "mainweb_package_dependencies_query_db", + "community": 1, + "norm_label": "@query/db" + }, + { + "label": "@query/ui", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "mainweb_package_dependencies_query_ui", + "community": 1, + "norm_label": "@query/ui" + }, + { + "label": "@tanstack/react-query", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "mainweb_package_dependencies_tanstack_react_query", + "community": 1, + "norm_label": "@tanstack/react-query" + }, + { + "label": "@trpc/client", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "mainweb_package_dependencies_trpc_client", + "community": 1, + "norm_label": "@trpc/client" + }, + { + "label": "@trpc/next", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "mainweb_package_dependencies_trpc_next", + "community": 1, + "norm_label": "@trpc/next" + }, + { + "label": "@trpc/react-query", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "mainweb_package_dependencies_trpc_react_query", + "community": 1, + "norm_label": "@trpc/react-query" + }, + { + "label": "@trpc/server", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "mainweb_package_dependencies_trpc_server", + "community": 1, + "norm_label": "@trpc/server" + }, + { + "label": "@yudiel/react-qr-scanner", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "mainweb_package_dependencies_yudiel_react_qr_scanner", + "community": 1, + "norm_label": "@yudiel/react-qr-scanner" + }, + { + "label": "chart.js", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "mainweb_package_dependencies_chart_js", + "community": 1, + "norm_label": "chart.js" + }, + { + "label": "drizzle-orm", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "mainweb_package_dependencies_drizzle_orm", + "community": 1, + "norm_label": "drizzle-orm" + }, + { + "label": "geist", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "mainweb_package_dependencies_geist", + "community": 1, + "norm_label": "geist" + }, + { + "label": "lucide-react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "mainweb_package_dependencies_lucide_react", + "community": 1, + "norm_label": "lucide-react" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "mainweb_package_dependencies_minimatch", + "community": 1, + "norm_label": "minimatch" + }, + { + "label": "next", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "mainweb_package_dependencies_next", + "community": 1, + "norm_label": "next" + }, + { + "label": "next-auth", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "mainweb_package_dependencies_next_auth", + "community": 1, + "norm_label": "next-auth" + }, + { + "label": "next-themes", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "mainweb_package_dependencies_next_themes", + "community": 1, + "norm_label": "next-themes" + }, + { + "label": "qrcode", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "mainweb_package_dependencies_qrcode", + "community": 1, + "norm_label": "qrcode" + }, + { + "label": "qrcode.react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "mainweb_package_dependencies_qrcode_react", + "community": 1, + "norm_label": "qrcode.react" + }, + { + "label": "react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "mainweb_package_dependencies_react", + "community": 1, + "norm_label": "react" + }, + { + "label": "react-chartjs-2", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "mainweb_package_dependencies_react_chartjs_2", + "community": 1, + "norm_label": "react-chartjs-2" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "mainweb_package_dependencies_react_dom", + "community": 1, + "norm_label": "react-dom" + }, + { + "label": "react-scroll", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "mainweb_package_dependencies_react_scroll", + "community": 1, + "norm_label": "react-scroll" + }, + { + "label": "sanitize-html", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "mainweb_package_dependencies_sanitize_html", + "community": 1, + "norm_label": "sanitize-html" + }, + { + "label": "stripe", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "mainweb_package_dependencies_stripe", + "community": 1, + "norm_label": "stripe" + }, + { + "label": "superjson", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "mainweb_package_dependencies_superjson", + "community": 1, + "norm_label": "superjson" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L44", + "_origin": "ast", + "id": "mainweb_package_devdependencies", + "community": 22, + "norm_label": "devdependencies" + }, + { + "label": "@next/bundle-analyzer", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L45", + "_origin": "ast", + "id": "mainweb_package_devdependencies_next_bundle_analyzer", + "community": 22, + "norm_label": "@next/bundle-analyzer" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L46", + "_origin": "ast", + "id": "mainweb_package_devdependencies_next_eslint_plugin_next", + "community": 22, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "@query/eslint-config", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L47", + "_origin": "ast", + "id": "mainweb_package_devdependencies_query_eslint_config", + "community": 22, + "norm_label": "@query/eslint-config" + }, + { + "label": "@query/tailwind-config", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L48", + "_origin": "ast", + "id": "mainweb_package_devdependencies_query_tailwind_config", + "community": 22, + "norm_label": "@query/tailwind-config" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L49", + "_origin": "ast", + "id": "mainweb_package_devdependencies_query_tsconfig", + "community": 22, + "norm_label": "@query/tsconfig" + }, + { + "label": "@tailwindcss/postcss", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L50", + "_origin": "ast", + "id": "mainweb_package_devdependencies_tailwindcss_postcss", + "community": 22, + "norm_label": "@tailwindcss/postcss" + }, + { + "label": "@types/minimatch", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L51", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_minimatch", + "community": 22, + "norm_label": "@types/minimatch" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L52", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_node", + "community": 22, + "norm_label": "@types/node" + }, + { + "label": "@types/qrcode", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L53", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_qrcode", + "community": 22, + "norm_label": "@types/qrcode" + }, + { + "label": "@types/qrcode.react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L54", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_qrcode_react", + "community": 22, + "norm_label": "@types/qrcode.react" + }, + { + "label": "@types/react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L55", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_react", + "community": 22, + "norm_label": "@types/react" + }, + { + "label": "@types/react-dom", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L56", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_react_dom", + "community": 22, + "norm_label": "@types/react-dom" + }, + { + "label": "@types/react-scroll", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L57", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_react_scroll", + "community": 22, + "norm_label": "@types/react-scroll" + }, + { + "label": "@types/three", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L58", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_three", + "community": 22, + "norm_label": "@types/three" + }, + { + "label": "autoprefixer", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L59", + "_origin": "ast", + "id": "mainweb_package_devdependencies_autoprefixer", + "community": 22, + "norm_label": "autoprefixer" + }, + { + "label": "cross-env", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L60", + "_origin": "ast", + "id": "mainweb_package_devdependencies_cross_env", + "community": 22, + "norm_label": "cross-env" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L61", + "_origin": "ast", + "id": "mainweb_package_devdependencies_eslint", + "community": 22, + "norm_label": "eslint" + }, + { + "label": "postcss", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L62", + "_origin": "ast", + "id": "mainweb_package_devdependencies_postcss", + "community": 22, + "norm_label": "postcss" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L63", + "_origin": "ast", + "id": "mainweb_package_devdependencies_tailwindcss", + "community": 22, + "norm_label": "tailwindcss" + }, + { + "label": "turbo", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L64", + "_origin": "ast", + "id": "mainweb_package_devdependencies_turbo", + "community": 57, + "norm_label": "turbo" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L65", + "_origin": "ast", + "id": "mainweb_package_devdependencies_typescript", + "community": 22, + "norm_label": "typescript" + }, + { + "label": "typescript-eslint", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L66", + "_origin": "ast", + "id": "mainweb_package_devdependencies_typescript_eslint", + "community": 22, + "norm_label": "typescript-eslint" + }, + { + "label": "postcss.config.js", + "file_type": "code", + "source_file": "sites/mainweb/postcss.config.js", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_postcss_config", + "community": 92, + "norm_label": "postcss.config.js" + }, + { + "label": "proxy.ts", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_proxy", + "community": 58, + "norm_label": "proxy.ts" + }, + { + "label": "getCacheControl()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L14", + "_origin": "ast", + "id": "mainweb_proxy_getcachecontrol", + "community": 58, + "norm_label": "getcachecontrol()" + }, + { + "label": "getETag()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L42", + "_origin": "ast", + "id": "mainweb_proxy_getetag", + "community": 58, + "norm_label": "getetag()" + }, + { + "label": "getLastModified()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L48", + "_origin": "ast", + "id": "mainweb_proxy_getlastmodified", + "community": 58, + "norm_label": "getlastmodified()" + }, + { + "label": "handleETag()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L53", + "_origin": "ast", + "id": "mainweb_proxy_handleetag", + "community": 58, + "norm_label": "handleetag()" + }, + { + "label": "handleLastModified()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L64", + "_origin": "ast", + "id": "mainweb_proxy_handlelastmodified", + "community": 58, + "norm_label": "handlelastmodified()" + }, + { + "label": "securityHeaders", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L75", + "_origin": "ast", + "id": "mainweb_proxy_securityheaders", + "community": 58, + "norm_label": "securityheaders" + }, + { + "label": "config", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L82", + "_origin": "ast", + "id": "mainweb_proxy_config", + "community": 58, + "norm_label": "config" + }, + { + "label": "proxy()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L90", + "_origin": "ast", + "id": "mainweb_proxy_proxy", + "community": 58, + "norm_label": "proxy()" + }, + { + "label": "manifest.json", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L1", + "_origin": "ast", + "id": "public_manifest", + "community": 62, + "norm_label": "manifest.json" + }, + { + "label": "short_name", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L2", + "_origin": "ast", + "id": "public_manifest_short_name", + "community": 62, + "norm_label": "short_name" + }, + { + "label": "name", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L3", + "_origin": "ast", + "id": "public_manifest_name", + "community": 62, + "norm_label": "name" + }, + { + "label": "icons", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L4", + "_origin": "ast", + "id": "public_manifest_icons", + "community": 62, + "norm_label": "icons" + }, + { + "label": "start_url", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L26", + "_origin": "ast", + "id": "public_manifest_start_url", + "community": 62, + "norm_label": "start_url" + }, + { + "label": "display", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L27", + "_origin": "ast", + "id": "public_manifest_display", + "community": 62, + "norm_label": "display" + }, + { + "label": "theme_color", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L28", + "_origin": "ast", + "id": "public_manifest_theme_color", + "community": 62, + "norm_label": "theme_color" + }, + { + "label": "background_color", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L29", + "_origin": "ast", + "id": "public_manifest_background_color", + "community": 62, + "norm_label": "background_color" + }, + { + "label": "start.sh", + "file_type": "code", + "source_file": "sites/mainweb/start.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "mainweb_start", + "community": 102, + "norm_label": "start.sh" + }, + { + "label": "start.sh script", + "file_type": "code", + "source_file": "sites/mainweb/start.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_bootcamp_desktop_passion_query_sites_mainweb_start_sh__entry", + "community": 102, + "norm_label": "start.sh script" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_tsconfig", + "community": 24, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "mainweb_tsconfig_extends", + "community": 24, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions", + "community": 24, + "norm_label": "compileroptions" + }, + { + "label": "target", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_target", + "community": 24, + "norm_label": "target" + }, + { + "label": "module", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_module", + "community": 24, + "norm_label": "module" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_lib", + "community": 24, + "norm_label": "lib" + }, + { + "label": "allowJs", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_allowjs", + "community": 24, + "norm_label": "allowjs" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_skiplibcheck", + "community": 24, + "norm_label": "skiplibcheck" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community": 24, + "norm_label": "forceconsistentcasinginfilenames" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_noemit", + "community": 24, + "norm_label": "noemit" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_esmoduleinterop", + "community": 24, + "norm_label": "esmoduleinterop" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_moduleresolution", + "community": 24, + "norm_label": "moduleresolution" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_resolvejsonmodule", + "community": 24, + "norm_label": "resolvejsonmodule" + }, + { + "label": "isolatedModules", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_isolatedmodules", + "community": 24, + "norm_label": "isolatedmodules" + }, + { + "label": "jsx", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_jsx", + "community": 24, + "norm_label": "jsx" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_paths", + "community": 24, + "norm_label": "paths" + }, + { + "label": "@/*", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L17", + "_origin": "ast", + "id": "mainweb_tsconfig_paths", + "community": 24, + "norm_label": "@/*" + }, + { + "label": "types", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L19", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_types", + "community": 24, + "norm_label": "types" + }, + { + "label": "plugins", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L20", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_plugins", + "community": 24, + "norm_label": "plugins" + }, + { + "label": "include", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L26", + "_origin": "ast", + "id": "mainweb_tsconfig_include", + "community": 24, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L34", + "_origin": "ast", + "id": "mainweb_tsconfig_exclude", + "community": 24, + "norm_label": "exclude" + }, + { + "label": "turbo.json", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_turbo", + "community": 46, + "norm_label": "turbo.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L2", + "_origin": "ast", + "id": "mainweb_turbo_schema", + "community": 46, + "norm_label": "$schema" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L3", + "_origin": "ast", + "id": "mainweb_turbo_extends", + "community": 46, + "norm_label": "extends" + }, + { + "label": "tasks", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L4", + "_origin": "ast", + "id": "mainweb_turbo_tasks", + "community": 46, + "norm_label": "tasks" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L5", + "_origin": "ast", + "id": "mainweb_turbo_tasks_build", + "community": 46, + "norm_label": "build" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L6", + "_origin": "ast", + "id": "mainweb_turbo_build_dependson", + "community": 46, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L7", + "_origin": "ast", + "id": "mainweb_turbo_build_outputs", + "community": 46, + "norm_label": "outputs" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L8", + "_origin": "ast", + "id": "mainweb_turbo_build_cache", + "community": 46, + "norm_label": "cache" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L10", + "_origin": "ast", + "id": "mainweb_turbo_tasks_dev", + "community": 46, + "norm_label": "dev" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L11", + "_origin": "ast", + "id": "mainweb_turbo_dev_persistent", + "community": 46, + "norm_label": "persistent" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L12", + "_origin": "ast", + "id": "mainweb_turbo_dev_cache", + "community": 46, + "norm_label": "cache" + }, + { + "label": "css.d.ts", + "file_type": "code", + "source_file": "sites/mainweb/types/css.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "types_css_d", + "community": 131, + "norm_label": "css.d.ts" + }, + { + "label": "images.d.ts", + "file_type": "code", + "source_file": "sites/mainweb/types/images.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "types_images_d", + "community": 133, + "norm_label": "images.d.ts" + }, + { + "label": "base.js", + "file_type": "code", + "source_file": "tooling/eslint/base.js", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_base", + "community": 39, + "norm_label": "base.js" + }, + { + "label": "restrictEnvAccess", + "file_type": "code", + "source_file": "tooling/eslint/base.js", + "source_location": "L9", + "_origin": "ast", + "id": "eslint_base_restrictenvaccess", + "community": 39, + "norm_label": "restrictenvaccess" + }, + { + "label": "config", + "file_type": "code", + "source_file": "tooling/eslint/base.js", + "source_location": "L37", + "_origin": "ast", + "id": "eslint_base_config", + "community": 39, + "norm_label": "config" + }, + { + "label": "next.js", + "file_type": "code", + "source_file": "tooling/eslint/next.js", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_next", + "community": 121, + "norm_label": "next.js" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_package", + "community": 4, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "eslint_package_name", + "community": 4, + "norm_label": "name" + }, + { + "label": "private", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "eslint_package_private", + "community": 4, + "norm_label": "private" + }, + { + "label": "version", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "eslint_package_version", + "community": 4, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "eslint_package_type", + "community": 4, + "norm_label": "type" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "eslint_package_exports", + "community": 4, + "norm_label": "exports" + }, + { + "label": "./base", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "eslint_package_exports_base", + "community": 4, + "norm_label": "./base" + }, + { + "label": "./next-js", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "eslint_package_exports_next_js", + "community": 4, + "norm_label": "./next-js" + }, + { + "label": "./react", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "eslint_package_exports_react", + "community": 4, + "norm_label": "./react" + }, + { + "label": "./react-internal", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "eslint_package_exports_react_internal", + "community": 4, + "norm_label": "./react-internal" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "eslint_package_scripts", + "community": 4, + "norm_label": "scripts" + }, + { + "label": "clean", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "eslint_package_scripts_clean", + "community": 4, + "norm_label": "clean" + }, + { + "label": "format", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "eslint_package_scripts_format", + "community": 4, + "norm_label": "format" + }, + { + "label": "format:fix", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "eslint_package_scripts_format_fix", + "community": 4, + "norm_label": "format:fix" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "eslint_package_scripts_typecheck", + "community": 4, + "norm_label": "typecheck" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "eslint_package_dependencies", + "community": 4, + "norm_label": "dependencies" + }, + { + "label": "@eslint/compat", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_compat", + "community": 4, + "norm_label": "@eslint/compat" + }, + { + "label": "@eslint/js", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_js", + "community": 4, + "norm_label": "@eslint/js" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "eslint_package_dependencies_next_eslint_plugin_next", + "community": 4, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "@typescript-eslint/eslint-plugin", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "eslint_package_dependencies_typescript_eslint_eslint_plugin", + "community": 4, + "norm_label": "@typescript-eslint/eslint-plugin" + }, + { + "label": "@typescript-eslint/parser", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "eslint_package_dependencies_typescript_eslint_parser", + "community": 4, + "norm_label": "@typescript-eslint/parser" + }, + { + "label": "eslint-config-prettier", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_config_prettier", + "community": 4, + "norm_label": "eslint-config-prettier" + }, + { + "label": "eslint-plugin-import", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_import", + "community": 4, + "norm_label": "eslint-plugin-import" + }, + { + "label": "eslint-plugin-jsx-a11y", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_jsx_a11y", + "community": 4, + "norm_label": "eslint-plugin-jsx-a11y" + }, + { + "label": "eslint-plugin-react", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_react", + "community": 4, + "norm_label": "eslint-plugin-react" + }, + { + "label": "eslint-plugin-react-hooks", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_react_hooks", + "community": 4, + "norm_label": "eslint-plugin-react-hooks" + }, + { + "label": "eslint-plugin-turbo", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_turbo", + "community": 4, + "norm_label": "eslint-plugin-turbo" + }, + { + "label": "globals", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "eslint_package_dependencies_globals", + "community": 4, + "norm_label": "globals" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "eslint_package_dependencies_minimatch", + "community": 4, + "norm_label": "minimatch" + }, + { + "label": "typescript-eslint", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "eslint_package_dependencies_typescript_eslint", + "community": 4, + "norm_label": "typescript-eslint" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "eslint_package_devdependencies", + "community": 4, + "norm_label": "devdependencies" + }, + { + "label": "@query/prettier-config", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "eslint_package_devdependencies_query_prettier_config", + "community": 4, + "norm_label": "@query/prettier-config" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "eslint_package_devdependencies_query_tsconfig", + "community": 4, + "norm_label": "@query/tsconfig" + }, + { + "label": "@types/eslint__js", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "eslint_package_devdependencies_types_eslint_js", + "community": 4, + "norm_label": "@types/eslint__js" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "eslint_package_devdependencies_eslint", + "community": 4, + "norm_label": "eslint" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "eslint_package_devdependencies_prettier", + "community": 4, + "norm_label": "prettier" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "eslint_package_devdependencies_typescript", + "community": 4, + "norm_label": "typescript" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "eslint_package_prettier", + "community": 4, + "norm_label": "prettier" + }, + { + "label": "react-internal.js", + "file_type": "code", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_react_internal", + "community": 39, + "norm_label": "react-internal.js" + }, + { + "label": "config", + "file_type": "code", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L13", + "_origin": "ast", + "id": "eslint_react_internal_config", + "community": 39, + "norm_label": "config" + }, + { + "label": "react.js", + "file_type": "code", + "source_file": "tooling/eslint/react.js", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_react", + "community": 39, + "norm_label": "react.js" + }, + { + "label": "index.js", + "file_type": "code", + "source_file": "tooling/prettier/index.js", + "source_location": "L1", + "_origin": "ast", + "id": "prettier_index", + "community": 114, + "norm_label": "index.js" + }, + { + "label": "config", + "file_type": "code", + "source_file": "tooling/prettier/index.js", + "source_location": "L9", + "_origin": "ast", + "id": "prettier_index_config", + "community": 114, + "norm_label": "config" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "prettier_package", + "community": 28, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "prettier_package_name", + "community": 28, + "norm_label": "name" + }, + { + "label": "private", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "prettier_package_private", + "community": 28, + "norm_label": "private" + }, + { + "label": "version", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "prettier_package_version", + "community": 28, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "prettier_package_type", + "community": 28, + "norm_label": "type" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "prettier_package_exports", + "community": 28, + "norm_label": "exports" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "prettier_package_scripts", + "community": 28, + "norm_label": "scripts" + }, + { + "label": "clean", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "prettier_package_scripts_clean", + "community": 28, + "norm_label": "clean" + }, + { + "label": "format", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "prettier_package_scripts_format", + "community": 28, + "norm_label": "format" + }, + { + "label": "format:fix", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "prettier_package_scripts_format_fix", + "community": 28, + "norm_label": "format:fix" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "prettier_package_scripts_typecheck", + "community": 28, + "norm_label": "typecheck" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "prettier_package_dependencies", + "community": 28, + "norm_label": "dependencies" + }, + { + "label": "@ianvs/prettier-plugin-sort-imports", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "prettier_package_dependencies_ianvs_prettier_plugin_sort_imports", + "community": 28, + "norm_label": "@ianvs/prettier-plugin-sort-imports" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "prettier_package_dependencies_minimatch", + "community": 28, + "norm_label": "minimatch" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "prettier_package_dependencies_prettier", + "community": 28, + "norm_label": "prettier" + }, + { + "label": "prettier-plugin-tailwindcss", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "prettier_package_dependencies_prettier_plugin_tailwindcss", + "community": 28, + "norm_label": "prettier-plugin-tailwindcss" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "prettier_package_devdependencies", + "community": 28, + "norm_label": "devdependencies" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "prettier_package_devdependencies_query_tsconfig", + "community": 28, + "norm_label": "@query/tsconfig" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "prettier_package_devdependencies_typescript", + "community": 28, + "norm_label": "typescript" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "prettier_package_prettier", + "community": 28, + "norm_label": "prettier" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "prettier_tsconfig", + "community": 52, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "prettier_tsconfig_extends", + "community": 52, + "norm_label": "extends" + }, + { + "label": "include", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "prettier_tsconfig_include", + "community": 52, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "prettier_tsconfig_exclude", + "community": 52, + "norm_label": "exclude" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions", + "community": 52, + "norm_label": "compileroptions" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_strict", + "community": 52, + "norm_label": "strict" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community": 52, + "norm_label": "forceconsistentcasinginfilenames" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_esmoduleinterop", + "community": 52, + "norm_label": "esmoduleinterop" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_moduleresolution", + "community": 52, + "norm_label": "moduleresolution" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_skiplibcheck", + "community": 52, + "norm_label": "skiplibcheck" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "tailwind_package", + "community": 33, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "tailwind_package_name", + "community": 33, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "tailwind_package_version", + "community": 33, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "tailwind_package_private", + "community": 33, + "norm_label": "private" + }, + { + "label": "type", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "tailwind_package_type", + "community": 33, + "norm_label": "type" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "tailwind_package_exports", + "community": 33, + "norm_label": "exports" + }, + { + "label": "./postcss", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "tailwind_package_exports_postcss", + "community": 33, + "norm_label": "./postcss" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "tailwind_package_dependencies", + "community": 33, + "norm_label": "dependencies" + }, + { + "label": "@tailwindcss/postcss", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "tailwind_package_dependencies_tailwindcss_postcss", + "community": 33, + "norm_label": "@tailwindcss/postcss" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "tailwind_package_dependencies_minimatch", + "community": 33, + "norm_label": "minimatch" + }, + { + "label": "next", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "tailwind_package_dependencies_next", + "community": 33, + "norm_label": "next" + }, + { + "label": "postcss", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "tailwind_package_dependencies_postcss", + "community": 33, + "norm_label": "postcss" + }, + { + "label": "react", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "tailwind_package_dependencies_react", + "community": 33, + "norm_label": "react" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "tailwind_package_dependencies_react_dom", + "community": 33, + "norm_label": "react-dom" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "tailwind_package_dependencies_tailwindcss", + "community": 33, + "norm_label": "tailwindcss" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "tailwind_package_devdependencies", + "community": 33, + "norm_label": "devdependencies" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "tailwind_package_devdependencies_next_eslint_plugin_next", + "community": 33, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "tailwind_package_devdependencies_typescript", + "community": 33, + "norm_label": "typescript" + }, + { + "label": "postcss.config.js", + "file_type": "code", + "source_file": "tooling/tailwind/postcss.config.js", + "source_location": "L1", + "_origin": "ast", + "id": "tailwind_postcss_config", + "community": 92, + "norm_label": "postcss.config.js" + }, + { + "label": "postcssConfig", + "file_type": "code", + "source_file": "tooling/tailwind/postcss.config.js", + "source_location": "L2", + "_origin": "ast", + "id": "tailwind_postcss_config_postcssconfig", + "community": 92, + "norm_label": "postcssconfig" + }, + { + "label": "base.json", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L1", + "_origin": "ast", + "id": "typescript_base", + "community": 23, + "norm_label": "base.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L2", + "_origin": "ast", + "id": "typescript_base_schema", + "community": 23, + "norm_label": "$schema" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L3", + "_origin": "ast", + "id": "typescript_base_compileroptions", + "community": 23, + "norm_label": "compileroptions" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L4", + "_origin": "ast", + "id": "typescript_base_compileroptions_esmoduleinterop", + "community": 23, + "norm_label": "esmoduleinterop" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L5", + "_origin": "ast", + "id": "typescript_base_compileroptions_skiplibcheck", + "community": 23, + "norm_label": "skiplibcheck" + }, + { + "label": "target", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L6", + "_origin": "ast", + "id": "typescript_base_compileroptions_target", + "community": 23, + "norm_label": "target" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L7", + "_origin": "ast", + "id": "typescript_base_compileroptions_lib", + "community": 23, + "norm_label": "lib" + }, + { + "label": "allowJs", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L8", + "_origin": "ast", + "id": "typescript_base_compileroptions_allowjs", + "community": 23, + "norm_label": "allowjs" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L9", + "_origin": "ast", + "id": "typescript_base_compileroptions_resolvejsonmodule", + "community": 23, + "norm_label": "resolvejsonmodule" + }, + { + "label": "moduleDetection", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L10", + "_origin": "ast", + "id": "typescript_base_compileroptions_moduledetection", + "community": 23, + "norm_label": "moduledetection" + }, + { + "label": "isolatedModules", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L11", + "_origin": "ast", + "id": "typescript_base_compileroptions_isolatedmodules", + "community": 23, + "norm_label": "isolatedmodules" + }, + { + "label": "incremental", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L12", + "_origin": "ast", + "id": "typescript_base_compileroptions_incremental", + "community": 23, + "norm_label": "incremental" + }, + { + "label": "disableSourceOfProjectReferenceRedirect", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L13", + "_origin": "ast", + "id": "typescript_base_compileroptions_disablesourceofprojectreferenceredirect", + "community": 23, + "norm_label": "disablesourceofprojectreferenceredirect" + }, + { + "label": "tsBuildInfoFile", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L14", + "_origin": "ast", + "id": "typescript_base_compileroptions_tsbuildinfofile", + "community": 23, + "norm_label": "tsbuildinfofile" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L15", + "_origin": "ast", + "id": "typescript_base_compileroptions_strict", + "community": 23, + "norm_label": "strict" + }, + { + "label": "noImplicitAny", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L16", + "_origin": "ast", + "id": "typescript_base_compileroptions_noimplicitany", + "community": 23, + "norm_label": "noimplicitany" + }, + { + "label": "noUncheckedIndexedAccess", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L17", + "_origin": "ast", + "id": "typescript_base_compileroptions_nouncheckedindexedaccess", + "community": 23, + "norm_label": "nouncheckedindexedaccess" + }, + { + "label": "checkJs", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L18", + "_origin": "ast", + "id": "typescript_base_compileroptions_checkjs", + "community": 23, + "norm_label": "checkjs" + }, + { + "label": "module", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L19", + "_origin": "ast", + "id": "typescript_base_compileroptions_module", + "community": 23, + "norm_label": "module" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L20", + "_origin": "ast", + "id": "typescript_base_compileroptions_moduleresolution", + "community": 23, + "norm_label": "moduleresolution" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L21", + "_origin": "ast", + "id": "typescript_base_compileroptions_noemit", + "community": 23, + "norm_label": "noemit" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L23", + "_origin": "ast", + "id": "typescript_base_exclude", + "community": 23, + "norm_label": "exclude" + }, + { + "label": "internal-package.json", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L1", + "_origin": "ast", + "id": "typescript_internal_package", + "community": 61, + "norm_label": "internal-package.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L2", + "_origin": "ast", + "id": "typescript_internal_package_schema", + "community": 61, + "norm_label": "$schema" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L3", + "_origin": "ast", + "id": "typescript_internal_package_extends", + "community": 61, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L4", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions", + "community": 61, + "norm_label": "compileroptions" + }, + { + "label": "declaration", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L5", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_declaration", + "community": 61, + "norm_label": "declaration" + }, + { + "label": "declarationMap", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L6", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_declarationmap", + "community": 61, + "norm_label": "declarationmap" + }, + { + "label": "emitDeclarationOnly", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L7", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_emitdeclarationonly", + "community": 61, + "norm_label": "emitdeclarationonly" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L8", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_noemit", + "community": 61, + "norm_label": "noemit" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L9", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_outdir", + "community": 61, + "norm_label": "outdir" + }, + { + "label": "nextjs.json", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L1", + "_origin": "ast", + "id": "typescript_nextjs", + "community": 81, + "norm_label": "nextjs.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L2", + "_origin": "ast", + "id": "typescript_nextjs_schema", + "community": 81, + "norm_label": "$schema" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L3", + "_origin": "ast", + "id": "typescript_nextjs_extends", + "community": 81, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L4", + "_origin": "ast", + "id": "typescript_nextjs_compileroptions", + "community": 81, + "norm_label": "compileroptions" + }, + { + "label": "types", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L5", + "_origin": "ast", + "id": "typescript_nextjs_compileroptions_types", + "community": 81, + "norm_label": "types" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "typescript_package", + "community": 63, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "typescript_package_name", + "community": 63, + "norm_label": "name" + }, + { + "label": "private", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "typescript_package_private", + "community": 63, + "norm_label": "private" + }, + { + "label": "version", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "typescript_package_version", + "community": 63, + "norm_label": "version" + }, + { + "label": "files", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "typescript_package_files", + "community": 63, + "norm_label": "files" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "typescript_package_exports", + "community": 63, + "norm_label": "exports" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "typescript_package_dependencies", + "community": 63, + "norm_label": "dependencies" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "typescript_package_dependencies_minimatch", + "community": 63, + "norm_label": "minimatch" + }, + { + "label": "turbo.json", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L1", + "_origin": "ast", + "id": "turbo", + "community": 57, + "norm_label": "turbo.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L2", + "_origin": "ast", + "id": "turbo_schema", + "community": 57, + "norm_label": "$schema" + }, + { + "label": "ui", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L3", + "_origin": "ast", + "id": "turbo_ui", + "community": 57, + "norm_label": "ui" + }, + { + "label": "tasks", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L4", + "_origin": "ast", + "id": "turbo_tasks", + "community": 6, + "norm_label": "tasks" + }, + { + "label": "test", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L5", + "_origin": "ast", + "id": "turbo_tasks_test", + "community": 6, + "norm_label": "test" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L6", + "_origin": "ast", + "id": "turbo_test_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L7", + "_origin": "ast", + "id": "turbo_test_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "inputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L8", + "_origin": "ast", + "id": "turbo_test_inputs", + "community": 6, + "norm_label": "inputs" + }, + { + "label": "topo", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L10", + "_origin": "ast", + "id": "turbo_tasks_topo", + "community": 6, + "norm_label": "topo" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L11", + "_origin": "ast", + "id": "turbo_topo_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "build", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L13", + "_origin": "ast", + "id": "turbo_tasks_build", + "community": 6, + "norm_label": "build" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L14", + "_origin": "ast", + "id": "turbo_build_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L15", + "_origin": "ast", + "id": "turbo_build_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "start", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L17", + "_origin": "ast", + "id": "turbo_tasks_start", + "community": 6, + "norm_label": "start" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L18", + "_origin": "ast", + "id": "turbo_start_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L19", + "_origin": "ast", + "id": "turbo_start_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L20", + "_origin": "ast", + "id": "turbo_start_persistent", + "community": 6, + "norm_label": "persistent" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L22", + "_origin": "ast", + "id": "turbo_tasks_dev", + "community": 6, + "norm_label": "dev" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L23", + "_origin": "ast", + "id": "turbo_dev_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L24", + "_origin": "ast", + "id": "turbo_dev_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L25", + "_origin": "ast", + "id": "turbo_dev_persistent", + "community": 6, + "norm_label": "persistent" + }, + { + "label": "format", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L27", + "_origin": "ast", + "id": "turbo_tasks_format", + "community": 6, + "norm_label": "format" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L28", + "_origin": "ast", + "id": "turbo_format_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "outputLogs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L29", + "_origin": "ast", + "id": "turbo_format_outputlogs", + "community": 6, + "norm_label": "outputlogs" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L31", + "_origin": "ast", + "id": "turbo_tasks_lint", + "community": 6, + "norm_label": "lint" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L32", + "_origin": "ast", + "id": "turbo_lint_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L33", + "_origin": "ast", + "id": "turbo_lint_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L35", + "_origin": "ast", + "id": "turbo_tasks_typecheck", + "community": 6, + "norm_label": "typecheck" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L36", + "_origin": "ast", + "id": "turbo_typecheck_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L37", + "_origin": "ast", + "id": "turbo_typecheck_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "clean", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L39", + "_origin": "ast", + "id": "turbo_tasks_clean", + "community": 6, + "norm_label": "clean" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L40", + "_origin": "ast", + "id": "turbo_clean_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "push", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L42", + "_origin": "ast", + "id": "turbo_tasks_push", + "community": 6, + "norm_label": "push" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L43", + "_origin": "ast", + "id": "turbo_push_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "interactive", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L44", + "_origin": "ast", + "id": "turbo_push_interactive", + "community": 6, + "norm_label": "interactive" + }, + { + "label": "studio", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L46", + "_origin": "ast", + "id": "turbo_tasks_studio", + "community": 6, + "norm_label": "studio" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L47", + "_origin": "ast", + "id": "turbo_studio_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L48", + "_origin": "ast", + "id": "turbo_studio_persistent", + "community": 6, + "norm_label": "persistent" + }, + { + "label": "ui-add", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L50", + "_origin": "ast", + "id": "turbo_tasks_ui_add", + "community": 6, + "norm_label": "ui-add" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L51", + "_origin": "ast", + "id": "turbo_ui_add_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "interactive", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L52", + "_origin": "ast", + "id": "turbo_ui_add_interactive", + "community": 6, + "norm_label": "interactive" + }, + { + "label": "globalEnv", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L55", + "_origin": "ast", + "id": "turbo_globalenv", + "community": 57, + "norm_label": "globalenv" + }, + { + "label": "globalPassThroughEnv", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L88", + "_origin": "ast", + "id": "turbo_globalpassthroughenv", + "community": 57, + "norm_label": "globalpassthroughenv" + }, + { + "label": "config.ts", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "generators_config", + "community": 71, + "norm_label": "config.ts" + }, + { + "label": "Answers", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L4", + "_origin": "ast", + "id": "generators_config_answers", + "community": 71, + "norm_label": "answers" + }, + { + "label": "PkgJson", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L9", + "_origin": "ast", + "id": "generators_config_pkgjson", + "community": 71, + "norm_label": "pkgjson" + }, + { + "label": "sanitizeName()", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L14", + "_origin": "ast", + "id": "generators_config_sanitizename", + "community": 71, + "norm_label": "sanitizename()" + }, + { + "label": "latestVersion()", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L19", + "_origin": "ast", + "id": "generators_config_latestversion", + "community": 71, + "norm_label": "latestversion()" + }, + { + "label": "register()", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L27", + "_origin": "ast", + "id": "generators_config_register", + "community": 71, + "norm_label": "register()" + }, + { + "label": "globals.d.ts", + "file_type": "code", + "source_file": "types/globals.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "types_globals_d", + "community": 132, + "norm_label": "globals.d.ts" + }, + { + "label": "bug_report.md", + "file_type": "document", + "source_file": ".github/ISSUE_TEMPLATE/bug_report.md", + "source_location": "L1", + "_origin": "ast", + "id": "issue_template_bug_report", + "community": 124, + "norm_label": "bug_report.md" + }, + { + "label": "GCP_SETUP.md", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L1", + "_origin": "ast", + "id": "gcp_setup", + "community": 55, + "norm_label": "gcp_setup.md" + }, + { + "label": "GCP Backend Setup Guide", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L1", + "_origin": "ast", + "id": "gcp_setup_gcp_backend_setup_guide", + "community": 55, + "norm_label": "gcp backend setup guide" + }, + { + "label": "1. Prerequisites", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L5", + "_origin": "ast", + "id": "gcp_setup_1_prerequisites", + "community": 55, + "norm_label": "1. prerequisites" + }, + { + "label": "2. Authentication", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L12", + "_origin": "ast", + "id": "gcp_setup_2_authentication", + "community": 55, + "norm_label": "2. authentication" + }, + { + "label": "3. Syncing Secrets", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L32", + "_origin": "ast", + "id": "gcp_setup_3_syncing_secrets", + "community": 55, + "norm_label": "3. syncing secrets" + }, + { + "label": "4. Running the App", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L49", + "_origin": "ast", + "id": "gcp_setup_4_running_the_app", + "community": 55, + "norm_label": "4. running the app" + }, + { + "label": "5. Troubleshooting", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L57", + "_origin": "ast", + "id": "gcp_setup_5_troubleshooting", + "community": 55, + "norm_label": "5. troubleshooting" + }, + { + "label": "Permission Denied", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L59", + "_origin": "ast", + "id": "gcp_setup_permission_denied", + "community": 55, + "norm_label": "permission denied" + }, + { + "label": "Missing Secrets", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L67", + "_origin": "ast", + "id": "gcp_setup_missing_secrets", + "community": 55, + "norm_label": "missing secrets" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "README.md", + "source_location": "L1", + "_origin": "ast", + "id": "readme", + "community": 115, + "norm_label": "readme.md" + }, + { + "label": "query", + "file_type": "document", + "source_file": "README.md", + "source_location": "L1", + "_origin": "ast", + "id": "readme_query", + "community": 115, + "norm_label": "query" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_readme", + "community": 84, + "norm_label": "readme.md" + }, + { + "label": "Getting Started", + "file_type": "document", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_readme_getting_started", + "community": 84, + "norm_label": "getting started" + }, + { + "label": "Learn More", + "file_type": "document", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L23", + "_origin": "ast", + "id": "hacklytics2027_readme_learn_more", + "community": 84, + "norm_label": "learn more" + }, + { + "label": "Deploy on Vercel", + "file_type": "document", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L32", + "_origin": "ast", + "id": "hacklytics2027_readme_deploy_on_vercel", + "community": 84, + "norm_label": "deploy on vercel" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "sites/mainweb/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_readme", + "community": 87, + "norm_label": "readme.md" + }, + { + "label": "Getting Started", + "file_type": "document", + "source_file": "sites/mainweb/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_readme_getting_started", + "community": 87, + "norm_label": "getting started" + }, + { + "label": "Learn More", + "file_type": "document", + "source_file": "sites/mainweb/README.md", + "source_location": "L15", + "_origin": "ast", + "id": "mainweb_readme_learn_more", + "community": 87, + "norm_label": "learn more" + }, + { + "label": "Deploy on Vercel", + "file_type": "document", + "source_file": "sites/mainweb/README.md", + "source_location": "L24", + "_origin": "ast", + "id": "mainweb_readme_deploy_on_vercel", + "community": 87, + "norm_label": "deploy on vercel" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "tooling/eslint/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_readme", + "community": 103, + "norm_label": "readme.md" + }, + { + "label": "`@turbo/eslint-config`", + "file_type": "document", + "source_file": "tooling/eslint/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_readme_turbo_eslint_config", + "community": 103, + "norm_label": "`@turbo/eslint-config`" + }, + { + "label": "{ GET, POST }", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts", + "source_location": "L3", + "_origin": "ast", + "id": "nextauth_route_get_post", + "community": 126, + "norm_label": "{ get, post }" + } + ], + "links": [ + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L17", + "weight": 1.0, + "source": "package", + "target": "package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L21", + "weight": 1.0, + "source": "package", + "target": "package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L6", + "weight": 1.0, + "source": "package", + "target": "package_engines", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L2", + "weight": 1.0, + "source": "package", + "target": "package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L5", + "weight": 1.0, + "source": "package", + "target": "package_packagemanager", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L25", + "weight": 1.0, + "source": "package", + "target": "package_pnpm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L3", + "weight": 1.0, + "source": "package", + "target": "package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L9", + "weight": 1.0, + "source": "package", + "target": "package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L4", + "weight": 1.0, + "source": "package", + "target": "package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L7", + "weight": 1.0, + "source": "package_engines", + "target": "package_engines_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L11", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L10", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L13", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_format", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L12", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L15", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_test", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L14", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L18", + "weight": 1.0, + "source": "package_dependencies", + "target": "package_dependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L19", + "weight": 1.0, + "source": "package_dependencies", + "target": "package_dependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L22", + "weight": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_turbo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L23", + "weight": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_vitest", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L22", + "weight": 1.0, + "context": "import", + "source": "package_devdependencies_turbo", + "target": "turbo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L26", + "weight": 1.0, + "source": "package_pnpm", + "target": "package_pnpm_overrides", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L28", + "weight": 1.0, + "source": "package_pnpm_overrides", + "target": "package_overrides_esbuild", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L30", + "weight": 1.0, + "source": "package_pnpm_overrides", + "target": "package_overrides_eslint_plugin_kit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L27", + "weight": 1.0, + "source": "package_pnpm_overrides", + "target": "package_overrides_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L29", + "weight": 1.0, + "source": "package_pnpm_overrides", + "target": "package_overrides_ws", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_eslint_config_js_api_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_eslint_config_js_api_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_eslint_config_mjs_api_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_eslint_config_mjs_api_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "api_package", + "target": "api_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "api_package", + "target": "api_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "api_package", + "target": "api_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "api_package", + "target": "api_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "api_package", + "target": "api_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "api_package", + "target": "api_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "api_package", + "target": "api_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "api_package", + "target": "api_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_client", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_context", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_middleware", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_middleware_http_security", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_server", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_trpc_server", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "api_package_scripts", + "target": "api_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "api_package_scripts", + "target": "api_package_scripts_test", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "api_package_scripts", + "target": "api_package_scripts_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_drizzle_orm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_image_size", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_query_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_query_db", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_sanitize_html", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_stripe", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_superjson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_tanstack_react_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_trpc_client", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_trpc_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_trpc_react_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_trpc_server", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_zod", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "api_package_devdependencies", + "target": "api_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L41", + "weight": 1.0, + "source": "api_package_devdependencies", + "target": "api_package_devdependencies_types_sanitize_html", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L42", + "weight": 1.0, + "source": "api_package_devdependencies", + "target": "api_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L43", + "weight": 1.0, + "source": "api_package_devdependencies", + "target": "api_package_devdependencies_vitest", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L215", + "weight": 1.0, + "source": "internal_tests_resilience_test", + "target": "internal_tests_resilience_test_assertion", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L221", + "weight": 1.0, + "source": "internal_tests_resilience_test", + "target": "internal_tests_resilience_test_tobebetween", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_resilience_test", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_resilience_test", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L14", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockdelete", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L10", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockfindfirst", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L11", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockfindmany", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L12", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockinsert", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L13", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockupdate", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L4", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L4", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L7", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L7", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "src_root", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L6", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L6", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "src_trpc_errorformatter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security_ddosprotection", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security_validaterequestsize", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_context", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_context", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_context", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L63", + "weight": 1.0, + "source": "src_context", + "target": "src_context_context", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L29", + "weight": 1.0, + "source": "src_context", + "target": "src_context_createcontext", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L17", + "weight": 1.0, + "source": "src_context", + "target": "src_context_getauth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_context", + "target": "src_context_session", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_trpc", + "target": "src_context", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L43", + "weight": 1.0, + "source": "src_context_createcontext", + "target": "src_context_getauth", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_context_createcontext", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L2", + "weight": 1.0, + "source": "trpc_route", + "target": "src_context_createcontext", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L9", + "weight": 1.0, + "source": "trpc_route_handler", + "target": "src_context_createcontext", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_context_context", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_trpc", + "target": "src_context_context", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_security_rate_limits", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_root", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L214", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L6", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cacheentry", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L223", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L17", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cacheservice", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L220", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cachestats", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L244", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_invalidateevents", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L240", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_invalidatehackathons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L236", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_invalidateuser", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L5", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L13", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L16", + "weight": 1.0, + "source": "routers_hackathon", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L16", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_user", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L137", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_cleanup", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L97", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_clear", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L23", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_constructor", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L68", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_delete", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L77", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_deletepattern", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L193", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_destroy", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L208", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_exportstats", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L37", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_get", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L119", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_getorset", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L105", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_getstats", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L112", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_has", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L59", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_set", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L46", + "weight": 1.0, + "source": "middleware_cache_cacheservice_get", + "target": "middleware_cache_cacheservice_delete", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L124", + "weight": 1.0, + "source": "middleware_cache_cacheservice_getorset", + "target": "middleware_cache_cacheservice_get", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L113", + "weight": 1.0, + "source": "middleware_cache_cacheservice_has", + "target": "middleware_cache_cacheservice_get", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L144", + "weight": 1.0, + "source": "middleware_cache_cacheservice_cleanup", + "target": "middleware_cache_cacheservice_delete", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L85", + "weight": 1.0, + "source": "middleware_cache_cacheservice_deletepattern", + "target": "middleware_cache_cacheservice_delete", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L245", + "weight": 1.0, + "source": "middleware_cache_invalidateevents", + "target": "middleware_cache_cacheservice_deletepattern", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L241", + "weight": 1.0, + "source": "middleware_cache_invalidatehackathons", + "target": "middleware_cache_cacheservice_deletepattern", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L237", + "weight": 1.0, + "source": "middleware_cache_invalidateuser", + "target": "middleware_cache_cacheservice_deletepattern", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L195", + "weight": 1.0, + "source": "middleware_cache_cacheservice_destroy", + "target": "middleware_cache_cacheservice_clear", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L6", + "weight": 1.0, + "source": "stripe_route", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L14", + "weight": 1.0, + "source": "verify_email_route", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L5", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L13", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L16", + "weight": 1.0, + "source": "routers_hackathon", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L16", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_user", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L181", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_applysecurityheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L17", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_cacheheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L69", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getcacheheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L126", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getclientip", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L104", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getratelimitheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L148", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getrequestfingerprint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L32", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getsecurityheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L22", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_ratelimitheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L6", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_securityheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L168", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_simplehash", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L198", + "weight": 1.0, + "source": "middleware_http_security_applysecurityheaders", + "target": "middleware_http_security_getsecurityheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L204", + "weight": 1.0, + "source": "middleware_http_security_applysecurityheaders", + "target": "middleware_http_security_getcacheheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L214", + "weight": 1.0, + "source": "middleware_http_security_applysecurityheaders", + "target": "middleware_http_security_getratelimitheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L152", + "weight": 1.0, + "source": "middleware_http_security_getrequestfingerprint", + "target": "middleware_http_security_getclientip", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L156", + "weight": 1.0, + "source": "middleware_http_security_getrequestfingerprint", + "target": "middleware_http_security_simplehash", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L11", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L56", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_procedures_isjudge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L42", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_procedures_issuperadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L3", + "weight": 1.0, + "source": "middleware_procedures", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L3", + "weight": 1.0, + "source": "middleware_procedures", + "target": "schemas_judge_judges", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "middleware_procedures", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "middleware_procedures", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_audit", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_events", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L15", + "weight": 1.0, + "source": "routers_hackathon", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_settings", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_audit", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_events", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L15", + "weight": 1.0, + "source": "routers_hackathon", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_procedures_issuperadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_settings", + "target": "middleware_procedures_issuperadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_procedures_isjudge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L84", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ddos_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L502", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ddosprotection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L26", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_enforcesizelimit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L352", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_flushlogs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L342", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_flushqueue", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L603", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_getddosstats", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L497", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_getrecentsecurityevents", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L282", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_hasinjectionpattern", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L16", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_iprecord", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L24", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_iptrackingstore", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L454", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_logsecurityevent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L169", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_rate_limits", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L118", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L349", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ratelimitlogcooldown", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L4", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ratelimitrecord", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L14", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ratelimitstore", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L196", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_sanitize_options", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L203", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L326", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_securityevent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L337", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_securitylog", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L302", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_validateemail", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L591", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_validaterequestsize", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L309", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_validateurl", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L319", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_validateuuid", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L340", + "weight": 1.0, + "source": "middleware_security", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_stripe", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L14", + "weight": 1.0, + "source": "verify_email_route", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L30", + "weight": 1.0, + "source": "verify_email_route_post", + "target": "middleware_security_ratelimit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_rate_limits", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L220", + "weight": 1.0, + "source": "middleware_security_sanitizeinput", + "target": "middleware_security_hasinjectionpattern", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L493", + "weight": 1.0, + "source": "middleware_security_logsecurityevent", + "target": "middleware_security_flushlogs", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L523", + "weight": 1.0, + "source": "middleware_security_ddosprotection", + "target": "middleware_security_logsecurityevent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_stripe", + "target": "middleware_security_logsecurityevent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_logsecurityevent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_ddosprotection", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_validaterequestsize", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L4", + "weight": 1.0, + "source": "src_root", + "target": "routers_admin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L4", + "weight": 1.0, + "source": "src_root", + "target": "routers_admin_adminrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L10", + "weight": 1.0, + "source": "src_root", + "target": "routers_audit", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L10", + "weight": 1.0, + "source": "src_root", + "target": "routers_audit_auditrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_root", + "target": "routers_events", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_root", + "target": "routers_events_eventrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_root", + "target": "routers_hackathon", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_root", + "target": "routers_hackathon_hackathonrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_root", + "target": "routers_hello", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_root", + "target": "routers_hello_hellorouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L8", + "weight": 1.0, + "source": "src_root", + "target": "routers_judge", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L8", + "weight": 1.0, + "source": "src_root", + "target": "routers_judge_judgerouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_root", + "target": "routers_member", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_root", + "target": "routers_member_memberrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L12", + "weight": 1.0, + "source": "src_root", + "target": "routers_settings", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L12", + "weight": 1.0, + "source": "src_root", + "target": "routers_settings_settingsrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L9", + "weight": 1.0, + "source": "src_root", + "target": "routers_stripe", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L9", + "weight": 1.0, + "source": "src_root", + "target": "routers_stripe_striperouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L11", + "weight": 1.0, + "source": "src_root", + "target": "routers_team", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L11", + "weight": 1.0, + "source": "src_root", + "target": "routers_team_teamrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_root", + "target": "routers_user", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_root", + "target": "routers_user_userrouter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L28", + "weight": 1.0, + "source": "src_root", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L1", + "weight": 1.0, + "source": "src_root", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "lib_trpc", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L2", + "weight": 1.0, + "source": "trpc_route", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_admin", + "target": "routers_admin_adminrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_events_eventcheckins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_events_events", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L15", + "weight": 1.0, + "source": "routers_admin", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_admin", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_admin", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_audit", + "target": "routers_audit_auditrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_audit", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_audit", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L9", + "weight": 1.0, + "source": "routers_events", + "target": "routers_events_eventrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_events", + "target": "schemas_events_eventcheckins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_events", + "target": "schemas_events_events", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_events", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_events", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_events", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_events", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L19", + "weight": 1.0, + "source": "routers_hackathon", + "target": "routers_hackathon_hackathonrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathoneventattendees", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathonevents", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathonprojects", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathonteams", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_hackathon", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_hackathon", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_hackathon", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_hackathon", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L32", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "routers_hello_procedures_greet", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L11", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "routers_hello_procedures_greetpublic", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "routers_hello_procedures_sayhello", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L19", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "routers_hello_procedures_sayhelloauth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures_sayhello", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures_greetpublic", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures_sayhelloauth", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures_greet", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_hellorouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L1", + "weight": 1.0, + "source": "routers_hello", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L55", + "weight": 1.0, + "source": "routers_judge", + "target": "routers_judge_buildcoveragequeues", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L156", + "weight": 1.0, + "source": "routers_judge", + "target": "routers_judge_judgerouter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L20", + "weight": 1.0, + "source": "routers_judge", + "target": "routers_judge_shufflearray", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L36", + "weight": 1.0, + "source": "routers_judge", + "target": "routers_judge_znormalize", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_hackathonmaps", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judgeassignments", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judgequeue", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judges", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judgevotes", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judgingprojects", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L18", + "weight": 1.0, + "source": "routers_judge", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_judge", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_judge", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L95", + "weight": 1.0, + "source": "routers_judge_buildcoveragequeues", + "target": "routers_judge_shufflearray", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L19", + "weight": 1.0, + "source": "routers_member", + "target": "routers_member_memberrouter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L8", + "weight": 1.0, + "source": "routers_member", + "target": "routers_member_nameschema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_member", + "target": "routers_member_phoneschema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L13", + "weight": 1.0, + "source": "routers_member", + "target": "routers_member_urlschema", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_member", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_member", + "target": "schemas_members_membershiphistory", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L6", + "weight": 1.0, + "source": "routers_member", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_member", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_member", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_member", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L8", + "weight": 1.0, + "source": "routers_settings", + "target": "routers_settings_settingsrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_settings", + "target": "schemas_settings_systemsettings", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L6", + "weight": 1.0, + "source": "routers_settings", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_settings", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_settings", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L289", + "weight": 1.0, + "source": "routers_stripe", + "target": "routers_stripe_createorupdatemembership", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_stripe", + "target": "routers_stripe_striperouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_stripe", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_stripe", + "target": "schemas_stripe_stripepayments", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_stripe", + "target": "schemas_stripe_useraccountlinks", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_stripe", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_stripe", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_stripe", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L13", + "weight": 1.0, + "source": "routers_team", + "target": "routers_team_checkteameditwindow", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L40", + "weight": 1.0, + "source": "routers_team", + "target": "routers_team_teamrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_team", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_team", + "target": "schemas_hackathons_hackathonprojects", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_team", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_team", + "target": "schemas_hackathons_hackathonteams", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L11", + "weight": 1.0, + "source": "routers_team", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_team", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_team", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L9", + "weight": 1.0, + "source": "routers_user", + "target": "routers_user_userrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_user", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_user", + "target": "schemas_members_userprofiles", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_user", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_user", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_user", + "target": "src_trpc_uploadprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L298", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_adminprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L138", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_cache_invalidation_map", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L180", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_cacheinvalidationmiddleware", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L81", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_enforcecontenttype", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L15", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_errorformatter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L240", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_isauthed", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L291", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_judgeprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L277", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L199", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L44", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_requiresdb", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L60", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_sanitizeinputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L37", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_t", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L284", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_uploadprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L98", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_uploadsanitizeinputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "api_tsconfig", + "target": "api_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "api_tsconfig", + "target": "api_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "api_tsconfig", + "target": "api_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "api_tsconfig", + "target": "api_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "api_tsconfig_compileroptions", + "target": "api_tsconfig_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "api_tsconfig_compileroptions", + "target": "api_tsconfig_compileroptions_rootdir", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/eslint.config.mjs", + "source_location": "L4", + "weight": 1.0, + "source": "auth_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "auth_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_peerdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "auth_package_exports", + "target": "auth_package_exports_email", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "auth_package_scripts", + "target": "auth_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "auth_package_scripts", + "target": "auth_package_scripts_type_check", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_auth_drizzle_adapter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_drizzle_orm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_next_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_nodemailer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_query_db", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "auth_package_peerdependencies", + "target": "auth_package_peerdependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_eslint_config_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_types_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_typescript_eslint_eslint_plugin", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_typescript_eslint_parser", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_typescript_eslint_utils", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_adapter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_adapter", + "target": "schemas_auth_accounts", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_adapter", + "target": "schemas_auth_sessions", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_adapter", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_adapter", + "target": "schemas_auth_verificationtokens", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L66", + "weight": 1.0, + "source": "src_adapter", + "target": "src_adapter_adapter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_adapter", + "target": "src_adapter_createadapter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_auth", + "target": "src_adapter", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_adapter_adapter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_auth", + "target": "src_adapter_adapter", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L1", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L10", + "weight": 1.0, + "source": "src_auth", + "target": "src_auth_handlers_auth_signin_signout", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_auth", + "target": "src_config", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_auth", + "target": "src_config_authconfig", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L1", + "weight": 1.0, + "source": "src_utils", + "target": "src_auth", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/config.ts", + "source_location": "L68", + "weight": 1.0, + "source": "src_config", + "target": "src_config_authconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/config.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_config", + "target": "src_config_html", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_config_authconfig", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_email", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/email.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_email", + "target": "src_email_sendacceptanceemail", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_email_sendacceptanceemail", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_utils", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_utils_getcurrentuserid", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_utils_getsession", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_utils_requireauth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L15", + "weight": 1.0, + "source": "src_utils", + "target": "src_utils_getcurrentuserid", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_utils", + "target": "src_utils_getsession", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_utils", + "target": "src_utils_requireauth", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L8", + "weight": 1.0, + "source": "src_utils_requireauth", + "target": "src_utils_getsession", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L16", + "weight": 1.0, + "source": "src_utils_getcurrentuserid", + "target": "src_utils_requireauth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "auth_tsconfig", + "target": "auth_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "auth_tsconfig", + "target": "auth_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "auth_tsconfig", + "target": "auth_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "auth_tsconfig", + "target": "auth_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "auth_tsconfig_compileroptions", + "target": "auth_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "auth_tsconfig_compileroptions", + "target": "auth_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "auth_tsconfig_compileroptions", + "target": "auth_tsconfig_compileroptions_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "auth_tsconfig_compileroptions_paths", + "target": "auth_tsconfig_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_version", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/eslint.config.mjs", + "source_location": "L4", + "weight": 1.0, + "source": "db_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "db_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "db_package", + "target": "db_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "db_package", + "target": "db_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "db_package", + "target": "db_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "db_package", + "target": "db_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "db_package", + "target": "db_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "db_package", + "target": "db_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "db_package", + "target": "db_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "db_package", + "target": "db_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "db_package", + "target": "db_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_db_reset", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_db_seed", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_migrate_generate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_migrate_push", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_studio", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_drizzle_orm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_next_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_pg", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_postgres", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_t3_oss_env_nextjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_zod", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_drizzle_kit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_tsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_types_pg", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_xlsx", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L3", + "weight": 1.0, + "source": "scripts_seed", + "target": "schemas_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L6", + "weight": 1.0, + "source": "scripts_seed", + "target": "scripts_seed_main", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L2", + "weight": 1.0, + "source": "scripts_seed", + "target": "src_client", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "src_client", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/client.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_client", + "target": "schemas_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/client.ts", + "source_location": "L8", + "weight": 1.0, + "source": "src_client", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/client.ts", + "source_location": "L10", + "weight": 1.0, + "source": "src_client", + "target": "src_client_globalfordb", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/env.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_env_ts_src_env", + "target": "packages_db_src_env_ts_src_env_env", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_admins", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth_accounts", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth_sessions", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth_verificationtokens", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L13", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_events", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L13", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_events_eventcheckins", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L13", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_events_events", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons_hackathonprojects", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons_hackathonteams", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_index", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L6", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L6", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L6", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_members_membershiphistory", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L14", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_security", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L14", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L14", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_security_securityseverityenum", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L15", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_settings", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L15", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_settings_systemsettings", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L5", + "weight": 1.0, + "source": "schemas_admins", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L20", + "weight": 1.0, + "source": "schemas_admins", + "target": "schemas_admins_adminsrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L3", + "weight": 1.0, + "source": "schemas_admins", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L3", + "weight": 1.0, + "source": "schemas_admins", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_admins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L26", + "weight": 1.0, + "source": "schemas_auth", + "target": "schemas_auth_accounts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L51", + "weight": 1.0, + "source": "schemas_auth", + "target": "schemas_auth_sessions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_auth", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L63", + "weight": 1.0, + "source": "schemas_auth", + "target": "schemas_auth_verificationtokens", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L10", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L12", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L10", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L12", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L4", + "weight": 1.0, + "source": "stripe_route", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_auth_accounts", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_auth_sessions", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_auth_verificationtokens", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L31", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_events_eventcheckins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L58", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_events_eventcheckinsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_events_events", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L50", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_events_eventsrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L6", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_events", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L294", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathoneventattendees", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L325", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathoneventattendeesrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L268", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonevents", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L314", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathoneventsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L85", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L229", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonparticipantsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L183", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonprojects", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L339", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonprojectsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L17", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L223", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L60", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonteams", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L251", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonteamsrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L14", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L14", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_judge", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L9", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_security", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L10", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_settings", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L8", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_stripe", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L124", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_hackathonmaps", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L217", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_hackathonmapsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L42", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgeassignments", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L180", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgeassignmentsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L140", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgequeue", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L224", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgequeuerelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L15", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judges", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L170", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgesrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L93", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgevotes", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L206", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgevotesrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L66", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgingprojects", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L194", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgingprojectsrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_judge_judges", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_judge_judgingprojects", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_judge_judgevotes", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_judge_judgequeue", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L30", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L67", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_membershiphistory", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L111", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_membershiphistoryrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L103", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_membersrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_userprofiles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L96", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_userprofilesrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L85", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_usersrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L4", + "weight": 1.0, + "source": "stripe_route", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L17", + "weight": 1.0, + "source": "schemas_security", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_security", + "target": "schemas_security_securityseverityenum", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "cleanup_audit_logs_route", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/settings.ts", + "source_location": "L9", + "weight": 1.0, + "source": "schemas_settings", + "target": "schemas_settings_systemsettings", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L17", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_stripe_stripepayments", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L83", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_stripe_stripepaymentsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L58", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_stripe_useraccountlinks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L94", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_stripe_useraccountlinksrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L4", + "weight": 1.0, + "source": "stripe_route", + "target": "schemas_stripe_stripepayments", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_stripe_stripepayments", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_stripe_useraccountlinks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "db_tsconfig", + "target": "db_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L17", + "weight": 1.0, + "source": "db_tsconfig", + "target": "db_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "db_tsconfig", + "target": "db_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "source": "db_tsconfig", + "target": "db_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "source": "db_tsconfig_compileroptions_paths", + "target": "db_tsconfig_paths", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/ui/eslint.config.mjs", + "source_location": "L4", + "weight": 1.0, + "source": "ui_eslint_config", + "target": "eslint_react_internal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/ui/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "ui_eslint_config", + "target": "eslint_react_internal_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L47", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_files", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_license", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_peerdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_sideeffects", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_default", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_exports_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_exports_styles_css", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_import", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_build_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_build_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_check_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_dev_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_dev_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "ui_package_peerdependencies", + "target": "ui_package_peerdependencies_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L43", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_query_eslint_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L38", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_query_tailwind_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L44", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_tailwindcss_cli", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L41", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_types_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L42", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_types_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L45", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L48", + "weight": 1.0, + "source": "ui_package_dependencies", + "target": "ui_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L49", + "weight": 1.0, + "source": "ui_package_dependencies", + "target": "ui_package_dependencies_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/card.jsx", + "source_location": "L4", + "weight": 1.0, + "source": "packages_ui_src_card_jsx_src_card", + "target": "packages_ui_src_card_jsx_src_card_card", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/card.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "packages_ui_src_card_tsx_src_card", + "target": "packages_ui_src_card_tsx_src_card_card", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "src_glass", + "target": "src_glass_glass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "src_glass", + "target": "src_glass_glassprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/gradient.jsx", + "source_location": "L4", + "weight": 1.0, + "source": "packages_ui_src_gradient_jsx_src_gradient", + "target": "packages_ui_src_gradient_jsx_src_gradient_gradient", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/gradient.tsx", + "source_location": "L1", + "weight": 1.0, + "source": "packages_ui_src_gradient_tsx_src_gradient", + "target": "packages_ui_src_gradient_tsx_src_gradient_gradient", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/turborepo-logo.tsx", + "source_location": "L1", + "weight": 1.0, + "source": "packages_ui_src_turborepo_logo_tsx_src_turborepo_logo", + "target": "src_turborepo_logo_turborepologo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "ui_tsconfig", + "target": "ui_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "ui_tsconfig", + "target": "ui_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "ui_tsconfig", + "target": "ui_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "source": "ui_tsconfig", + "target": "ui_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_emitdeclarationonly", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_jsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_rootdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L2", + "weight": 1.0, + "source": "ui_turbo", + "target": "ui_turbo_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L3", + "weight": 1.0, + "source": "ui_turbo", + "target": "ui_turbo_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L4", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L10", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_build_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L7", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_build_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L13", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L20", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_dev_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L16", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_dev_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L5", + "weight": 1.0, + "source": "ui_turbo_tasks_build", + "target": "ui_turbo_build_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L8", + "weight": 1.0, + "source": "ui_turbo_tasks_build_styles", + "target": "ui_turbo_build_styles_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L11", + "weight": 1.0, + "source": "ui_turbo_tasks_build_components", + "target": "ui_turbo_build_components_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L14", + "weight": 1.0, + "source": "ui_turbo_tasks_dev", + "target": "ui_turbo_dev_with", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L17", + "weight": 1.0, + "source": "ui_turbo_tasks_dev_styles", + "target": "ui_turbo_dev_styles_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L18", + "weight": 1.0, + "source": "ui_turbo_tasks_dev_styles", + "target": "ui_turbo_dev_styles_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L21", + "weight": 1.0, + "source": "ui_turbo_tasks_dev_components", + "target": "ui_turbo_dev_components_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L22", + "weight": 1.0, + "source": "ui_turbo_tasks_dev_components", + "target": "ui_turbo_dev_components_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "restore-workspace.js", + "source_location": "L1", + "weight": 1.0, + "source": "restore_workspace", + "target": "restore_workspace_fs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "restore-workspace.js", + "source_location": "L4", + "weight": 1.0, + "source": "restore_workspace", + "target": "restore_workspace_packagestorestore", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "restore-workspace.js", + "source_location": "L2", + "weight": 1.0, + "source": "restore_workspace", + "target": "restore_workspace_path", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "restore-workspace.js", + "source_location": "L15", + "weight": 1.0, + "source": "restore_workspace", + "target": "restore_workspace_restore", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_author", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_description", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_keywords", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_license", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "discordbot_package_scripts", + "target": "discordbot_package_scripts_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "discordbot_package_scripts", + "target": "discordbot_package_scripts_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "discordbot_package_scripts", + "target": "discordbot_package_scripts_start", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "discordbot_package_dependencies", + "target": "discordbot_package_dependencies_discord_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "discordbot_package_dependencies", + "target": "discordbot_package_dependencies_dotenv", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "discordbot_package_dependencies", + "target": "discordbot_package_dependencies_fuse_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "discordbot_package_dependencies", + "target": "discordbot_package_dependencies_zod", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "discordbot_package_devdependencies", + "target": "discordbot_package_devdependencies_tsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "discordbot_package_devdependencies", + "target": "discordbot_package_devdependencies_types_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "discordbot_package_devdependencies", + "target": "discordbot_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L229", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L239", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L161", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_guidesearchengine", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L11", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_searchablesection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L227", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_searchengine", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L16", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_searchresult", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L203", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_searchresultformatter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L21", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_synonymexpander", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L7", + "weight": 1.0, + "source": "commands_ask", + "target": "src_notion", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L7", + "weight": 1.0, + "source": "commands_ask", + "target": "src_notion_getfullguide", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L144", + "weight": 1.0, + "source": "commands_ask_synonymexpander", + "target": "commands_ask_synonymexpander_addwordandsynonyms", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L127", + "weight": 1.0, + "source": "commands_ask_synonymexpander", + "target": "commands_ask_synonymexpander_expandquery", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L136", + "weight": 1.0, + "source": "commands_ask_synonymexpander", + "target": "commands_ask_synonymexpander_tokenize", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L168", + "weight": 1.0, + "source": "commands_ask_guidesearchengine_search", + "target": "commands_ask_synonymexpander_expandquery", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L130", + "weight": 1.0, + "source": "commands_ask_synonymexpander_expandquery", + "target": "commands_ask_synonymexpander_addwordandsynonyms", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L128", + "weight": 1.0, + "source": "commands_ask_synonymexpander_expandquery", + "target": "commands_ask_synonymexpander_tokenize", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L173", + "weight": 1.0, + "source": "commands_ask_guidesearchengine", + "target": "commands_ask_guidesearchengine_ensureindexready", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L178", + "weight": 1.0, + "source": "commands_ask_guidesearchengine", + "target": "commands_ask_guidesearchengine_rebuildindex", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L165", + "weight": 1.0, + "source": "commands_ask_guidesearchengine", + "target": "commands_ask_guidesearchengine_search", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L246", + "weight": 1.0, + "source": "commands_ask_execute", + "target": "commands_ask_guidesearchengine_search", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L166", + "weight": 1.0, + "source": "commands_ask_guidesearchengine_search", + "target": "commands_ask_guidesearchengine_ensureindexready", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L175", + "weight": 1.0, + "source": "commands_ask_guidesearchengine_ensureindexready", + "target": "commands_ask_guidesearchengine_rebuildindex", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L179", + "weight": 1.0, + "source": "commands_ask_guidesearchengine_rebuildindex", + "target": "src_notion_getfullguide" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L206", + "weight": 1.0, + "source": "commands_ask_searchresultformatter", + "target": "commands_ask_searchresultformatter_formatembed", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L222", + "weight": 1.0, + "source": "commands_ask_searchresultformatter", + "target": "commands_ask_searchresultformatter_getnoresultsmessage", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L216", + "weight": 1.0, + "source": "commands_ask_searchresultformatter", + "target": "commands_ask_searchresultformatter_getwarningmessage", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L253", + "weight": 1.0, + "source": "commands_ask_execute", + "target": "commands_ask_searchresultformatter_formatembed", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L254", + "weight": 1.0, + "source": "commands_ask_execute", + "target": "commands_ask_searchresultformatter_getwarningmessage", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L249", + "weight": 1.0, + "source": "commands_ask_execute", + "target": "commands_ask_searchresultformatter_getnoresultsmessage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L144", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_clearcommandexecutor", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L109", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_clearcommandvalidator", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L13", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_clearresult", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L189", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L201", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L43", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_messagecleaner", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L19", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_permissionvalidator", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L32", + "weight": 1.0, + "source": "commands_clear_permissionvalidator", + "target": "commands_clear_permissionvalidator_getallowedroles", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L27", + "weight": 1.0, + "source": "commands_clear_permissionvalidator", + "target": "commands_clear_permissionvalidator_geterrormessage", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L22", + "weight": 1.0, + "source": "commands_clear_permissionvalidator", + "target": "commands_clear_permissionvalidator_haspermission", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L38", + "weight": 1.0, + "source": "commands_clear_permissionvalidator", + "target": "commands_clear_permissionvalidator_memberhasanyrole", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L160", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor_execute", + "target": "commands_clear_permissionvalidator_haspermission", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L23", + "weight": 1.0, + "source": "commands_clear_permissionvalidator_haspermission", + "target": "commands_clear_permissionvalidator_getallowedroles", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L24", + "weight": 1.0, + "source": "commands_clear_permissionvalidator_haspermission", + "target": "commands_clear_permissionvalidator_memberhasanyrole", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L46", + "weight": 1.0, + "source": "commands_clear_messagecleaner", + "target": "commands_clear_messagecleaner_clearmessages", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L78", + "weight": 1.0, + "source": "commands_clear_messagecleaner", + "target": "commands_clear_messagecleaner_fetchmessages", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L85", + "weight": 1.0, + "source": "commands_clear_messagecleaner", + "target": "commands_clear_messagecleaner_filterdeletablemessages", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L96", + "weight": 1.0, + "source": "commands_clear_messagecleaner", + "target": "commands_clear_messagecleaner_geterrormessage", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L172", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor_execute", + "target": "commands_clear_messagecleaner_clearmessages", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L51", + "weight": 1.0, + "source": "commands_clear_messagecleaner_clearmessages", + "target": "commands_clear_messagecleaner_fetchmessages", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L61", + "weight": 1.0, + "source": "commands_clear_messagecleaner_clearmessages", + "target": "commands_clear_messagecleaner_filterdeletablemessages", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L73", + "weight": 1.0, + "source": "commands_clear_messagecleaner_clearmessages", + "target": "commands_clear_messagecleaner_geterrormessage", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L162", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor_execute", + "target": "commands_clear_messagecleaner_geterrormessage", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L110", + "weight": 1.0, + "source": "commands_clear_clearcommandvalidator", + "target": "commands_clear_clearcommandvalidator_validatecontext", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L148", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor_execute", + "target": "commands_clear_clearcommandvalidator_validatecontext", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L145", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor", + "target": "commands_clear_clearcommandexecutor_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L42", + "weight": 1.0, + "source": "commands_guide", + "target": "commands_guide_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L46", + "weight": 1.0, + "source": "commands_guide", + "target": "commands_guide_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L11", + "weight": 1.0, + "source": "commands_guide", + "target": "commands_guide_guide", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L65", + "weight": 1.0, + "source": "commands_guide", + "target": "commands_guide_handleselectmenu", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L9", + "weight": 1.0, + "source": "commands_guide", + "target": "src_notion", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L9", + "weight": 1.0, + "source": "commands_guide", + "target": "src_notion_getfullguide", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L9", + "weight": 1.0, + "source": "commands_guide", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L34", + "weight": 1.0, + "source": "commands_guide_guide", + "target": "commands_guide_guide_formatcontent", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L16", + "weight": 1.0, + "source": "commands_guide_guide", + "target": "commands_guide_guide_getsections", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L25", + "weight": 1.0, + "source": "commands_guide_guide", + "target": "commands_guide_guide_getselectmenuoptions", + "confidence_score": 1.0 + }, + { + "relation": "references", + "context": "field", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L13", + "weight": 1.0, + "source": "commands_guide_guide", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L49", + "weight": 1.0, + "source": "commands_guide_execute", + "target": "commands_guide_guide_getsections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L19", + "weight": 1.0, + "source": "commands_guide_guide_getsections", + "target": "src_notion_getfullguide" + }, + { + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L16", + "weight": 1.0, + "source": "commands_guide_guide_getsections", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L71", + "weight": 1.0, + "source": "commands_guide_handleselectmenu", + "target": "commands_guide_guide_getsections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L50", + "weight": 1.0, + "source": "commands_guide_execute", + "target": "commands_guide_guide_getselectmenuoptions", + "confidence_score": 1.0 + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L25", + "weight": 1.0, + "source": "commands_guide_guide_getselectmenuoptions", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L72", + "weight": 1.0, + "source": "commands_guide_handleselectmenu", + "target": "commands_guide_guide_formatcontent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L11", + "weight": 1.0, + "source": "commands_meow", + "target": "commands_meow_cooldownusers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L7", + "weight": 1.0, + "source": "commands_meow", + "target": "commands_meow_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L14", + "weight": 1.0, + "source": "commands_meow", + "target": "commands_meow_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L3", + "weight": 1.0, + "source": "commands_ping", + "target": "commands_ping_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L7", + "weight": 1.0, + "source": "commands_ping", + "target": "commands_ping_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L15", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_blocked_roles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L26", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L31", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L95", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_handlebutton", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L17", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_roleemojis", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L40", + "weight": 1.0, + "source": "commands_startevent", + "target": "commands_startevent_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L9", + "weight": 1.0, + "source": "commands_startevent", + "target": "commands_startevent_eventscheduler", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L71", + "weight": 1.0, + "source": "commands_startevent", + "target": "commands_startevent_execute", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L19", + "weight": 1.0, + "source": "commands_startevent_eventscheduler", + "target": "commands_startevent_eventscheduler_calculatedelay", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L35", + "weight": 1.0, + "source": "commands_startevent_eventscheduler", + "target": "commands_startevent_eventscheduler_getunixtimestamp", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L13", + "weight": 1.0, + "source": "commands_startevent_eventscheduler", + "target": "commands_startevent_eventscheduler_parsetime", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L98", + "weight": 1.0, + "source": "commands_startevent_execute", + "target": "commands_startevent_eventscheduler_parsetime", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L106", + "weight": 1.0, + "source": "commands_startevent_execute", + "target": "commands_startevent_eventscheduler_calculatedelay", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L112", + "weight": 1.0, + "source": "commands_startevent_execute", + "target": "commands_startevent_eventscheduler_getunixtimestamp", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L18", + "weight": 1.0, + "source": "sites_discordbot_src_env_ts_src_env", + "target": "sites_discordbot_src_env_ts_src_env_env", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L6", + "weight": 1.0, + "source": "sites_discordbot_src_env_ts_src_env", + "target": "src_env_envschema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L219", + "weight": 1.0, + "source": "sites_discordbot_src_index_ts_src_index", + "target": "src_index_bot", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L21", + "weight": 1.0, + "source": "sites_discordbot_src_index_ts_src_index", + "target": "src_index_botcommand", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L19", + "weight": 1.0, + "source": "sites_discordbot_src_index_ts_src_index", + "target": "src_index_dirname", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L18", + "weight": 1.0, + "source": "sites_discordbot_src_index_ts_src_index", + "target": "src_index_filename", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L32", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_constructor", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L156", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_handlebuttonpress", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L95", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_handleinteraction", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L135", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_handleselectmenu", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L111", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_handleslashcommand", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L48", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_loadcommands", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L79", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_registercommands", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L42", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_start", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L43", + "weight": 1.0, + "source": "src_index_bot_start", + "target": "src_index_bot_loadcommands", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L44", + "weight": 1.0, + "source": "src_index_bot_start", + "target": "src_index_bot_registercommands", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L104", + "weight": 1.0, + "source": "src_index_bot_handleinteraction", + "target": "src_index_bot_handlebuttonpress", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L101", + "weight": 1.0, + "source": "src_index_bot_handleinteraction", + "target": "src_index_bot_handleselectmenu", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L98", + "weight": 1.0, + "source": "src_index_bot_handleinteraction", + "target": "src_index_bot_handleslashcommand", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L123", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_cleanmarkdown", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L72", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_extracttext", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L53", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_getblockchildren", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L155", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_getfullguide", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L14", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_notionapiresponse", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_notionblock", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L36", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_notionfetch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L21", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_richtextsegment", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L132", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_traverseblocks", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L137", + "weight": 1.0, + "source": "src_notion_traverseblocks", + "target": "src_notion_getblockchildren", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L140", + "weight": 1.0, + "source": "src_notion_traverseblocks", + "target": "src_notion_extracttext", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L143", + "weight": 1.0, + "source": "src_notion_traverseblocks", + "target": "src_notion_cleanmarkdown", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L160", + "weight": 1.0, + "source": "src_notion_getfullguide", + "target": "src_notion_traverseblocks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L7", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_dirname", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L10", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_edgecases", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L6", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_filename", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L26", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_mockinteraction", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L171", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_runsuite", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L213", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_runtest", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L115", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_channel", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L67", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_client", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L36", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_constructor", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L119", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_createmockchannel", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L132", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_deferreply", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L151", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_deferupdate", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L143", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_editreply", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L155", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_extractcontent", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L147", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_followup", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L86", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_guild", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L44", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_isbutton", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L41", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_ischatinputcommand", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L47", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_isstringselectmenu", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L166", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_log", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L51", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_options", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L137", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_reply", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L116", + "weight": 1.0, + "source": "tests_testask_mockinteraction_channel", + "target": "tests_testask_mockinteraction_createmockchannel", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L134", + "weight": 1.0, + "source": "tests_testask_mockinteraction_deferreply", + "target": "tests_testask_mockinteraction_log", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L140", + "weight": 1.0, + "source": "tests_testask_mockinteraction_reply", + "target": "tests_testask_mockinteraction_extractcontent", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L144", + "weight": 1.0, + "source": "tests_testask_mockinteraction_editreply", + "target": "tests_testask_mockinteraction_extractcontent", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L148", + "weight": 1.0, + "source": "tests_testask_mockinteraction_followup", + "target": "tests_testask_mockinteraction_extractcontent", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L152", + "weight": 1.0, + "source": "tests_testask_mockinteraction_deferupdate", + "target": "tests_testask_mockinteraction_log", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L163", + "weight": 1.0, + "source": "tests_testask_mockinteraction_extractcontent", + "target": "tests_testask_mockinteraction_log", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L191", + "weight": 1.0, + "source": "tests_testask_runsuite", + "target": "tests_testask_runtest", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/start.sh", + "source_location": "L1", + "weight": 1.0, + "source": "discordbot_start", + "target": "c_users_bootcamp_desktop_passion_query_sites_discordbot_start_sh__entry", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/startup.sh", + "source_location": "L1", + "weight": 1.0, + "source": "discordbot_startup", + "target": "c_users_bootcamp_desktop_passion_query_sites_discordbot_startup_sh__entry", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "discordbot_tsconfig", + "target": "discordbot_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L20", + "weight": 1.0, + "source": "discordbot_tsconfig", + "target": "discordbot_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L19", + "weight": 1.0, + "source": "discordbot_tsconfig", + "target": "discordbot_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_allowsyntheticdefaultimports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_declaration", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_noimplicitany", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_resolvejsonmodule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_rootdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L17", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_sourcemap", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_strict", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/CodeOfConductFooter.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "app_codeofconductfooter", + "target": "app_codeofconductfooter_codeofconductfooter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "app_layout_robotomono", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "app_layout_spacegrotesk", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_footer", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_footer_footer", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_navbar", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_serviceworkerregistrar", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_serviceworkerregistrar_serviceworkerregistrar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L23", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "sites_hacklytics2027_app_layout_tsx_app_layout_metadata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L40", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "sites_hacklytics2027_app_layout_tsx_app_layout_rootlayout", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/not-found.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_hacklytics2027_app_not_found_tsx_app_not_found", + "target": "sites_hacklytics2027_app_not_found_tsx_app_not_found_notfound", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L260", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "app_page_countdown", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "app_page_flowerbloom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L370", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "app_page_homepage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "components_floatingflowers_flowerdivider", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "components_homesections", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L11", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_aliases", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L4", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_rsc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_style", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L6", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_tailwind", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L5", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_tsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L9", + "weight": 1.0, + "source": "hacklytics2027_components_tailwind", + "target": "hacklytics2027_components_tailwind_basecolor", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L7", + "weight": 1.0, + "source": "hacklytics2027_components_tailwind", + "target": "hacklytics2027_components_tailwind_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L8", + "weight": 1.0, + "source": "hacklytics2027_components_tailwind", + "target": "hacklytics2027_components_tailwind_css", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L12", + "weight": 1.0, + "source": "hacklytics2027_components_aliases", + "target": "hacklytics2027_components_aliases_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L13", + "weight": 1.0, + "source": "hacklytics2027_components_aliases", + "target": "hacklytics2027_components_aliases_utils", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_cherryblossom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L219", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_colors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L234", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_drift_classes", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L133", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_fallingpetal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L323", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L442", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L354", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_flowerdivider", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L205", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_flowerinstance", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L278", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_flowerrenderer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L472", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_flowervine", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L251", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_generateflowers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L49", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_lotusflower", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L243", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_seededrandom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L104", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_smalldaisy", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L160", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_spiralbloom", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "components_homesections", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sections_aboutsection", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_faqsection", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_sponsor", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_trackssection", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L481", + "weight": 1.0, + "source": "components_floatingflowers_flowervine", + "target": "components_floatingflowers_seededrandom", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L252", + "weight": 1.0, + "source": "components_floatingflowers_generateflowers", + "target": "components_floatingflowers_seededrandom", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "components_homesections", + "target": "components_floatingflowers_flowerdivider", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "components_floatingflowers_flowerdivider", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sections_aboutsection", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_faqsection", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_sponsor", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_trackssection", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "components_homesections", + "target": "components_floatingflowers_flowervine", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/Footer.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "components_footer", + "target": "components_footer_footer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "components_homesections", + "target": "components_homesections_homesections", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "components_homesections", + "target": "components_lazysection", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "components_homesections", + "target": "schedule_schedule", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "components_homesections", + "target": "sections_aboutsection", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "components_homesections", + "target": "sections_faqsection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/LazySection.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "components_lazysection", + "target": "components_lazysection_lazysection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "components_navbar", + "target": "components_navbar_navbar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "components_navbar", + "target": "components_navbar_navitems", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ServiceWorkerRegistrar.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "components_serviceworkerregistrar", + "target": "components_serviceworkerregistrar_serviceworkerregistrar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_aboutsection", + "target": "sections_aboutsection_aboutsection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L82", + "weight": 1.0, + "source": "sections_faqsection", + "target": "sections_faqsection_faq", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sections_faqsection", + "target": "sections_faqsection_faqcard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L290", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_prizeandspeakersection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_prizeticket", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L145", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_speakeravatar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L243", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_speakercard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L81", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_trackprizecard", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "schedule_schedule", + "target": "schedule_data", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "schedule_schedule", + "target": "schedule_data_categories", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "schedule_schedule", + "target": "schedule_data_scheduledata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "schedule_schedule", + "target": "schedule_schedule_schedule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L142", + "weight": 1.0, + "source": "schedule_data", + "target": "schedule_data_categories", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L8", + "weight": 1.0, + "source": "schedule_data", + "target": "schedule_data_dayschedule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L9", + "weight": 1.0, + "source": "schedule_data", + "target": "schedule_data_scheduledata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L1", + "weight": 1.0, + "source": "schedule_data", + "target": "schedule_data_scheduleevent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_bronzesponsors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_goldsponsors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_minisponsors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_silversponsors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L34", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_sponsorssection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sections_trackssection", + "target": "sections_trackssection_icons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L84", + "weight": 1.0, + "source": "sections_trackssection", + "target": "sections_trackssection_trackcard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L125", + "weight": 1.0, + "source": "sections_trackssection", + "target": "sections_trackssection_trackssection", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "ui_button", + "target": "lib_utils", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "ui_button", + "target": "lib_utils_cn", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L43", + "weight": 1.0, + "source": "ui_button", + "target": "ui_button_button", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L37", + "weight": 1.0, + "source": "ui_button", + "target": "ui_button_buttonprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "ui_button", + "target": "ui_button_buttonvariants", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "hacklytics2027_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "hacklytics2027_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/eslint.config.mjs", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_eslint_config", + "target": "eslint_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/lib/utils.ts", + "source_location": "L8", + "weight": 1.0, + "source": "lib_utils", + "target": "lib_utils_cn", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/next.config.ts", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_next_config", + "target": "hacklytics2027_next_config_nextconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_e2e", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_export", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_start", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_vision", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_babel_plugin_react_compiler", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_class_variance_authority", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_clsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_firebase", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_radix_ui_react_slot", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_react_icons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_tailwind_merge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_yudiel_react_qr_scanner", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_autoprefixer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_baseline_browser_mapping", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_playwright_test", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L38", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_tailwindcss_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_types_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_types_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_types_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_typescript_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/postcss.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "hacklytics2027_postcss_config", + "target": "hacklytics2027_postcss_config_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L78", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L13", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_getcachecontrol", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L38", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L44", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L49", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_handleetag", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L60", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_handlelastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L84", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_proxy", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L71", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_securityheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L130", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_getcachecontrol", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L51", + "weight": 1.0, + "source": "hacklytics2027_proxy_handleetag", + "target": "hacklytics2027_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L93", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L62", + "weight": 1.0, + "source": "hacklytics2027_proxy_handlelastmodified", + "target": "hacklytics2027_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L94", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L88", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_handleetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L109", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_handlelastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L62", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_cachefirst", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L51", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_isnavigationrequest", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L40", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_isstaticasset", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L118", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_networkfirst", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L6", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_precache_urls", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L84", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_stalewhilerevalidate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L1", + "weight": 1.0, + "source": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision", + "target": "scripts_capture_vision_chromium", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L2", + "weight": 1.0, + "source": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision", + "target": "scripts_capture_vision_path", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L4", + "weight": 1.0, + "source": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision", + "target": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision_capturevision", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/scripts/capture-vision.ts", + "source_location": "L7", + "weight": 1.0, + "source": "sites_hacklytics2027_scripts_capture_vision_ts_scripts_capture_vision", + "target": "sites_hacklytics2027_scripts_capture_vision_ts_scripts_capture_vision_capturevision", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_tsconfig", + "target": "hacklytics2027_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L32", + "weight": 1.0, + "source": "hacklytics2027_tsconfig", + "target": "hacklytics2027_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L25", + "weight": 1.0, + "source": "hacklytics2027_tsconfig", + "target": "hacklytics2027_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_allowjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_incremental", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_isolatedmodules", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_jsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_noemit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L20", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_plugins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_resolvejsonmodule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L23", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_strict", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L21", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions_paths", + "target": "hacklytics2027_tsconfig_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_turbo", + "target": "hacklytics2027_turbo_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_turbo", + "target": "hacklytics2027_turbo_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L4", + "weight": 1.0, + "source": "hacklytics2027_turbo", + "target": "hacklytics2027_turbo_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L5", + "weight": 1.0, + "source": "hacklytics2027_turbo_tasks", + "target": "hacklytics2027_turbo_tasks_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L6", + "weight": 1.0, + "source": "hacklytics2027_turbo_tasks_build", + "target": "hacklytics2027_turbo_build_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L22", + "weight": 1.0, + "source": "analytics_page", + "target": "analytics_page_analyticspage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "analytics_page", + "target": "analytics_page_statcardprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "analytics_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "analytics_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "analytics_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "analytics_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "attendees_page_attendeespage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "attendees_page_adminattendeeviewer", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_analyticstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_analyticstab_analyticstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_attendeestab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_attendeestab_attendeestab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_eventstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_eventstab_eventstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_judgestab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_judgestab_judgestab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_scannertab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_scannertab_scannertab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_adminhackathondashboard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L277", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_iconcalendar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L259", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_iconchart", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L223", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_iconscanner", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L241", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_iconusers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_tab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_error_tsx_hackathons_error", + "target": "hackathons_error_adminerror", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_error_tsx_hackathons_error", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_error_tsx_hackathons_error", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading", + "target": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading_loading", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_createhackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_createhackathonform_createhackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_edithackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_edithackathonform_edithackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_hackathoncard", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_hackathoncard_hackathoncard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_adminhackathonspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "judging_page", + "target": "judging_judgematrixview", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "judging_page", + "target": "judging_judgematrixview_judgematrixview", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "judging_page", + "target": "judging_judgingtools", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "judging_page", + "target": "judging_judgingtools_judgingtools", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "judging_page", + "target": "judging_page_adminresultspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "judging_page", + "target": "judging_rankingsview", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "judging_page", + "target": "judging_rankingsview_rankingsview", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "judging_page", + "target": "judging_roomassignmentsview", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "judging_page", + "target": "judging_roomassignmentsview_roomassignmentsview", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "judging_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "judging_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "admin_layout", + "target": "admin_layout_layout", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "admin_layout", + "target": "portal_adminlayout", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "admin_layout", + "target": "portal_adminlayout_adminlayout", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "admin_page", + "target": "admin_page_adminpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "admin_page", + "target": "admin_page_event", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "admin_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "admin_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "admin_page", + "target": "portal_eventformmodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "admin_page", + "target": "portal_eventformmodal_eventformmodal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "admin_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "admin_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "admin_page", + "target": "portal_qrcodemodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "admin_page", + "target": "portal_qrcodemodal_qrcodemodal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page_projectspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "settings_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "settings_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "settings_page", + "target": "settings_page_adminsettingspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "setup_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "setup_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "setup_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "setup_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "setup_page", + "target": "setup_createhackathonstep", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "setup_page", + "target": "setup_createhackathonstep_createhackathonstep", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_page", + "target": "setup_importdatastep", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_page", + "target": "setup_importdatastep_importjudgesstep", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_page", + "target": "setup_importdatastep_importprojectsstep", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L33", + "weight": 1.0, + "source": "setup_page", + "target": "setup_page_adminsetuppage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "setup_page", + "target": "setup_page_parsecsv", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "setup_page", + "target": "setup_page_parsedjudge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "setup_page", + "target": "setup_page_parsedproject", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "setup_page", + "target": "setup_setupwizard", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "setup_page", + "target": "setup_setupwizard_setupwizard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts", + "source_location": "L7", + "weight": 1.0, + "source": "nextauth_route", + "target": "nextauth_route_head", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L24", + "weight": 1.0, + "source": "verify_email_route", + "target": "verify_email_route_post", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts", + "source_location": "L5", + "weight": 1.0, + "source": "cleanup_audit_logs_route", + "target": "cleanup_audit_logs_route_get", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L26", + "weight": 1.0, + "source": "hackathonid_route", + "target": "hackathonid_route_get", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L4", + "weight": 1.0, + "source": "trpc_route", + "target": "trpc_route_handler", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L160", + "weight": 1.0, + "source": "stripe_route", + "target": "stripe_route_createorupdatemembership", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L17", + "weight": 1.0, + "source": "stripe_route", + "target": "stripe_route_post", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L9", + "weight": 1.0, + "source": "stripe_route", + "target": "stripe_route_tx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "error_page", + "target": "error_page_autherrorcontent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L83", + "weight": 1.0, + "source": "error_page", + "target": "error_page_autherrorpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "club_page", + "target": "club_page_clubpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L23", + "weight": 1.0, + "source": "club_page", + "target": "club_page_tab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "club_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "club_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "club_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "club_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "club_page", + "target": "portal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "club_page", + "target": "portal_qrscannermodal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "club_page", + "target": "portal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "club_page", + "target": "portal_scanresultmodal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L71", + "weight": 1.0, + "source": "dashboard_page", + "target": "dashboard_page_dashboard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "dashboard_page", + "target": "dashboard_page_statusbadge", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "dashboard_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "dashboard_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_linkstripeaccount", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "id_error", + "target": "background_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "id_error", + "target": "background_index_background", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "id_error", + "target": "id_error_error", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "id_error", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "id_error", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "id_loading", + "target": "id_loading_loading", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "id_loading", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "id_loading", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_infotab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_infotab_infotab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_projectstab_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_scheduletab_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_teamstab_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L104", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_hackathondetailpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L37", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L102", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_tabtype", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L34", + "weight": 1.0, + "source": "id_page_formatdaterange", + "target": "id_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L240", + "weight": 1.0, + "source": "id_page_hackathondetailpage", + "target": "id_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L135", + "weight": 1.0, + "source": "id_page_hackathondetailpage", + "target": "id_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_infotab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_infotab_infotab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_projectstab_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_scheduletab_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_teamstab_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "participants_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "participants_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L104", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_participanthackathonpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L37", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L102", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_tabtype", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "participants_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "participants_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "participants_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "participants_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L34", + "weight": 1.0, + "source": "participants_page_formatdaterange", + "target": "participants_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L239", + "weight": 1.0, + "source": "participants_page_participanthackathonpage", + "target": "participants_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L135", + "weight": 1.0, + "source": "participants_page_participanthackathonpage", + "target": "participants_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_error_tsx_hackathons_error", + "target": "hackathons_error_error", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_error_tsx_hackathons_error", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_error_tsx_hackathons_error", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading", + "target": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading_loading", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L28", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L36", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L121", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_hackathonspage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_hackathonstatus", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L48", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_tab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L45", + "weight": 1.0, + "source": "hackathons_page_formatdaterange", + "target": "hackathons_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "judge_page", + "target": "judge_page_hackathondata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L23", + "weight": 1.0, + "source": "judge_page", + "target": "judge_page_judgepage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "judge_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "judge_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judge_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judge_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "judge_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "judge_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_constants_dietary_options", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_constants_shirt_sizes", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formchipselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formerroralert", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_forminput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formmultichipselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formnavigation", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formtextarea", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_stepcontainer", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_stepprogress", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "register_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "register_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "register_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "register_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "register_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "register_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L22", + "weight": 1.0, + "source": "register_page", + "target": "register_page_judge_registration_steps", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L29", + "weight": 1.0, + "source": "register_page", + "target": "register_page_judgeregisterpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_layout_portallayout", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_portalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_portalwrapper_portalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_providers", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_providers_providers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "login_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "login_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "login_page", + "target": "login_page_home", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "portal_providers", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "portal_providers", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "portal_providers", + "target": "portal_providers_providers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "submit_error", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "submit_error", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "submit_error", + "target": "submit_error_submiterror", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "submit_loading", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "submit_loading", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "submit_loading", + "target": "submit_loading_loading", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "submit_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "submit_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "submit_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "submit_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "submit_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "submit_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "submit_page", + "target": "submit_page_submitportalcontent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L516", + "weight": 1.0, + "source": "submit_page", + "target": "submit_page_submitportalpage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "verify_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "verify_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "verify_page", + "target": "verify_page_verifycontent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L294", + "weight": 1.0, + "source": "verify_page", + "target": "verify_page_verifypage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L70", + "weight": 1.0, + "source": "bootcamp_page", + "target": "bootcamp_page_bootcamppage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "bootcamp_page", + "target": "bootcamp_page_curriculum", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "bootcamp_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "bootcamp_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L145", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_apiendpoint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_codeblock", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_docsection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L255", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_docspageclient", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L89", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_infocard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_nav_items", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L199", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_schematable", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "docs_page", + "target": "docs_docspageclient", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "docs_page", + "target": "docs_page_docspage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "events_page", + "target": "events_page_eventspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "events_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "events_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "events_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "events_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "history_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "history_page", + "target": "history_page_historypage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "history_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "history_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "history_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_layout_tsx_app_layout", + "target": "lib_trpc_provider", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_layout_tsx_app_layout", + "target": "lib_trpc_provider_trpcreactprovider", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_layout_tsx_app_layout", + "target": "sites_mainweb_app_layout_tsx_app_layout_metadata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "sites_mainweb_app_layout_tsx_app_layout", + "target": "sites_mainweb_app_layout_tsx_app_layout_rootlayout", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_not_found_tsx_app_not_found", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "sites_mainweb_app_not_found_tsx_app_not_found", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_not_found_tsx_app_not_found", + "target": "sites_mainweb_app_not_found_tsx_app_not_found_notfound", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L41", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "app_page_home", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L28", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "app_page_pie", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L39", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "app_page_pietooltipitem", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "components_card", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "components_card_card", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "data_demographics", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "data_demographics_classdata", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "data_demographics_majordata", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "hero_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "projects_page_project", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "projects_page_projects", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L69", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "sites_mainweb_app_projects_page_tsx_projects_page_projectspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "status_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "status_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "status_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "status_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "status_page", + "target": "status_page_statuspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "team_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "team_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "team_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "team_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "team_page", + "target": "team_page_team", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "team_page", + "target": "teamcard_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L1", + "weight": 1.0, + "source": "data_demographics", + "target": "data_demographics_classdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L27", + "weight": 1.0, + "source": "data_demographics", + "target": "data_demographics_majordata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "background_index", + "target": "background_index_background", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "background_index", + "target": "background_index_backgroundprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "components_card", + "target": "components_card_card", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L1", + "weight": 1.0, + "source": "components_card", + "target": "components_card_cardprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "components_eventslist", + "target": "components_card", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "components_eventslist", + "target": "components_card_card", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "components_eventslist", + "target": "components_eventslist_eventslist", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "components_eventslist", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "components_eventslist", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "footer_index", + "target": "footer_index_footer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "footer_index", + "target": "footer_index_footerprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "hero_index", + "target": "hero_index_hero", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "hero_index", + "target": "hero_index_heroprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hero_index", + "target": "mini_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hero_index", + "target": "mini_index_mini", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "navbar_index", + "target": "navbar_index_navbar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "navbar_index", + "target": "navbar_index_navbarprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "section_index", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "section_index", + "target": "section_index_sectionprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "smallhero_index", + "target": "smallhero_index_smallhero", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "smallhero_index", + "target": "smallhero_index_smallheroprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "teamcard_index", + "target": "teamcard_index_teamcard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "teamcard_index", + "target": "teamcard_index_teamcardprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "major_index", + "target": "major_index_major", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "major_index", + "target": "major_index_majorprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "mini_index", + "target": "mini_index_mini", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "mini_index", + "target": "mini_index_miniprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "minor_index", + "target": "minor_index_minor", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "minor_index", + "target": "minor_index_minorprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/events/EventHeader.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "events_eventheader", + "target": "events_eventheader_eventheader", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "hackathons_analyticstab_analyticstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L61", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "hackathons_attendeestab_attendeestab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "hackathons_attendeestab_registrationstatus", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L27", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "hackathons_attendeestab_statuscolors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L44", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "hackathons_attendeestab_statusicon", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "hackathons_createhackathonform_createhackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "hackathons_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "hackathons_constants_toinputdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "hackathons_edithackathonform_edithackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_constants_toinputdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L73", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_emptyform", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_event_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L63", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_eventformdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L83", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_eventstab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_eventtype", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L59", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_gettypemeta", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "hackathons_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "hackathons_constants_hackathonstatus", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "hackathons_hackathoncard_hackathoncard", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "hackathons_judgestab_judgestab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "hackathons_scannertab_scannertab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_qrscannermodal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_scanresultmodal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L60", + "weight": 1.0, + "source": "hackathons_constants", + "target": "hackathons_constants_getstatusmeta", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L1", + "weight": 1.0, + "source": "hackathons_constants", + "target": "hackathons_constants_hackathonstatus", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L9", + "weight": 1.0, + "source": "hackathons_constants", + "target": "hackathons_constants_statuses", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L66", + "weight": 1.0, + "source": "hackathons_constants", + "target": "hackathons_constants_toinputdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L32", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_judgematrixview", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L28", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_judgematrixviewprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_project", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_ranking", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L24", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_rankingsdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_vote", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "judging_judgingtools", + "target": "judging_judgingtools_hackathon", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L24", + "weight": 1.0, + "source": "judging_judgingtools", + "target": "judging_judgingtools_judgingtools", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "judging_judgingtools", + "target": "judging_judgingtools_judgingtoolsprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L68", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_judge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L64", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_processedranking", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_project", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L30", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_ranking", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L57", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_rankingsdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L91", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_rankingsview", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L83", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_rankingsviewprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L47", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_tie", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_vote", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_project", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_ranking", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_rankingsdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L33", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_roomassignmentsview", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L29", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_roomassignmentsviewprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "setup_createhackathonstep_createhackathonstep", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "setup_createhackathonstep_createhackathonstepprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "setup_createhackathonstep_hackathon", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "setup_importdatastep_importjudgesstep", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L134", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "setup_importdatastep_importprojectsstep", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "setup_importdatastep_parsedjudge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "setup_importdatastep_parsedproject", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_setupwizard", + "target": "setup_setupwizard_setupwizard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "setup_setupwizard", + "target": "setup_setupwizard_stepprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L77", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formchipselect", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L68", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formchipselectprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L290", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formerroralert", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_forminput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_forminputprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L119", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formmultichipselect", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L111", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formmultichipselectprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L324", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formnavigation", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L314", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formnavigationprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L44", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formtextarea", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L37", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formtextareaprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L174", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_searchableselect", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L164", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_searchableselectprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L271", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_stepcontainer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L248", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_stepprogress", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L243", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_stepprogressprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_forminput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formtextarea", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formchipselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formmultichipselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_searchableselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_stepprogress", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_stepcontainer", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formerroralert", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formnavigation", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_dietary_options", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_genders", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_levelofstudy", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_levels_of_study", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_majors", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_registration_steps", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_schools", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_shirt_sizes", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_shirtsize", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L30", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_infotab_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L38", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_infotab_infotab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L28", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_infotab_registrationstep", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L345", + "weight": 1.0, + "source": "hackathon_infotab_infotab", + "target": "hackathon_infotab_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "hackathon_projectstab_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "hackathon_scheduletab_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "hackathon_teamstab_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_dietary_options", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L28", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_genders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L26", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_levelofstudy", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_levels_of_study", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L98", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_majors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L36", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_registration_steps", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L44", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_schools", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L3", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_shirt_sizes", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_shirtsize", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_adminlayout", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_adminlayout", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "portal_adminlayout", + "target": "portal_adminlayout_adminlayout", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_eventformmodal_eventformdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_eventformmodal_eventformmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_eventformmodal_eventformmodalprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_eventformmodal_getcurrentdatetimelocal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "portal_linkstripeaccount_linkstripeaccount", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "portal_linkstripeaccount_linkstripeaccountprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "dashboard_sidebar", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "portal_liquidglass", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "portal_liquidglass", + "target": "portal_liquidglass_liquidglassprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L2", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "profile_profileform", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "dashboard_sidebar", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L2", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "profile_profileform", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "portal_loadingscreen", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_loadingscreen", + "target": "portal_loadingscreen_loadingscreenprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "portal_modalwrapper", + "target": "portal_modalwrapper_maxwidthclasses", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "portal_modalwrapper", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_modalwrapper", + "target": "portal_modalwrapper_modalwrapperprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_qrscannermodal", + "target": "portal_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_scanresultmodal", + "target": "portal_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_qrscannermodal", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_scanresultmodal", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "portal_portalsidebar", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "portal_portalsidebar", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L34", + "weight": 1.0, + "source": "portal_portalsidebar", + "target": "portal_portalsidebar_portalsidebar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L29", + "weight": 1.0, + "source": "portal_portalsidebar", + "target": "portal_portalsidebar_portalsidebarprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalWrapper.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_portalwrapper", + "target": "portal_portalsidebar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalWrapper.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_portalwrapper", + "target": "portal_portalwrapper_portalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "portal_progressbar", + "target": "portal_progressbar_progressbar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_progressbar", + "target": "portal_progressbar_progressbarprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_qrcodemodal_event", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L24", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_qrcodemodal_qrcodemodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_qrcodemodal_qrcodemodalprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "portal_qrscannermodal", + "target": "portal_qrscannermodal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_qrscannermodal", + "target": "portal_qrscannermodal_qrscannermodalprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "portal_scanresultmodal", + "target": "portal_scanresultmodal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_scanresultmodal", + "target": "portal_scanresultmodal_scanresultmodalprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L77", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_actionvariantclasses", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L86", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_statusscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_statusscreenprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_statusvariant", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_variantconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L59", + "weight": 1.0, + "source": "dashboard_featurecard", + "target": "dashboard_featurecard_featurecard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "dashboard_featurecard", + "target": "dashboard_featurecard_featurecardprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "dashboard_featurecard", + "target": "dashboard_featurecard_variantclasses", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L22", + "weight": 1.0, + "source": "dashboard_sidebar", + "target": "dashboard_sidebar_sidebar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "dashboard_sidebar", + "target": "dashboard_sidebar_sidebarprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "judge_rubricslider", + "target": "judge_rubricslider_rubricslider", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "judge_rubricslider", + "target": "judge_rubricslider_rubricsliderprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L106", + "weight": 1.0, + "source": "judge_rubricslider", + "target": "judge_rubricslider_rubricsliderstyles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L172", + "weight": 1.0, + "source": "judge_zonemapmodal", + "target": "judge_zonemapmodal_viewmapbutton", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judge_zonemapmodal", + "target": "judge_zonemapmodal_zone_maps", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "judge_zonemapmodal", + "target": "judge_zonemapmodal_zonemapmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "judge_zonemapmodal", + "target": "judge_zonemapmodal_zonemapmodalprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_memberform", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_memberform", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "profile_memberform", + "target": "profile_memberform_member", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "profile_memberform", + "target": "profile_memberform_memberform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "profile_memberform", + "target": "profile_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "profile_memberform", + "target": "profile_skillsinterestsinput_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "profile_membershipcard_memberdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "profile_membershipcard_membershipcard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "profile_membershipcard_memberstatus", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_profileform", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_profileform", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "profile_profileform", + "target": "profile_profileform_profileform", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "profile_profileform", + "target": "profile_profileform_profileformprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "profile_profileform", + "target": "profile_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "profile_profileform", + "target": "profile_skillsinterestsinput_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "profile_skillsinterestsinput", + "target": "profile_skillsinterestsinput_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "profile_skillsinterestsinput", + "target": "profile_skillsinterestsinput_skillsinterestsinputprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "source": "mainweb_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "source": "mainweb_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/eslint.config.js", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_eslint_config", + "target": "eslint_react", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "lib_trpc_provider", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "lib_trpc_provider", + "target": "lib_trpc_provider_trpcreactprovider", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "lib_trpc_provider", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "lib_trpc", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L5", + "weight": 1.0, + "source": "lib_use_judging_stream", + "target": "lib_use_judging_stream_judgingsnapshot", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L23", + "weight": 1.0, + "source": "lib_use_judging_stream", + "target": "lib_use_judging_stream_usejudgingstream", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_next_config", + "target": "mainweb_next_config_dirname", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L4", + "weight": 1.0, + "source": "mainweb_next_config", + "target": "mainweb_next_config_filename", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L8", + "weight": 1.0, + "source": "mainweb_next_config", + "target": "mainweb_next_config_nextconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L44", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_analyze", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_check_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_start", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_chart_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_drizzle_orm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_geist", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_lucide_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_mawtech_glass_ui", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_next_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_next_themes", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_qrcode", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_qrcode_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_query_api", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_query_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_query_db", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_query_ui", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_react_chartjs_2", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L38", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_react_scroll", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_sanitize_html", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L41", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_stripe", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L42", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_superjson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_tanstack_react_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_trpc_client", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_trpc_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_trpc_react_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_trpc_server", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_yudiel_react_qr_scanner", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L59", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_autoprefixer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L60", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_cross_env", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L61", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L45", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_next_bundle_analyzer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L46", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L62", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L47", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_query_eslint_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L48", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_query_tailwind_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L49", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L63", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L50", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_tailwindcss_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L64", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_turbo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L51", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L52", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L53", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_qrcode", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L54", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_qrcode_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L55", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L56", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L57", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_react_scroll", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L58", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_three", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L65", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L66", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_typescript_eslint", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L64", + "weight": 1.0, + "context": "import", + "source": "mainweb_package_devdependencies_turbo", + "target": "turbo", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/postcss.config.js", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_postcss_config", + "target": "tailwind_postcss_config", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/postcss.config.js", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_postcss_config", + "target": "tailwind_postcss_config_postcssconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L82", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L14", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_getcachecontrol", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L42", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L48", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L53", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_handleetag", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L64", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_handlelastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L90", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_proxy", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L75", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_securityheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L134", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_getcachecontrol", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L55", + "weight": 1.0, + "source": "mainweb_proxy_handleetag", + "target": "mainweb_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L97", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L66", + "weight": 1.0, + "source": "mainweb_proxy_handlelastmodified", + "target": "mainweb_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L98", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L92", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_handleetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L113", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_handlelastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L29", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_background_color", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L27", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_display", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L4", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_icons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L3", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L2", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_short_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L26", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_start_url", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L28", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_theme_color", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/start.sh", + "source_location": "L1", + "weight": 1.0, + "source": "mainweb_start", + "target": "c_users_bootcamp_desktop_passion_query_sites_mainweb_start_sh__entry", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_tsconfig", + "target": "mainweb_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L34", + "weight": 1.0, + "source": "mainweb_tsconfig", + "target": "mainweb_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "mainweb_tsconfig", + "target": "mainweb_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L26", + "weight": 1.0, + "source": "mainweb_tsconfig", + "target": "mainweb_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_allowjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_isolatedmodules", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_jsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_noemit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L20", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_plugins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_resolvejsonmodule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L19", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L17", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions_paths", + "target": "mainweb_tsconfig_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_turbo", + "target": "mainweb_turbo_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L2", + "weight": 1.0, + "source": "mainweb_turbo", + "target": "mainweb_turbo_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L4", + "weight": 1.0, + "source": "mainweb_turbo", + "target": "mainweb_turbo_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_turbo_tasks", + "target": "mainweb_turbo_tasks_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L10", + "weight": 1.0, + "source": "mainweb_turbo_tasks", + "target": "mainweb_turbo_tasks_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L8", + "weight": 1.0, + "source": "mainweb_turbo_tasks_build", + "target": "mainweb_turbo_build_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L6", + "weight": 1.0, + "source": "mainweb_turbo_tasks_build", + "target": "mainweb_turbo_build_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L7", + "weight": 1.0, + "source": "mainweb_turbo_tasks_build", + "target": "mainweb_turbo_build_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L12", + "weight": 1.0, + "source": "mainweb_turbo_tasks_dev", + "target": "mainweb_turbo_dev_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L11", + "weight": 1.0, + "source": "mainweb_turbo_tasks_dev", + "target": "mainweb_turbo_dev_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/base.js", + "source_location": "L37", + "weight": 1.0, + "source": "eslint_base", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/base.js", + "source_location": "L9", + "weight": 1.0, + "source": "eslint_base", + "target": "eslint_base_restrictenvaccess", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L7", + "weight": 1.0, + "source": "eslint_react_internal", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L7", + "weight": 1.0, + "source": "eslint_react_internal", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L42", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "eslint_package_exports", + "target": "eslint_package_exports_base", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "eslint_package_exports", + "target": "eslint_package_exports_next_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "eslint_package_exports", + "target": "eslint_package_exports_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "eslint_package_exports", + "target": "eslint_package_exports_react_internal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "eslint_package_scripts", + "target": "eslint_package_scripts_clean", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "eslint_package_scripts", + "target": "eslint_package_scripts_format", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "eslint_package_scripts", + "target": "eslint_package_scripts_format_fix", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "eslint_package_scripts", + "target": "eslint_package_scripts_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_compat", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_config_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_import", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_jsx_a11y", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_react_hooks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_turbo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_globals", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_typescript_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_typescript_eslint_eslint_plugin", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_typescript_eslint_parser", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L38", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_query_prettier_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_types_eslint_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L13", + "weight": 1.0, + "source": "eslint_react_internal", + "target": "eslint_react_internal_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/index.js", + "source_location": "L9", + "weight": 1.0, + "source": "prettier_index", + "target": "prettier_index_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "prettier_package_scripts", + "target": "prettier_package_scripts_clean", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "prettier_package_scripts", + "target": "prettier_package_scripts_format", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "prettier_package_scripts", + "target": "prettier_package_scripts_format_fix", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "prettier_package_scripts", + "target": "prettier_package_scripts_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "prettier_package_dependencies", + "target": "prettier_package_dependencies_ianvs_prettier_plugin_sort_imports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "prettier_package_dependencies", + "target": "prettier_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "prettier_package_dependencies", + "target": "prettier_package_dependencies_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "prettier_package_dependencies", + "target": "prettier_package_dependencies_prettier_plugin_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "prettier_package_devdependencies", + "target": "prettier_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "prettier_package_devdependencies", + "target": "prettier_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "prettier_tsconfig", + "target": "prettier_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "prettier_tsconfig", + "target": "prettier_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "prettier_tsconfig", + "target": "prettier_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "prettier_tsconfig", + "target": "prettier_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_strict", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "tailwind_package_exports", + "target": "tailwind_package_exports_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_tailwindcss_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "tailwind_package_devdependencies", + "target": "tailwind_package_devdependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "tailwind_package_devdependencies", + "target": "tailwind_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/postcss.config.js", + "source_location": "L2", + "weight": 1.0, + "source": "tailwind_postcss_config", + "target": "tailwind_postcss_config_postcssconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L3", + "weight": 1.0, + "source": "typescript_base", + "target": "typescript_base_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L23", + "weight": 1.0, + "source": "typescript_base", + "target": "typescript_base_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L2", + "weight": 1.0, + "source": "typescript_base", + "target": "typescript_base_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L8", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_allowjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L18", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_checkjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L13", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_disablesourceofprojectreferenceredirect", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L4", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L12", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_incremental", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L11", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_isolatedmodules", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L7", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L19", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L10", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_moduledetection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L20", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L21", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_noemit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L16", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_noimplicitany", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L17", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_nouncheckedindexedaccess", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L9", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_resolvejsonmodule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L5", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L15", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_strict", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L6", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L14", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_tsbuildinfofile", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L4", + "weight": 1.0, + "source": "typescript_internal_package", + "target": "typescript_internal_package_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L3", + "weight": 1.0, + "source": "typescript_internal_package", + "target": "typescript_internal_package_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L2", + "weight": 1.0, + "source": "typescript_internal_package", + "target": "typescript_internal_package_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L5", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_declaration", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L6", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_declarationmap", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L7", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_emitdeclarationonly", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L8", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_noemit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L9", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L4", + "weight": 1.0, + "source": "typescript_nextjs", + "target": "typescript_nextjs_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L3", + "weight": 1.0, + "source": "typescript_nextjs", + "target": "typescript_nextjs_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L2", + "weight": 1.0, + "source": "typescript_nextjs", + "target": "typescript_nextjs_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L5", + "weight": 1.0, + "source": "typescript_nextjs_compileroptions", + "target": "typescript_nextjs_compileroptions_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_files", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "typescript_package_dependencies", + "target": "typescript_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L55", + "weight": 1.0, + "source": "turbo", + "target": "turbo_globalenv", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L88", + "weight": 1.0, + "source": "turbo", + "target": "turbo_globalpassthroughenv", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L2", + "weight": 1.0, + "source": "turbo", + "target": "turbo_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L4", + "weight": 1.0, + "source": "turbo", + "target": "turbo_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L3", + "weight": 1.0, + "source": "turbo", + "target": "turbo_ui", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L13", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L39", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_clean", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L22", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L27", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_format", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L31", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L42", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_push", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L17", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_start", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L46", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_studio", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L5", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_test", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L10", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_topo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L35", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L50", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_ui_add", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L6", + "weight": 1.0, + "source": "turbo_tasks_test", + "target": "turbo_test_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L8", + "weight": 1.0, + "source": "turbo_tasks_test", + "target": "turbo_test_inputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L7", + "weight": 1.0, + "source": "turbo_tasks_test", + "target": "turbo_test_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L11", + "weight": 1.0, + "source": "turbo_tasks_topo", + "target": "turbo_topo_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L14", + "weight": 1.0, + "source": "turbo_tasks_build", + "target": "turbo_build_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L15", + "weight": 1.0, + "source": "turbo_tasks_build", + "target": "turbo_build_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L19", + "weight": 1.0, + "source": "turbo_tasks_start", + "target": "turbo_start_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L18", + "weight": 1.0, + "source": "turbo_tasks_start", + "target": "turbo_start_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L20", + "weight": 1.0, + "source": "turbo_tasks_start", + "target": "turbo_start_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L24", + "weight": 1.0, + "source": "turbo_tasks_dev", + "target": "turbo_dev_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L23", + "weight": 1.0, + "source": "turbo_tasks_dev", + "target": "turbo_dev_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L25", + "weight": 1.0, + "source": "turbo_tasks_dev", + "target": "turbo_dev_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L29", + "weight": 1.0, + "source": "turbo_tasks_format", + "target": "turbo_format_outputlogs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L28", + "weight": 1.0, + "source": "turbo_tasks_format", + "target": "turbo_format_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L32", + "weight": 1.0, + "source": "turbo_tasks_lint", + "target": "turbo_lint_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L33", + "weight": 1.0, + "source": "turbo_tasks_lint", + "target": "turbo_lint_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L36", + "weight": 1.0, + "source": "turbo_tasks_typecheck", + "target": "turbo_typecheck_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L37", + "weight": 1.0, + "source": "turbo_tasks_typecheck", + "target": "turbo_typecheck_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L40", + "weight": 1.0, + "source": "turbo_tasks_clean", + "target": "turbo_clean_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L43", + "weight": 1.0, + "source": "turbo_tasks_push", + "target": "turbo_push_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L44", + "weight": 1.0, + "source": "turbo_tasks_push", + "target": "turbo_push_interactive", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L47", + "weight": 1.0, + "source": "turbo_tasks_studio", + "target": "turbo_studio_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L48", + "weight": 1.0, + "source": "turbo_tasks_studio", + "target": "turbo_studio_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L51", + "weight": 1.0, + "source": "turbo_tasks_ui_add", + "target": "turbo_ui_add_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L52", + "weight": 1.0, + "source": "turbo_tasks_ui_add", + "target": "turbo_ui_add_interactive", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L4", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_answers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L19", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_latestversion", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L9", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_pkgjson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L27", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_register", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L14", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_sanitizename", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L1", + "weight": 1.0, + "source": "gcp_setup", + "target": "gcp_setup_gcp_backend_setup_guide", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L5", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_1_prerequisites", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L12", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_2_authentication", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L32", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_3_syncing_secrets", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L49", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_4_running_the_app", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L57", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_5_troubleshooting", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L67", + "weight": 1.0, + "source": "gcp_setup_5_troubleshooting", + "target": "gcp_setup_missing_secrets", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L59", + "weight": 1.0, + "source": "gcp_setup_5_troubleshooting", + "target": "gcp_setup_permission_denied", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "README.md", + "source_location": "L1", + "weight": 1.0, + "source": "readme", + "target": "readme_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L32", + "weight": 1.0, + "source": "hacklytics2027_readme", + "target": "hacklytics2027_readme_deploy_on_vercel", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_readme", + "target": "hacklytics2027_readme_getting_started", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L23", + "weight": 1.0, + "source": "hacklytics2027_readme", + "target": "hacklytics2027_readme_learn_more", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/README.md", + "source_location": "L24", + "weight": 1.0, + "source": "mainweb_readme", + "target": "mainweb_readme_deploy_on_vercel", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/README.md", + "source_location": "L1", + "weight": 1.0, + "source": "mainweb_readme", + "target": "mainweb_readme_getting_started", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/README.md", + "source_location": "L15", + "weight": 1.0, + "source": "mainweb_readme", + "target": "mainweb_readme_learn_more", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/README.md", + "source_location": "L1", + "weight": 1.0, + "source": "eslint_readme", + "target": "eslint_readme_turbo_eslint_config", + "confidence_score": 1.0 + } + ], + "hyperedges": [], + "built_at_commit": "1e412bdb868bd5c2c860af63fcc6f1c6b055315d" +} \ No newline at end of file diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json new file mode 100644 index 00000000..7bf2ef2e --- /dev/null +++ b/graphify-out/manifest.json @@ -0,0 +1,2422 @@ +{ + ".vscode/settings.json": { + "mtime": 1781118719.0603423, + "ast_hash": "e4167df15aa6d0a119c44c982d08097a", + "semantic_hash": "" + }, + "firebase.json": { + "mtime": 1781118719.4218533, + "ast_hash": "9d3ee6507fb3a39306206b68995ad9ef", + "semantic_hash": "" + }, + "package.json": { + "mtime": 1781096186.894565, + "ast_hash": "d1f2e8a5d2daff04399d152e6900de90", + "semantic_hash": "" + }, + "packages/api/eslint.config.js": { + "mtime": 1781118721.0804987, + "ast_hash": "147786a895513ee55b3b1b38b007e8a8", + "semantic_hash": "" + }, + "packages/api/eslint.config.mjs": { + "mtime": 1781096720.648419, + "ast_hash": "cba1b01ea7b00ddf8e79deffa6896557", + "semantic_hash": "" + }, + "packages/api/package.json": { + "mtime": 1781118721.2501206, + "ast_hash": "7a42cc32f0c18d8428ed8e96fa744928", + "semantic_hash": "" + }, + "packages/api/src/.internal-tests/resilience.test.ts": { + "mtime": 1781118721.886031, + "ast_hash": "249030135b6a850a53657c54b377b02a", + "semantic_hash": "" + }, + "packages/api/src/.internal-tests/routers.test.ts": { + "mtime": 1781118722.60358, + "ast_hash": "11ba4d1cb0c650bba8429138bd24c204", + "semantic_hash": "" + }, + "packages/api/src/.internal-tests/security.test.ts": { + "mtime": 1781118722.7857535, + "ast_hash": "1b4c20da93ee2ec6035b8387dec1c5e8", + "semantic_hash": "" + }, + "packages/api/src/context.ts": { + "mtime": 1781118722.87788, + "ast_hash": "cdbc218f021e0011c09e1ea69d7d4bac", + "semantic_hash": "" + }, + "packages/api/src/index.ts": { + "mtime": 1781118722.9365253, + "ast_hash": "45e5e1df8ddfc7fd16e7c06b97f84a69", + "semantic_hash": "" + }, + "packages/api/src/middleware/cache.ts": { + "mtime": 1781118723.124732, + "ast_hash": "9248e33ed56dec1cc7460d682c8ab748", + "semantic_hash": "" + }, + "packages/api/src/middleware/http-security.ts": { + "mtime": 1781118723.2187831, + "ast_hash": "1e2dcf3128aac3c6663d18e3a320c605", + "semantic_hash": "" + }, + "packages/api/src/middleware/procedures.ts": { + "mtime": 1781118723.323068, + "ast_hash": "dc6658549d293876bf846258aa0c9995", + "semantic_hash": "" + }, + "packages/api/src/middleware/security.ts": { + "mtime": 1781118723.6546035, + "ast_hash": "af2a6f70aaf7572dc77656ef94e849c5", + "semantic_hash": "" + }, + "packages/api/src/root.ts": { + "mtime": 1781118723.7314925, + "ast_hash": "afac884bdf4de46db69aa4a92f9a8d16", + "semantic_hash": "" + }, + "packages/api/src/routers/admin.ts": { + "mtime": 1781118723.9211204, + "ast_hash": "b40728caa69990021e99114028a006fd", + "semantic_hash": "" + }, + "packages/api/src/routers/audit.ts": { + "mtime": 1781118724.0752583, + "ast_hash": "e7b4082212d48daa77273840dd2c2ab5", + "semantic_hash": "" + }, + "packages/api/src/routers/events.ts": { + "mtime": 1781118724.4065478, + "ast_hash": "da8104ba51eac9fef8e4fbe24223d230", + "semantic_hash": "" + }, + "packages/api/src/routers/hackathon.ts": { + "mtime": 1781120608.0521638, + "ast_hash": "4c3853f1b5347d692105eaa256fc7510", + "semantic_hash": "" + }, + "packages/api/src/routers/hello-procedures.ts": { + "mtime": 1781118725.009419, + "ast_hash": "977e30bf94e712a3ec62948f9cd3b882", + "semantic_hash": "" + }, + "packages/api/src/routers/hello.ts": { + "mtime": 1781118725.057955, + "ast_hash": "4470e5a6353e588abc870fdc9ea9133a", + "semantic_hash": "" + }, + "packages/api/src/routers/judge.ts": { + "mtime": 1781118726.0503829, + "ast_hash": "90c9cf24519dd39686ec7fa092dd2ff6", + "semantic_hash": "" + }, + "packages/api/src/routers/member.ts": { + "mtime": 1781118726.549009, + "ast_hash": "a9c28597f8b9f83afb318aba5d06b15c", + "semantic_hash": "" + }, + "packages/api/src/routers/settings.ts": { + "mtime": 1781118726.634659, + "ast_hash": "1a32a86b47de5694307fcbb4430f57db", + "semantic_hash": "" + }, + "packages/api/src/routers/stripe.ts": { + "mtime": 1781118726.8333833, + "ast_hash": "e997a66b91b2bd7676b3fa504b00a2ae", + "semantic_hash": "" + }, + "packages/api/src/routers/team.ts": { + "mtime": 1781119238.427595, + "ast_hash": "2fb18d884bcb340f97df06b8ee9ebdc1", + "semantic_hash": "" + }, + "packages/api/src/routers/user.ts": { + "mtime": 1781118727.2017896, + "ast_hash": "7053fa686a65c6f9cefa210c34fbc8de", + "semantic_hash": "" + }, + "packages/api/src/trpc.ts": { + "mtime": 1781118727.3318667, + "ast_hash": "e3e54e76a47768fb69f3932b09ac880b", + "semantic_hash": "" + }, + "packages/api/tsconfig.json": { + "mtime": 1781118727.4033177, + "ast_hash": "9af23988829befab2211ea1f8e2b17b2", + "semantic_hash": "" + }, + "packages/api/vitest.config.ts": { + "mtime": 1781118727.5010786, + "ast_hash": "2e04e94f50067ee3e46c33355597b6ad", + "semantic_hash": "" + }, + "packages/auth/eslint.config.mjs": { + "mtime": 1778089374.0293522, + "ast_hash": "9f257b721cd2cc173639384256088e74", + "semantic_hash": "" + }, + "packages/auth/package.json": { + "mtime": 1781120603.1166303, + "ast_hash": "eb04412bf1ae6a9544db35743f711a39", + "semantic_hash": "" + }, + "packages/auth/src/adapter.ts": { + "mtime": 1781118728.2598667, + "ast_hash": "3ae5f77ad2f65d2f55dd904b6dd485bc", + "semantic_hash": "" + }, + "packages/auth/src/auth.ts": { + "mtime": 1781118728.382054, + "ast_hash": "e03102cdeacc14ce932e111d617b1ddd", + "semantic_hash": "" + }, + "packages/auth/src/config.ts": { + "mtime": 1781118728.5202343, + "ast_hash": "7ca9e9887dd6835bcc11106262b6fc4b", + "semantic_hash": "" + }, + "packages/auth/src/email.ts": { + "mtime": 1781120626.5710144, + "ast_hash": "d1b0c2e91d1f4915b6f717db4bdd8d46", + "semantic_hash": "" + }, + "packages/auth/src/index.ts": { + "mtime": 1781120521.3147876, + "ast_hash": "a02637e01cd5522cedce72679c98a3ff", + "semantic_hash": "" + }, + "packages/auth/src/utils.ts": { + "mtime": 1781118728.6573014, + "ast_hash": "241fe3d7d3575aa3cedd71ba92a77593", + "semantic_hash": "" + }, + "packages/auth/tsconfig.json": { + "mtime": 1781118728.7412455, + "ast_hash": "e3c71a75307e0bc194d3c2f775b552f5", + "semantic_hash": "" + }, + "packages/consts/index.ts": { + "mtime": 1781118729.1464806, + "ast_hash": "43a9b518a552ea0160b15b6e8b521151", + "semantic_hash": "" + }, + "packages/consts/package.json": { + "mtime": 1781118729.3987746, + "ast_hash": "c02ca83753b77a278b10e11888d79a90", + "semantic_hash": "" + }, + "packages/db/drizzle.config.ts": { + "mtime": 1781118730.4541857, + "ast_hash": "973140a20f89d4d505167fc5e8a62298", + "semantic_hash": "" + }, + "packages/db/drizzle/meta/_journal.json": { + "mtime": 1781118730.8214035, + "ast_hash": "b0268703072f82f6b2151845cd2dfdd6", + "semantic_hash": "" + }, + "packages/db/eslint.config.mjs": { + "mtime": 1778089374.0333643, + "ast_hash": "9f257b721cd2cc173639384256088e74", + "semantic_hash": "" + }, + "packages/db/package.json": { + "mtime": 1781096197.3223066, + "ast_hash": "9c4f0bfea7d5c3f5ebc36c098effd98f", + "semantic_hash": "" + }, + "packages/db/scripts/seed.ts": { + "mtime": 1781119942.1366546, + "ast_hash": "5566560cbc090412736f3d2309a37c33", + "semantic_hash": "" + }, + "packages/db/src/client.ts": { + "mtime": 1781118731.199497, + "ast_hash": "c5f995c09bba7774a45fcd8bccdf677c", + "semantic_hash": "" + }, + "packages/db/src/env.ts": { + "mtime": 1781118731.2919896, + "ast_hash": "dbfc24698da3de758fdc790a7e7a37f1", + "semantic_hash": "" + }, + "packages/db/src/index.ts": { + "mtime": 1781118731.4343045, + "ast_hash": "6e30d7801182b1c92e42297daf24d33b", + "semantic_hash": "" + }, + "packages/db/src/schemas/admins.ts": { + "mtime": 1781118731.5473735, + "ast_hash": "0eb3990f6b72bc3e0f047830d062eedc", + "semantic_hash": "" + }, + "packages/db/src/schemas/auth.ts": { + "mtime": 1781118731.755614, + "ast_hash": "359dfb27398d3234236812a0d5f8171f", + "semantic_hash": "" + }, + "packages/db/src/schemas/events.ts": { + "mtime": 1781118731.834907, + "ast_hash": "a145b013c737dc88eafbaf5ac6243d51", + "semantic_hash": "" + }, + "packages/db/src/schemas/hackathons.ts": { + "mtime": 1781118732.1834066, + "ast_hash": "9e1e84514a43dc522aea33de23e655f2", + "semantic_hash": "" + }, + "packages/db/src/schemas/index.ts": { + "mtime": 1781118732.2564309, + "ast_hash": "7c51c427c26224bf4b615ae69493cc86", + "semantic_hash": "" + }, + "packages/db/src/schemas/judge.ts": { + "mtime": 1781118732.437285, + "ast_hash": "5be3dadc99d0624a3349a42eba7eacaa", + "semantic_hash": "" + }, + "packages/db/src/schemas/members.ts": { + "mtime": 1781118732.6257443, + "ast_hash": "29d998bd82b8d804e9c37787af930f5a", + "semantic_hash": "" + }, + "packages/db/src/schemas/security.ts": { + "mtime": 1781118732.7632737, + "ast_hash": "7b83257726bf33ed6fa9e1101a8fbef1", + "semantic_hash": "" + }, + "packages/db/src/schemas/settings.ts": { + "mtime": 1781118732.8546524, + "ast_hash": "64405984799fa5c9fe5870ade74cdb59", + "semantic_hash": "" + }, + "packages/db/src/schemas/stripe.ts": { + "mtime": 1781118733.0061114, + "ast_hash": "5dae16b5681015826172d5432b82ab7b", + "semantic_hash": "" + }, + "packages/db/tsconfig.json": { + "mtime": 1781118733.0356817, + "ast_hash": "01fb19dcfa7f71f786bb7bfa9ce2b697", + "semantic_hash": "" + }, + "packages/ui/eslint.config.mjs": { + "mtime": 1767556148.7485065, + "ast_hash": "0e30d5165c73976078c5b756418fbcdc", + "semantic_hash": "" + }, + "packages/ui/package.json": { + "mtime": 1781118733.2005706, + "ast_hash": "ac389efa5cee19431f14f6d1a6cd74e5", + "semantic_hash": "" + }, + "packages/ui/src/card.jsx": { + "mtime": 1781118733.358493, + "ast_hash": "e1351765bfdc1ebf431e44fa7226fd13", + "semantic_hash": "" + }, + "packages/ui/src/card.tsx": { + "mtime": 1781118733.4158466, + "ast_hash": "09bd7c142ddff5e61cd40643bb3bd6f4", + "semantic_hash": "" + }, + "packages/ui/src/glass.tsx": { + "mtime": 1781118733.4703636, + "ast_hash": "f18b6da020baa7b22977f7547adc1364", + "semantic_hash": "" + }, + "packages/ui/src/gradient.jsx": { + "mtime": 1781118733.5322814, + "ast_hash": "ea6d743966677c188fae22fba2393221", + "semantic_hash": "" + }, + "packages/ui/src/gradient.tsx": { + "mtime": 1781118733.5758345, + "ast_hash": "d4af9b82eaf722062a4f3981551872a0", + "semantic_hash": "" + }, + "packages/ui/src/index.ts": { + "mtime": 1781118733.6140094, + "ast_hash": "4913f98105cc2b625e95795492881732", + "semantic_hash": "" + }, + "packages/ui/src/turborepo-logo.jsx": { + "mtime": 1781118733.8748188, + "ast_hash": "865d2d06f11503b7d89fcbb39dd2ac0e", + "semantic_hash": "" + }, + "packages/ui/src/turborepo-logo.tsx": { + "mtime": 1781118733.9113314, + "ast_hash": "e479c51ec2622ee8ec01fcbfd5f438f5", + "semantic_hash": "" + }, + "packages/ui/tsconfig.json": { + "mtime": 1781118734.0339148, + "ast_hash": "7a18be5bbda1dfbf530c7de6cfc0ccd7", + "semantic_hash": "" + }, + "packages/ui/turbo.json": { + "mtime": 1767556149.008703, + "ast_hash": "8286f81c9c953568c4c1a17712d0ba45", + "semantic_hash": "" + }, + "restore-workspace.js": { + "mtime": 1781118741.3081589, + "ast_hash": "2c9499f4672b81d46dd98eceaea9e6cc", + "semantic_hash": "" + }, + "sites/discordBot/nodemon.json": { + "mtime": 1781118741.7825673, + "ast_hash": "b8a15745da27128f0383a208cae7bc15", + "semantic_hash": "" + }, + "sites/discordBot/package.json": { + "mtime": 1781118741.9150116, + "ast_hash": "f2aa3a5397b2a533a14675df85d29037", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/ask.ts": { + "mtime": 1781118742.3882718, + "ast_hash": "9fbaad91af74b9569bfbf74871d062b8", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/clear.ts": { + "mtime": 1781118742.5420961, + "ast_hash": "88e00b1b18832238b2b89576635e2458", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/guide.ts": { + "mtime": 1781118742.6642835, + "ast_hash": "5b006fb557f3b0aeac5e5e75b5a95307", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/meow.ts": { + "mtime": 1781118742.75579, + "ast_hash": "a43e8ee7f1930e038e8b0cf54e73d516", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/ping.ts": { + "mtime": 1781118742.772045, + "ast_hash": "707ce90e575b92467a3145c99bf26e81", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/roles.ts": { + "mtime": 1781118742.838261, + "ast_hash": "76563836e3a8a7377cfe23973ce6aa4a", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/startEvent.ts": { + "mtime": 1781118743.030911, + "ast_hash": "3097b378a54f6d3f4467de2b65095e68", + "semantic_hash": "" + }, + "sites/discordBot/src/deploy-commands.ts": { + "mtime": 1781118743.105525, + "ast_hash": "70f9624fad023e19bb13f0139baf4e58", + "semantic_hash": "" + }, + "sites/discordBot/src/env.ts": { + "mtime": 1781118743.167965, + "ast_hash": "a99aa36c801349cb0db81630bb2fdcd4", + "semantic_hash": "" + }, + "sites/discordBot/src/index.ts": { + "mtime": 1781118743.4731069, + "ast_hash": "45dc6b1831facde0c454fb51d8aaa08f", + "semantic_hash": "" + }, + "sites/discordBot/src/notion.ts": { + "mtime": 1781118743.6415195, + "ast_hash": "26ba6adac4fabc825224a374fbd097f4", + "semantic_hash": "" + }, + "sites/discordBot/src/tests/testAsk.ts": { + "mtime": 1781118743.8879378, + "ast_hash": "8b072d497c0c80b2fb296efc75a97ffa", + "semantic_hash": "" + }, + "sites/discordBot/start.sh": { + "mtime": 1766417145.4592197, + "ast_hash": "436be6219e3e49d8fff7cc2996c886c1", + "semantic_hash": "" + }, + "sites/discordBot/startup.sh": { + "mtime": 1772843441.835689, + "ast_hash": "c38669a3c8c4a478d3d15491395d7d46", + "semantic_hash": "" + }, + "sites/discordBot/tsconfig.json": { + "mtime": 1781118744.0705001, + "ast_hash": "3f18d9985121a2b5af4d976aa96d7bb1", + "semantic_hash": "" + }, + "sites/hacklytics2027/app/CodeOfConductFooter.tsx": { + "mtime": 1781118744.7408142, + "ast_hash": "560549449591ab53b6edf7a8ffd3127c", + "semantic_hash": "" + }, + "sites/hacklytics2027/app/layout.tsx": { + "mtime": 1781306370.7527988, + "ast_hash": "339e82a1114f8ee00faf93143e5ef834", + "semantic_hash": "" + }, + "sites/hacklytics2027/app/not-found.tsx": { + "mtime": 1781118745.1661654, + "ast_hash": "6fbcb2b65a2e9c2d425869270b924c08", + "semantic_hash": "" + }, + "sites/hacklytics2027/app/page.tsx": { + "mtime": 1781306363.3511128, + "ast_hash": "769dc3f03bb31d2b76c625d73e113437", + "semantic_hash": "" + }, + "sites/hacklytics2027/components.json": { + "mtime": 1781118745.566208, + "ast_hash": "cad2943d34f8271d9b6e3fa21f89be44", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/FloatingFlowers.tsx": { + "mtime": 1781118745.822007, + "ast_hash": "dd82963f35543e38c09f00e3995ef44d", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/Footer.tsx": { + "mtime": 1781305365.8846273, + "ast_hash": "0c28a22d40e2707b240cd4808d0de412", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/HomeSections.tsx": { + "mtime": 1781118745.876015, + "ast_hash": "c98938b79a40382b202b38b061a7287f", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/LazySection.tsx": { + "mtime": 1781118745.939768, + "ast_hash": "c1c09854610cc35b35d01eac97103406", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/Navbar.tsx": { + "mtime": 1781118746.0263083, + "ast_hash": "ae80d3bfbb9e727a57c8329323e510e1", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/ServiceWorkerRegistrar.tsx": { + "mtime": 1781118746.934157, + "ast_hash": "5ba3cb474a601ff4adf888b841d1c0e3", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/AboutSection.tsx": { + "mtime": 1781118746.1188536, + "ast_hash": "e1a4ed941472c6a4d2e4db5d973ae502", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/FAQSection.tsx": { + "mtime": 1781306334.75944, + "ast_hash": "b4446ead2d5cf7b771d4b806f1ce7df8", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx": { + "mtime": 1781118746.356961, + "ast_hash": "97f7768a4cd6268e6b2bc0b0c7e8c991", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx": { + "mtime": 1781118746.7067964, + "ast_hash": "844304e8e2c899c5b8d685b129a2035e", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/Schedule/data.ts": { + "mtime": 1781118746.639664, + "ast_hash": "77e23b3b0930d643bdf6331fd5addcd2", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/Sponsor.tsx": { + "mtime": 1781118746.7796032, + "ast_hash": "5384685923f1373344fa6a0d1140c970", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/TracksSection.tsx": { + "mtime": 1781118746.8822148, + "ast_hash": "20949289707d38e6bad1bc956399bd2e", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/ui/button.tsx": { + "mtime": 1781118746.9933405, + "ast_hash": "6609f34cc79bb85cac92b14cbb559f47", + "semantic_hash": "" + }, + "sites/hacklytics2027/eslint.config.mjs": { + "mtime": 1781118747.016482, + "ast_hash": "af6bed8b88e7625b26fa78f0a6681fd9", + "semantic_hash": "" + }, + "sites/hacklytics2027/lib/utils.ts": { + "mtime": 1781118747.0405128, + "ast_hash": "860093c628243861a278a805636f6c7f", + "semantic_hash": "" + }, + "sites/hacklytics2027/next-env.d.ts": { + "mtime": 1781098133.236631, + "ast_hash": "b698cdd97fe8e3bd16dcd74899ad7cef", + "semantic_hash": "" + }, + "sites/hacklytics2027/next.config.ts": { + "mtime": 1781118747.0866055, + "ast_hash": "44d7b2ccbf4e37e75699c601674d350a", + "semantic_hash": "" + }, + "sites/hacklytics2027/package.json": { + "mtime": 1781096211.229583, + "ast_hash": "1d534a2270c96b786891da5168eb9022", + "semantic_hash": "" + }, + "sites/hacklytics2027/playwright.config.ts": { + "mtime": 1781118757.5507224, + "ast_hash": "648dff70cb9c8ebe3f5e7e7fbc65a593", + "semantic_hash": "" + }, + "sites/hacklytics2027/postcss.config.mjs": { + "mtime": 1767899850.523357, + "ast_hash": "675899342e765a4d16acd75a53389101", + "semantic_hash": "" + }, + "sites/hacklytics2027/proxy.ts": { + "mtime": 1781118758.672136, + "ast_hash": "52fed489856eaeee0b3e1d772ec6da66", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sw.js": { + "mtime": 1781118769.19066, + "ast_hash": "b88f8b63161986527c95b9b4e95d97ef", + "semantic_hash": "" + }, + "sites/hacklytics2027/scripts/capture-vision.js": { + "mtime": 1781118771.1970701, + "ast_hash": "252972b2e7c0335e10e0878e20180602", + "semantic_hash": "" + }, + "sites/hacklytics2027/scripts/capture-vision.ts": { + "mtime": 1781118771.3871539, + "ast_hash": "a918cc680c202667178bd491a190a20c", + "semantic_hash": "" + }, + "sites/hacklytics2027/test-results/.last-run.json": { + "mtime": 1781118771.7630942, + "ast_hash": "abd263702df5ba47279e53ebba8c73a8", + "semantic_hash": "" + }, + "sites/hacklytics2027/tests/frontend.spec.ts": { + "mtime": 1781118772.0443764, + "ast_hash": "1d9c67b635477e104804c4f6c7e66041", + "semantic_hash": "" + }, + "sites/hacklytics2027/tsconfig.json": { + "mtime": 1781118772.1314027, + "ast_hash": "e664c7d5a9dbc6ba0b0beb01a22d11c7", + "semantic_hash": "" + }, + "sites/hacklytics2027/turbo.json": { + "mtime": 1778089409.909707, + "ast_hash": "811f0348d610587d943138e2af67d598", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/analytics/page.tsx": { + "mtime": 1781118775.0315955, + "ast_hash": "fe83241d1079612da9fdd3df3395ce29", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/attendees/page.tsx": { + "mtime": 1781118775.1385827, + "ast_hash": "5b9a289f3736e9b865a816a78f4156c1", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx": { + "mtime": 1781120180.8343234, + "ast_hash": "bc2a3c60d6cc1a482f56f384d17e684b", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx": { + "mtime": 1781118775.2549133, + "ast_hash": "4fa6bc9a279757fd0c39894165b379f7", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/error.tsx": { + "mtime": 1781118775.2857172, + "ast_hash": "815fbabf965e87dbd4729065d1191544", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx": { + "mtime": 1781118775.3010542, + "ast_hash": "754b8bbe38c7d8de95accfab60ec1693", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/page.tsx": { + "mtime": 1781118775.3538313, + "ast_hash": "13737833f49825581de4155b69110254", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/judging/page.tsx": { + "mtime": 1781118775.4650445, + "ast_hash": "f241fe66c38619b84394af085f0d1b70", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/layout.tsx": { + "mtime": 1781118775.506858, + "ast_hash": "aaf5014f873b5f951584314b23832078", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/page.tsx": { + "mtime": 1781118775.6462228, + "ast_hash": "d5db4ffba28bae8f82fb2d5bb568faa2", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/projects/page.tsx": { + "mtime": 1781118775.7179458, + "ast_hash": "a4c63b375df3d4b44a6a9b88b6a03292", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/settings/page.tsx": { + "mtime": 1781118775.940232, + "ast_hash": "912f2f5333780cd6c06d4da207210d79", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/setup/page.tsx": { + "mtime": 1781118776.1346436, + "ast_hash": "a99597df89317d8adc1661a3cdf2b93f", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts": { + "mtime": 1781118776.235485, + "ast_hash": "ce80b92db762514e912afba962f28b00", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts": { + "mtime": 1781118776.5306056, + "ast_hash": "8231fbba52546ffd6b40c420c93b9dd7", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts": { + "mtime": 1781118776.6850898, + "ast_hash": "7b52e7e5b838af6e5a869167067545ba", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts": { + "mtime": 1781118776.851249, + "ast_hash": "ece783e213058bc5ac3822712aa64810", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts": { + "mtime": 1781118776.951795, + "ast_hash": "5f61182004c2b883b47839b703ad760f", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts": { + "mtime": 1781118777.1158538, + "ast_hash": "91e108a4728eeef1a7627b786f8d6fc3", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/auth/error/page.tsx": { + "mtime": 1781118777.1666708, + "ast_hash": "d229be242f958a8f8b2d9dcc56b43ba9", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/club/page.tsx": { + "mtime": 1781118777.40695, + "ast_hash": "805cbecd5b10df10dee6a64329c73e9b", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/dashboard/page.tsx": { + "mtime": 1781118777.567465, + "ast_hash": "e3b0178afad734331b3584a031a60a60", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx": { + "mtime": 1781118777.8617818, + "ast_hash": "53241fc281ea2c2e7c17dfa3900c7018", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx": { + "mtime": 1781118777.9412465, + "ast_hash": "e2a0275565f28c081d6ca97a5ca2ab94", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx": { + "mtime": 1781118778.0410845, + "ast_hash": "882e25c1c4c1840a84bc256f444973a3", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx": { + "mtime": 1781118778.1956832, + "ast_hash": "755a432e9bc759086c9527d468939fee", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/error.tsx": { + "mtime": 1781118778.2369623, + "ast_hash": "1d8699d43f594e8e3450c4ce098ddb67", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/loading.tsx": { + "mtime": 1781118778.2586665, + "ast_hash": "86095cd21bddb5bcd899f3922821018e", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/page.tsx": { + "mtime": 1781118778.494305, + "ast_hash": "cf318bc67d1398e3d53c36e76984583e", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/judge/page.tsx": { + "mtime": 1781118778.6754577, + "ast_hash": "5f8508652060a2cdea7b2a0203e72de1", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/judge/register/page.tsx": { + "mtime": 1781118778.85492, + "ast_hash": "d70221efb34e9bc88736a36a15e41444", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/layout.tsx": { + "mtime": 1781118778.884202, + "ast_hash": "a673536aa58eea5061f00c5d44847eff", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/login/page.tsx": { + "mtime": 1781118779.079692, + "ast_hash": "bda2aa4b48a459c06360a2a70bdf713e", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/providers.tsx": { + "mtime": 1781118779.1015995, + "ast_hash": "d6840aef4a7ef6711cfbcd3672be4c43", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/submit/error.tsx": { + "mtime": 1781118779.1225467, + "ast_hash": "d6635ffedcdf2ff391aad0b80ac47bc0", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/submit/loading.tsx": { + "mtime": 1781118779.132131, + "ast_hash": "ccac794932d4f9b61cbb3fc2490f2d50", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/submit/page.tsx": { + "mtime": 1781118779.250715, + "ast_hash": "890bea8e090e6a8fa06c9592169e39e1", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/verify/page.tsx": { + "mtime": 1781118779.3288574, + "ast_hash": "f2ed6c825562877aa5e37c6416094e9e", + "semantic_hash": "" + }, + "sites/mainweb/app/bootcamp/page.tsx": { + "mtime": 1781118779.3865285, + "ast_hash": "857932ce3303e34a7c35bb1a9e0d90c2", + "semantic_hash": "" + }, + "sites/mainweb/app/docs/DocsPageClient.tsx": { + "mtime": 1781118779.5925362, + "ast_hash": "65facad3d8675d5ce0514efc96d72e17", + "semantic_hash": "" + }, + "sites/mainweb/app/docs/page.tsx": { + "mtime": 1781118779.6078758, + "ast_hash": "4d610d98e187e4270b2478c03bd9a134", + "semantic_hash": "" + }, + "sites/mainweb/app/events/page.tsx": { + "mtime": 1781118779.6585934, + "ast_hash": "55013252d5dea595aca41bf8b298cd54", + "semantic_hash": "" + }, + "sites/mainweb/app/history/page.tsx": { + "mtime": 1781118779.7310264, + "ast_hash": "8cdd247479b4a7ea7c512818439b02a7", + "semantic_hash": "" + }, + "sites/mainweb/app/layout.tsx": { + "mtime": 1781118779.805366, + "ast_hash": "3ec9c9dfce82428aaf328f55aef5a0da", + "semantic_hash": "" + }, + "sites/mainweb/app/not-found.tsx": { + "mtime": 1781118779.8526838, + "ast_hash": "aab0e0268dc9d28c343ebeb1d9b5b539", + "semantic_hash": "" + }, + "sites/mainweb/app/page.tsx": { + "mtime": 1781118779.9876976, + "ast_hash": "b2d99daff457c7426bb2a366fbc67ee5", + "semantic_hash": "" + }, + "sites/mainweb/app/projects/page.tsx": { + "mtime": 1781118780.0609276, + "ast_hash": "e49c6dd13c05c87e2b5d32f2c3f93eda", + "semantic_hash": "" + }, + "sites/mainweb/app/status/page.tsx": { + "mtime": 1781118780.2592652, + "ast_hash": "958e466a4ba5d169aa9698dd1f979527", + "semantic_hash": "" + }, + "sites/mainweb/app/team/page.tsx": { + "mtime": 1781118780.3288765, + "ast_hash": "915f53482157fbf21e81042a4e8d0117", + "semantic_hash": "" + }, + "sites/mainweb/assets/Data/demographics.js": { + "mtime": 1781118780.3760474, + "ast_hash": "9f7a3e8cd0bfa16593a82bb6ae22ad9b", + "semantic_hash": "" + }, + "sites/mainweb/components/Background/index.tsx": { + "mtime": 1781118790.3661854, + "ast_hash": "ae5b57db396c315d11e976f4c9978ca7", + "semantic_hash": "" + }, + "sites/mainweb/components/Card.tsx": { + "mtime": 1781118790.3812292, + "ast_hash": "080596d4a4cbedadf1e7bb25914ad47f", + "semantic_hash": "" + }, + "sites/mainweb/components/EventsList.tsx": { + "mtime": 1781118790.4164574, + "ast_hash": "01f38f2e8952e0da820fde0c594932b5", + "semantic_hash": "" + }, + "sites/mainweb/components/Footer/index.tsx": { + "mtime": 1781118790.4646614, + "ast_hash": "4d8bb87688ecfce5704267ec9e9b8194", + "semantic_hash": "" + }, + "sites/mainweb/components/Hero/index.tsx": { + "mtime": 1781118791.0633285, + "ast_hash": "cbd285c5916549658ada5b8b8dc2a4f7", + "semantic_hash": "" + }, + "sites/mainweb/components/Navbar/index.tsx": { + "mtime": 1781118791.122661, + "ast_hash": "e0d60e80302846c556721334038bc604", + "semantic_hash": "" + }, + "sites/mainweb/components/Section/index.tsx": { + "mtime": 1781118792.2308514, + "ast_hash": "635eccfe77a6984f0b811d1304859a8c", + "semantic_hash": "" + }, + "sites/mainweb/components/SmallHero/index.tsx": { + "mtime": 1781118792.2614417, + "ast_hash": "8a48dd3aea3f405474b8c104d31ebff6", + "semantic_hash": "" + }, + "sites/mainweb/components/TeamCard/index.tsx": { + "mtime": 1781118792.2883465, + "ast_hash": "e1e09c5a93eb3580c99418085d648493", + "semantic_hash": "" + }, + "sites/mainweb/components/Text/Major/index.tsx": { + "mtime": 1781118792.3364124, + "ast_hash": "5d4d0c3c12e954779d6d69eaf3938736", + "semantic_hash": "" + }, + "sites/mainweb/components/Text/Mini/index.tsx": { + "mtime": 1781118792.3484237, + "ast_hash": "3077181e30c547342e2ebb660367989a", + "semantic_hash": "" + }, + "sites/mainweb/components/Text/Minor/index.tsx": { + "mtime": 1781118792.3690324, + "ast_hash": "eebcb4bb301af76b9f49c31ab5db9945", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/events/EventHeader.tsx": { + "mtime": 1781118788.2349875, + "ast_hash": "dd9441560e4aa97595918dda8bac1e37", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx": { + "mtime": 1781118788.2798333, + "ast_hash": "89bd9479d91877f54ae3c14fcfe3c641", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx": { + "mtime": 1781118788.4807897, + "ast_hash": "199ac9bcccd48fee043bd9a188681869", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx": { + "mtime": 1781118950.6045012, + "ast_hash": "b87a235e457cfcf874885613cce73c41", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx": { + "mtime": 1781118992.0489721, + "ast_hash": "c0f331084e448e8c0c2aeee9d5a6646c", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/EventsTab.tsx": { + "mtime": 1781118788.8186216, + "ast_hash": "edff1471cc6bd4b13bb2bac7aeceea2d", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/HackathonCard.tsx": { + "mtime": 1781118788.9864447, + "ast_hash": "1727ac10da2e626b48cf496decccf94a", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/JudgesTab.tsx": { + "mtime": 1781118789.0984933, + "ast_hash": "4b7664147b4bf962d6895881a6d827ff", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/ScannerTab.tsx": { + "mtime": 1781118789.2608225, + "ast_hash": "e2a4e216e8107c77450116c27a55d14f", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/constants.ts": { + "mtime": 1781118808.681486, + "ast_hash": "4b73a0aaa7c74e6d4832e68b225399c3", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx": { + "mtime": 1781118789.5518773, + "ast_hash": "7885bb63f2df22ca5387d618641fa269", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/judging/JudgingTools.tsx": { + "mtime": 1781118789.680174, + "ast_hash": "14540564040486a71af80697bf67b359", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/judging/RankingsView.tsx": { + "mtime": 1781118789.9905782, + "ast_hash": "692243e95e395a308b167db2393b7dcb", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx": { + "mtime": 1781118790.1725817, + "ast_hash": "00eaaf6547cf04843ca88eee69b241e6", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx": { + "mtime": 1781118790.2325156, + "ast_hash": "add08ad41a8dc63e03f5a564f0a489d5", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/setup/ImportDataStep.tsx": { + "mtime": 1781118790.3153903, + "ast_hash": "5d072dfd4f1a3b3ccb452d7fd7be0cf5", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/setup/SetupWizard.tsx": { + "mtime": 1781118790.3443356, + "ast_hash": "1481300131c8b0e4ce56ab245bc9a30c", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/FormComponents.tsx": { + "mtime": 1781118790.6148663, + "ast_hash": "2b159ce0e628e8e79c664ec2d60ef3b0", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/InfoTab.tsx": { + "mtime": 1781118790.7724135, + "ast_hash": "4e48e0b482821ac4eec8bf5df4736d68", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/ProjectsTab.tsx": { + "mtime": 1781118790.8067455, + "ast_hash": "e3692217195c8ba60b931f9dbc5f6780", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/ScheduleTab.tsx": { + "mtime": 1781118790.9150827, + "ast_hash": "bb294d77f5ef1242610e923b23707d45", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/TeamsTab.tsx": { + "mtime": 1781118791.0363684, + "ast_hash": "d785fb757b1893825a2b0d43affa5c85", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/constants.ts": { + "mtime": 1781118790.516959, + "ast_hash": "75afe24bdadde803fd72ca57fb64b849", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/AdminLayout.tsx": { + "mtime": 1781118791.1675985, + "ast_hash": "4cba3e6acfef1b2299995f78793f1d5e", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/EventFormModal.tsx": { + "mtime": 1781118791.3367224, + "ast_hash": "016387c9c77b66173ec71ea10c595dff", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/LinkStripeAccount.tsx": { + "mtime": 1781118791.4933105, + "ast_hash": "0d95cf279f162e9e1f4510135d789589", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/LiquidGlass.tsx": { + "mtime": 1781118791.5102763, + "ast_hash": "fdf5e3d1fa8e9a58e7506a8c6c0993b1", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/LoadingScreen.tsx": { + "mtime": 1781118791.528521, + "ast_hash": "83e070723f68824c67ff26e1c7f86dd4", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/ModalWrapper.tsx": { + "mtime": 1781118791.5475802, + "ast_hash": "843f1ddd7edd7a90d65375ac47f93b09", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/PortalSidebar.tsx": { + "mtime": 1781118791.6610818, + "ast_hash": "f1f1efa0e447715858f225ef1043091b", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/PortalWrapper.tsx": { + "mtime": 1781118791.678489, + "ast_hash": "e0e9c19d1e819123b296458c80bb6570", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/ProgressBar.tsx": { + "mtime": 1781118791.836771, + "ast_hash": "73908fb3d5d8bc793900d4bcfefca4d6", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/QRCodeModal.tsx": { + "mtime": 1781118791.9235146, + "ast_hash": "195652e0cdb92aa2da60cd915642650e", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/QRScannerModal.tsx": { + "mtime": 1781118792.01729, + "ast_hash": "e846c8daa0d4f96c80362151acd4e5a2", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/ScanResultModal.tsx": { + "mtime": 1781118792.0789614, + "ast_hash": "0f68f4ee389a5b66f7d19134d5fb8f7f", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/StatusScreen.tsx": { + "mtime": 1781118792.1966217, + "ast_hash": "cd8422abc180989b64b6601d300e366b", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/dashboard/FeatureCard.tsx": { + "mtime": 1781118791.2398465, + "ast_hash": "2739fc6a58db884bbe405f9eaef410a2", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/dashboard/Sidebar.tsx": { + "mtime": 1781118791.287132, + "ast_hash": "4bedc8ebdfaa454f6521115310b0b451", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/judge/RubricSlider.tsx": { + "mtime": 1781118791.3778636, + "ast_hash": "ea445a71fbe42f13c979fb62383eda1d", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/judge/ZoneMapModal.tsx": { + "mtime": 1781118791.4343047, + "ast_hash": "07773e0d954a4eccbc46549a3d8ff3c0", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/profile/MemberForm.tsx": { + "mtime": 1781118791.7161965, + "ast_hash": "3d84c55b0e4035f26db69f589203f163", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/profile/MembershipCard.tsx": { + "mtime": 1781118791.732162, + "ast_hash": "3897e550adc0b3aabfa04da6ced2b580", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/profile/ProfileForm.tsx": { + "mtime": 1781118791.7925985, + "ast_hash": "e2bcd4bc1bfb0d4d4c37e14c01a825d5", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx": { + "mtime": 1781118791.8154342, + "ast_hash": "84e0f6aa83fa048815d72755b6b9a728", + "semantic_hash": "" + }, + "sites/mainweb/eslint.config.js": { + "mtime": 1781118792.3834555, + "ast_hash": "9df729305faec27edefcd63e2e1d737d", + "semantic_hash": "" + }, + "sites/mainweb/firebase.json": { + "mtime": 1781118792.3963437, + "ast_hash": "6a6442e8eeebcc690d289dc315a4de65", + "semantic_hash": "" + }, + "sites/mainweb/lib/trpc-provider.tsx": { + "mtime": 1781118792.4153914, + "ast_hash": "cb642ebd85f72d48b2b6f94213586dc0", + "semantic_hash": "" + }, + "sites/mainweb/lib/trpc.tsx": { + "mtime": 1781118792.4343894, + "ast_hash": "2be434548e8fb25ad91c3b773862668e", + "semantic_hash": "" + }, + "sites/mainweb/lib/use-judging-stream.ts": { + "mtime": 1781118792.4631276, + "ast_hash": "250c1ea1aac67089287588b6d71a0532", + "semantic_hash": "" + }, + "sites/mainweb/next-env.d.ts": { + "mtime": 1781067676.655502, + "ast_hash": "b698cdd97fe8e3bd16dcd74899ad7cef", + "semantic_hash": "" + }, + "sites/mainweb/next.config.mjs": { + "mtime": 1781118792.500926, + "ast_hash": "f10b4545ccf17077de983957a737898d", + "semantic_hash": "" + }, + "sites/mainweb/package.json": { + "mtime": 1781096216.6084018, + "ast_hash": "1ed6c5dfc4d738c4d0e0e004f38eab16", + "semantic_hash": "" + }, + "sites/mainweb/postcss.config.js": { + "mtime": 1781118792.5266857, + "ast_hash": "d6c94d62f7a091b5f407edc6b5a66caa", + "semantic_hash": "" + }, + "sites/mainweb/proxy.ts": { + "mtime": 1781118792.5598068, + "ast_hash": "090e9b4d447ff3b8285d12d66fdb1417", + "semantic_hash": "" + }, + "sites/mainweb/public/manifest.json": { + "mtime": 1767556162.0095558, + "ast_hash": "811193b037ef7f586ee52212011983bc", + "semantic_hash": "" + }, + "sites/mainweb/start.sh": { + "mtime": 1768663969.6602266, + "ast_hash": "703a4230d41f3587ea4dd9608bfb8567", + "semantic_hash": "" + }, + "sites/mainweb/tsconfig.json": { + "mtime": 1781118793.351182, + "ast_hash": "9ce0ba53d48bfc0860cd8a8f18e51339", + "semantic_hash": "" + }, + "sites/mainweb/turbo.json": { + "mtime": 1767556162.1767192, + "ast_hash": "432f92cc4fad760cfb9b86d8ae46e87d", + "semantic_hash": "" + }, + "sites/mainweb/types/css.d.ts": { + "mtime": 1781118793.379186, + "ast_hash": "23508b5f7e96451d0c6bc2a1ba21519d", + "semantic_hash": "" + }, + "sites/mainweb/types/images.d.ts": { + "mtime": 1781118793.3948598, + "ast_hash": "815e0a39cab59717d29cab73d6b2b215", + "semantic_hash": "" + }, + "tooling/eslint/base.js": { + "mtime": 1781067676.603918, + "ast_hash": "6c82d320255a539dbcebb4dfcf903318", + "semantic_hash": "" + }, + "tooling/eslint/next.js": { + "mtime": 1781067676.6024106, + "ast_hash": "a6e5bdf6fa7a4043bae8fd2d10d434d1", + "semantic_hash": "" + }, + "tooling/eslint/package.json": { + "mtime": 1781042923.032101, + "ast_hash": "f13a5a65ff9a1a95fab5a9ef5b83fd36", + "semantic_hash": "" + }, + "tooling/eslint/react-internal.js": { + "mtime": 1781067676.603918, + "ast_hash": "7df95c3ea147c924fec9b785923b203e", + "semantic_hash": "" + }, + "tooling/eslint/react.js": { + "mtime": 1781067676.603918, + "ast_hash": "c0ac50588baf89e1e064892a08d1dc7d", + "semantic_hash": "" + }, + "tooling/prettier/index.js": { + "mtime": 1781067676.6984491, + "ast_hash": "34fdaae21dde54a59ff73e563853733c", + "semantic_hash": "" + }, + "tooling/prettier/package.json": { + "mtime": 1781042923.032101, + "ast_hash": "bb243eadc129aeaf1bf0a2e97dfa00de", + "semantic_hash": "" + }, + "tooling/prettier/tsconfig.json": { + "mtime": 1767556165.0382786, + "ast_hash": "383ccbf3b4a375614582a6115deecea4", + "semantic_hash": "" + }, + "tooling/tailwind/package.json": { + "mtime": 1781042923.072317, + "ast_hash": "8ca68aa7b078a8dca140de877b8910f3", + "semantic_hash": "" + }, + "tooling/tailwind/postcss.config.js": { + "mtime": 1781118800.383209, + "ast_hash": "bd4b60979764a274e5c32cb68fce3767", + "semantic_hash": "" + }, + "tooling/typescript/base.json": { + "mtime": 1781118800.4098384, + "ast_hash": "9e1580009a73d1f5259f004f0344faa3", + "semantic_hash": "" + }, + "tooling/typescript/internal-package.json": { + "mtime": 1781118800.4163241, + "ast_hash": "8b2c4635c7ec05cc46fa052be3ae9f7d", + "semantic_hash": "" + }, + "tooling/typescript/nextjs.json": { + "mtime": 1767556165.2512293, + "ast_hash": "7369c973708e4a650899ae5053af0b94", + "semantic_hash": "" + }, + "tooling/typescript/package.json": { + "mtime": 1781118800.4321718, + "ast_hash": "0ca2230f8d7680453e5b8e87b12e6a1f", + "semantic_hash": "" + }, + "turbo.json": { + "mtime": 1781118800.4755988, + "ast_hash": "7abd8accc907bac323db2b11774c1492", + "semantic_hash": "" + }, + "turbo/generators/config.ts": { + "mtime": 1781118800.5243015, + "ast_hash": "c95b97ca63d8b99e7bd083755e01428c", + "semantic_hash": "" + }, + "types/globals.d.ts": { + "mtime": 1781118800.5774922, + "ast_hash": "6557f52fce8d7656410fd8fb33010adb", + "semantic_hash": "" + }, + ".github/ISSUE_TEMPLATE/bug_report.md": { + "mtime": 1781118717.8492382, + "ast_hash": "6e95f624643b40b28acdb46566e61a7e", + "semantic_hash": "" + }, + ".github/dependabot.yml": { + "mtime": 1778089409.8576221, + "ast_hash": "9e575708de1fdcae8725c35b5d55da05", + "semantic_hash": "" + }, + ".github/labeler.yml": { + "mtime": 1781118717.964118, + "ast_hash": "5db27d0eaaa21693b79891c02865889a", + "semantic_hash": "" + }, + ".github/pull.yml": { + "mtime": 1775352906.6318645, + "ast_hash": "d207dabdec011673bb5e40fe133f9635", + "semantic_hash": "" + }, + ".github/workflows/codeql.yml": { + "mtime": 1781118718.163716, + "ast_hash": "7167f4667798b88cc7e877e757c2ad4b", + "semantic_hash": "" + }, + ".github/workflows/dependabot-auto-merge.yml": { + "mtime": 1778089410.45189, + "ast_hash": "5d0073e01ba665b49ba743b6f32a3449", + "semantic_hash": "" + }, + ".github/workflows/deploy-hacklytics.yml": { + "mtime": 1781306096.5671732, + "ast_hash": "7beb5f73c4882d72b9be1a85f631fea4", + "semantic_hash": "" + }, + ".github/workflows/dev-to-main-pr.yml": { + "mtime": 1781118718.3018835, + "ast_hash": "71438b08c1f68f5907deab93ce09dd93", + "semantic_hash": "" + }, + ".github/workflows/feature-to-dev-pr.yml": { + "mtime": 1781118718.3571928, + "ast_hash": "597cc78b22e6045b04b398c5159a5484", + "semantic_hash": "" + }, + ".github/workflows/firebase-hosting-merge.yml": { + "mtime": 1781118718.4257731, + "ast_hash": "cb3ceea245d47650635277ebf5ccff85", + "semantic_hash": "" + }, + ".github/workflows/firebase-hosting-pull-request.yml": { + "mtime": 1781118718.5015852, + "ast_hash": "0ff1c3b8fa8725c707a602a50ead5557", + "semantic_hash": "" + }, + ".github/workflows/label.yml": { + "mtime": 1781118718.5558443, + "ast_hash": "02ecc76d990e630f6393963eb1b6aac6", + "semantic_hash": "" + }, + ".github/workflows/pnpm-ci.yml": { + "mtime": 1781118718.5780032, + "ast_hash": "1df635c113c795d97d5b33c0af3da5c0", + "semantic_hash": "" + }, + ".github/workflows/test.yml": { + "mtime": 1781118718.6183386, + "ast_hash": "7a486c321d8a7c544cb938f7c405816c", + "semantic_hash": "" + }, + ".github/workflows/weekly-audit-log-cleanup.yml": { + "mtime": 1780866659.3781197, + "ast_hash": "f326296527e945da067c1f4e8ad48177", + "semantic_hash": "" + }, + "GCP_SETUP.md": { + "mtime": 1781118719.5251284, + "ast_hash": "393829b04384e49a6b685615e2449f94", + "semantic_hash": "" + }, + "README.md": { + "mtime": 1781118741.2242599, + "ast_hash": "d2b4ff9b01504876276f6c4123e55791", + "semantic_hash": "" + }, + "apphosting.yaml": { + "mtime": 1780866737.021364, + "ast_hash": "acace4fa65b9daec4e2f84afb0163a86", + "semantic_hash": "" + }, + "docker-compose.yml": { + "mtime": 1768156168.4954267, + "ast_hash": "f7c692ec6bbb7587d9c802d0a38dd46b", + "semantic_hash": "" + }, + "packages/api/lint_out.txt": { + "mtime": 1775166428.2307005, + "ast_hash": "4d3974187b1c37f44e6c7aa44bdab6d2", + "semantic_hash": "" + }, + "packages/api/tsc_errors.txt": { + "mtime": 1775166737.6697257, + "ast_hash": "c28c57de200a979b976a7683e6bcf618", + "semantic_hash": "" + }, + "packages/db/output.txt": { + "mtime": 1771766913.9140842, + "ast_hash": "7a067d3c81c0dc4b1ebbbed9c0fe0f3c", + "semantic_hash": "" + }, + "pnpm-workspace.yaml": { + "mtime": 1778814644.81654, + "ast_hash": "b60d07ee352f342e183b052a8a8045b4", + "semantic_hash": "" + }, + "sites/discordBot/docker-compose.yml": { + "mtime": 1781118741.6914625, + "ast_hash": "f1da941dd249121d3e96723dbbcbf181", + "semantic_hash": "" + }, + "sites/hacklytics2027/README.md": { + "mtime": 1767899849.7072065, + "ast_hash": "f15aaa42d5d299d091b1171097ea56ad", + "semantic_hash": "" + }, + "sites/hacklytics2027/compressed_sizes.txt": { + "mtime": 1770839980.550634, + "ast_hash": "34135a7fe170ec271d9fba43a4cc9991", + "semantic_hash": "" + }, + "sites/hacklytics2027/file_sizes.txt": { + "mtime": 1770839528.113874, + "ast_hash": "e78ab26779087852d07cc328ed6168d2", + "semantic_hash": "" + }, + "sites/hacklytics2027/out_sizes.txt": { + "mtime": 1770839644.0738301, + "ast_hash": "584500d4dfb7d1e99794fa855988df57", + "semantic_hash": "" + }, + "sites/hacklytics2027/playwright-report/index.html": { + "mtime": 1781118757.1728704, + "ast_hash": "64d35b31bb2fd47183605b7b5bac012c", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/index.html": { + "mtime": 1781118763.8503556, + "ast_hash": "233c3d5a3d87b578b2e4de43fea3e2f6", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/wonka/hi.txt": { + "mtime": 1767899851.816857, + "ast_hash": "68b329da9893e34099c7d8ad5cb9c940", + "semantic_hash": "" + }, + "sites/mainweb/README.md": { + "mtime": 1767556149.1669846, + "ast_hash": "7699048944e126c7f9de1107ef8bf8a6", + "semantic_hash": "" + }, + "sites/mainweb/public/robots.txt": { + "mtime": 1767556162.0376127, + "ast_hash": "9d34b20d04ea1c9d7b3ce878d1af923d", + "semantic_hash": "" + }, + "tooling/eslint/README.md": { + "mtime": 1767556164.665198, + "ast_hash": "3f4915336e7c54df90f5b12b527b8b87", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/browser.svg": { + "mtime": 1767899850.5961366, + "ast_hash": "66fec07e688e6715a3cffa9ac859397b", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-color/cloudb/cloud-blue-down.png": { + "mtime": 1778813276.8143265, + "ast_hash": "bc44d6f00ce0487eccde6ec60b5455b1", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-color/cloudy/cloud-button.png": { + "mtime": 1778813276.8158631, + "ast_hash": "d04f6b25dfd7c8f594d80d1015c6d5af", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-end/cloudEnd.png": { + "mtime": 1778813276.8194394, + "ast_hash": "c0988ccd8e05bc0f1574e96e0450220c", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-final/image.png": { + "mtime": 1778813276.8219533, + "ast_hash": "0e25cd0b3238251896dd51e8e0c81476", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/DSGTCloud.png": { + "mtime": 1778813276.8244681, + "ast_hash": "04e376b59f85423eeb05956f2685c699", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/candy/candyEnd.png": { + "mtime": 1778813276.8281248, + "ast_hash": "593c099467a19b29f3e1a9b064f92a56", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/cloudBottom.png": { + "mtime": 1778813276.8296406, + "ast_hash": "563c3c452eafc2f7487d62c737ba38b7", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/dateCloud.png": { + "mtime": 1778813276.832183, + "ast_hash": "2066aed87befd95696e0fb963f07cee9", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/largecloud.png": { + "mtime": 1767899850.8937235, + "ast_hash": "eb45a889b4bffbd5d5a3f32bb667b156", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/midCloud.png": { + "mtime": 1767899850.9196534, + "ast_hash": "590754d3d87d0556e8ce50367b5d33a0", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/smallCloud.png": { + "mtime": 1767899850.9759755, + "ast_hash": "9eb257b9edee1da1ff595010b01dc2af", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/dsgt.png": { + "mtime": 1778813276.8350384, + "ast_hash": "0f083998cb4d8b38de46a21b7e9396f8", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/file.svg": { + "mtime": 1767899851.1163318, + "ast_hash": "d09f95206c3fa0bb9bd9fefabfd0ea71", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/globe.svg": { + "mtime": 1767899851.17315, + "ast_hash": "3312a118b9a2c78c9b10245734b645a6", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/instagram-logo.svg": { + "mtime": 1767899851.2269475, + "ast_hash": "708d1fe2f78f64ea2f182e8c000e3614", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/logo.png": { + "mtime": 1778813276.838535, + "ast_hash": "1ce03856440e2ce0603d225eeef2a508", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/mid-candy/medium.png": { + "mtime": 1778813276.842985, + "ast_hash": "c1187d161509190cc3ec01955fd7dca6", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/mlh-trust-badge.svg": { + "mtime": 1779908904.7538915, + "ast_hash": "8a3d6ff4550c2c06158ccaec261ee1e4", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/next.svg": { + "mtime": 1767899851.5217545, + "ast_hash": "8e061864f388b47f33a1c3780831193e", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/apple-watch.jpg": { + "mtime": 1778813276.8448503, + "ast_hash": "03af761b3871b32c7de57480a406b74c", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/fitbit.jpg": { + "mtime": 1778813276.847867, + "ast_hash": "de307bbf30f2b116fbc645ec83e63c5b", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/jbl-flip.jpg": { + "mtime": 1778813276.8508968, + "ast_hash": "a690e31799f291a5aee47bdd2be57666", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/karaoke-new.jpg": { + "mtime": 1778813276.853427, + "ast_hash": "8f3c37c10d4aed533075a24336728246", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/nespresso-new.jpg": { + "mtime": 1778813276.8559434, + "ast_hash": "3f1ec9686cf2eb8147093b52fd2dbd02", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/ninja-creami.jpg": { + "mtime": 1778813276.8579526, + "ast_hash": "9711ea6cc59394381d5ecbdd080745af", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/owala.jpg": { + "mtime": 1770840022.5057251, + "ast_hash": "3142246267bc721fe25d02a66c66aa2b", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/pickleball-backpack.jpg": { + "mtime": 1778813276.860973, + "ast_hash": "46bfe366f264479e5896b255a05b52f8", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/poker-set-new.jpg": { + "mtime": 1778813276.8629868, + "ast_hash": "21f61b6a948d075666a00c36436f88a8", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/projector-new.jpg": { + "mtime": 1778813276.8655238, + "ast_hash": "3cc899e62796829f10ba986eb6d993d0", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/samsung-monitor.jpg": { + "mtime": 1778813276.8675356, + "ast_hash": "117912c4b834642220a0038ca01b4769", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/theragun-mini.jpg": { + "mtime": 1778813276.8696723, + "ast_hash": "3c8df942b74d17adcbc30e462e4320c2", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/turntable-new.jpg": { + "mtime": 1778813276.8711894, + "ast_hash": "29121df4ee0c4fa493f9d4e022417267", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/small-candy/blue.png": { + "mtime": 1767899851.5521133, + "ast_hash": "1e7e2071f4be4dab3f36ffe8902ed929", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/small-candy/green.png": { + "mtime": 1767899851.56871, + "ast_hash": "ffdc0bd0eec99ababcf063c09077f5d9", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/small-candy/pink.png": { + "mtime": 1767899851.5922995, + "ast_hash": "6929b19508a0903afda9ad7314f4b13f", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/small-candy/yellow.png": { + "mtime": 1767899851.6104872, + "ast_hash": "e9a5173b9715a9dbe373f75126ea1ad3", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_Cox.png": { + "mtime": 1770329152.0444064, + "ast_hash": "013fe21154de0ed04813c81cc7f07e82", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_NLP.png": { + "mtime": 1778813276.873207, + "ast_hash": "1877636ff0310f7683357ba78a37ca6a", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_SafetyKit.svg": { + "mtime": 1769116215.6532536, + "ast_hash": "ae062ace176f1d814df9e1221d43a249", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_Tractian.svg": { + "mtime": 1769116215.6532536, + "ast_hash": "c1dc2ce051c25e9870f51fff446dcf8a", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_X.png": { + "mtime": 1778813276.8762321, + "ast_hash": "1bdc6842edf4783ed9f1d57efc3a009d", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/Silver_SphinxAI.svg": { + "mtime": 1769116215.6572156, + "ast_hash": "e98ce1ad61eea83070bd8ea37397018a", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_actian.png": { + "mtime": 1778813276.878799, + "ast_hash": "6c3f98ae0513027470a79b2703647fc5", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_att.png": { + "mtime": 1778813276.879801, + "ast_hash": "46f4db3094c7187219b115fdd6e812fb", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_deshaw.png": { + "mtime": 1778813276.8828874, + "ast_hash": "95a83910e08cfe86f6f17f60affad273", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_figma.svg": { + "mtime": 1769116215.6596131, + "ast_hash": "3da2dd69aab574e5ce7d47a90afb315e", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_scale.png": { + "mtime": 1778813276.8838873, + "ast_hash": "3264403f0cf19dd0582152547e83e76d", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/gold_databricks.png": { + "mtime": 1778813276.88614, + "ast_hash": "768d64b6f191f428fabf3141bbff08af", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/gold_intuit.png": { + "mtime": 1778813276.888268, + "ast_hash": "c642d6f3b5568bb939f81dea8c697e8f", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/silver_assurant.png": { + "mtime": 1778813276.8917928, + "ast_hash": "6a4ca0757ef485fa3c0df48d862fac72", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/silver_growthfactor.svg": { + "mtime": 1769116215.663626, + "ast_hash": "1bd5de28fd0dc41edebe0b5a4fe6a643", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/tickets/bronze.png": { + "mtime": 1778813276.8943129, + "ast_hash": "90d8d4ce4a10190a544176abcdcd7b0c", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/tickets/gold.png": { + "mtime": 1778813276.8969216, + "ast_hash": "0d24a830d8f96d5e5905ce6af6e8033a", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/tickets/silver.png": { + "mtime": 1778813276.8994305, + "ast_hash": "b4aff12720ece262b3b675cec75631fa", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/vercel.svg": { + "mtime": 1767899851.758679, + "ast_hash": "c0af2f507b369b085b35ef4bbe3bcf1e", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/window.svg": { + "mtime": 1767899851.7801552, + "ast_hash": "a2760511c65806022ad20adf74370ff3", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/wonka/wonka.jpg": { + "mtime": 1778813276.9027433, + "ast_hash": "f403be1a2129ecc1da0473bdeffbb0ad", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/aamogh.png": { + "mtime": 1778813276.915383, + "ast_hash": "43662ffabc5671929d2f4e7f2ba87d84", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/aditi.jpg": { + "mtime": 1778813276.936756, + "ast_hash": "8682825e3d235b1cd8809138e46c3ce5", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/alysha.jpg": { + "mtime": 1778813276.9509146, + "ast_hash": "1163fcea2f665241ab006d60baf5a57d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/alysha.png": { + "mtime": 1778027641.4820802, + "ast_hash": "d2bb6a88a20bd530231553db350139dd", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/anika.jpg": { + "mtime": 1778813276.9595828, + "ast_hash": "2d07551ac9f18126979d47b0e0ab7b8c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/anushka.jpg": { + "mtime": 1778813276.975856, + "ast_hash": "615afca1e654c1a0f3b0dbbf6eef999a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/aryan.jpeg": { + "mtime": 1778813276.9853792, + "ast_hash": "6dae64666f078f6f8070d1127c7aa9d2", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/diya.jpeg": { + "mtime": 1778813277.0051284, + "ast_hash": "323f2d218eb5711693d75b42ed713e16", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/glenne.png": { + "mtime": 1778813277.0155325, + "ast_hash": "457ff650ebfb4a100dc65a71e4f41296", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/ideas.png": { + "mtime": 1778813277.0246782, + "ast_hash": "d557204d1e15790f1461f5698d7f664c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/jake.png": { + "mtime": 1778813277.0298927, + "ast_hash": "6ccdcabb52103322b067ea3d6921c354", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/nitika.jpg": { + "mtime": 1778813277.0402768, + "ast_hash": "da4389f7ad8a8641fe2463ce6ccde564", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/sarvesh.jpg": { + "mtime": 1767556150.9877334, + "ast_hash": "d0c49b6b8b5dba55200ddc7677691a51", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/smera.png": { + "mtime": 1778813277.065477, + "ast_hash": "3aa4d844c983dfbedbee95ab03bd0c74", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/squad.jpg": { + "mtime": 1778813277.0851946, + "ast_hash": "66ea92d83ec81e6e57fd9875f44dc99b", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/vidhi.jpeg": { + "mtime": 1778813277.0933185, + "ast_hash": "76487f03420c32d6beecccfd2bee888a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/blob1--export.svg": { + "mtime": 1767556151.7812662, + "ast_hash": "2e35979a013e5add58d7243540ce448c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/blob2--export.svg": { + "mtime": 1767556151.7997816, + "ast_hash": "9bb2392740cf7a2524f0c7d866644dec", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/footer--export.svg": { + "mtime": 1767556151.8229296, + "ast_hash": "10ce0f3fadf7d481b541f6ba9be5034e", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/footer-mobile--export.svg": { + "mtime": 1767556151.844252, + "ast_hash": "9551a31a876b7d0bd365b0896d8af08d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/footer-mobile2--export.svg": { + "mtime": 1767556151.860243, + "ast_hash": "09d15fc1e9866b421b379e6c4f7fdfae", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/hero--export.svg": { + "mtime": 1767556151.8797698, + "ast_hash": "71b0b07b28f76e92851685df042c12b2", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/hero2--export.svg": { + "mtime": 1767556151.896109, + "ast_hash": "f6f4c2286fed53ba1d0b1150cd638b08", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/hero2-mobile--export.svg": { + "mtime": 1767556151.9176433, + "ast_hash": "a63863062af88218b61fb3a622d72e19", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/hero3--export.svg": { + "mtime": 1767556151.9386299, + "ast_hash": "a27c2973ca27c8004cd24cdccc448a16", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/major--export.svg": { + "mtime": 1767556151.9720466, + "ast_hash": "b96f6343e7b4b6861d9286cbdc584b8d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/small-blob--export.svg": { + "mtime": 1767556151.9832006, + "ast_hash": "3ee043311af553d3898777a530db412d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/small-header--export.svg": { + "mtime": 1767556151.9939182, + "ast_hash": "5d3fdd981c4ecc0f9217447285a88b0b", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/Icon-128.png": { + "mtime": 1767556152.0116081, + "ast_hash": "2d701e4558f43f6a735d00dbb79b0bbb", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/Icon-196.png": { + "mtime": 1778813277.0943153, + "ast_hash": "4513b5548ee80b506fc74a24b394fd2d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/Icon-512.png": { + "mtime": 1778813277.0980265, + "ast_hash": "165b98c3179393d0ca6cbecb5aba91bc", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/apple-touch-icon.png": { + "mtime": 1778813277.0990262, + "ast_hash": "7d765fb1eae23c3ce1da6a6bdf5547c0", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/favicon-16x16.png": { + "mtime": 1767556152.100145, + "ast_hash": "6d4647051d2943c215482626d5836230", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/favicon-32x32.png": { + "mtime": 1767556152.119794, + "ast_hash": "a8d27a52355240dba9eb910def675c4c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/financial_icon.png": { + "mtime": 1767556152.1620197, + "ast_hash": "eba98e2f294e4b15af7a7f70ba830ea7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/heathcare_icon.png": { + "mtime": 1778813277.099534, + "ast_hash": "3bb8cdcdda33b39b537b8c173102e716", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/logos-20.png": { + "mtime": 1778813277.1091182, + "ast_hash": "e0950fa0823e8f3a5a50a04fb26069e9", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/sports_icon.png": { + "mtime": 1767556152.3071828, + "ast_hash": "b03ae00a892b62ac317858e5f049997a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/square-logo.png": { + "mtime": 1778813277.1122496, + "ast_hash": "a3d441927961227e4387fefa995c4d70", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/Mentra.png": { + "mtime": 1778813277.1144226, + "ast_hash": "b30f8a45ed76467c4980bc033a1d7be3", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/arc-logo-v3.png": { + "mtime": 1778813277.1183188, + "ast_hash": "d8988df8313a2362e0deb108b96001b7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/birdclef.png": { + "mtime": 1767556152.4597137, + "ast_hash": "efac9250ec2ec02ae419a355351bafdf", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/blueconduit.png": { + "mtime": 1767556152.477871, + "ast_hash": "a86a172050e611338e23c0fa5ba2943e", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/dlp4.png": { + "mtime": 1778813277.1227162, + "ast_hash": "9a3ef363a8f72463d756df63c60048d9", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/furnichanter.png": { + "mtime": 1778813277.1258748, + "ast_hash": "2108ce313fdc15ccd90d267757c63e86", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/gtaa.png": { + "mtime": 1778813277.1275172, + "ast_hash": "3ec1984c0d97c74836211b33ae050864", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/shepcenter.jpeg": { + "mtime": 1767556152.5906053, + "ast_hash": "ce3ccdfe08e3639bd90e00024bad6235", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/stock.png": { + "mtime": 1778813277.1395092, + "ast_hash": "b184b4094de5a7c33983da386cc1a1a1", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/storm.png": { + "mtime": 1778813277.1411324, + "ast_hash": "9d0acc433d59b7d467bec44296708908", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/trading.png": { + "mtime": 1778813277.1718073, + "ast_hash": "fcb4b3c788dfa215305c0f390cc9162c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Devarsh.jpeg": { + "mtime": 1767556153.2751994, + "ast_hash": "f05f921025fbabe1aedf59b583090024", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Jessi.jpg": { + "mtime": 1767556153.3232813, + "ast_hash": "9bb145c48f5810ad84f141a7f93fad72", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/John.jpg": { + "mtime": 1767556153.4097571, + "ast_hash": "4fede7d0bb0abaa74d9b6eb98d57a4b9", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Krishi.jpg": { + "mtime": 1767556153.4655123, + "ast_hash": "f02ff4017f74a27e927838dd1e58b6ac", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Pranay.jpg": { + "mtime": 1767556153.5092869, + "ast_hash": "934ba36bd45e281faddd910cbdda8e05", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Pratham.jpeg": { + "mtime": 1767556153.7263422, + "ast_hash": "41adb87dc4d2d50f93a46c541fac405a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Reshma.JPG": { + "mtime": 1767556153.8184183, + "ast_hash": "9bb89464142bf4d948424026a0ea0d8a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Shreiyas.png": { + "mtime": 1778813277.1761203, + "ast_hash": "7d552e3a5e35310153e0716b8d70c083", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Adith.jpg": { + "mtime": 1767556153.8988922, + "ast_hash": "a8ad139a9ede9626b32ec0d6f9f736e1", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Archie.jpg": { + "mtime": 1767556153.9485636, + "ast_hash": "9c66f066728d428bfc787fae9e545b78", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Aryan.jpg": { + "mtime": 1767556153.9796512, + "ast_hash": "1139a9b1fb7ca4b831a52d42b88dc1c6", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Bradley.jpg": { + "mtime": 1767556153.999257, + "ast_hash": "2c5d29c3fb257e410169490a9c1beaf6", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Emma.jpeg": { + "mtime": 1767556154.1951115, + "ast_hash": "c6b1c283994056501397b61e95bbe849", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Krishi.jpg": { + "mtime": 1767556154.3294625, + "ast_hash": "9834e459af4577ca08c7c22b3b9aab0a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Pennon.png": { + "mtime": 1767556154.565122, + "ast_hash": "8e62185cc58928932a37e08f7ff5ccf7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Smera.jpeg": { + "mtime": 1778813277.1917863, + "ast_hash": "2956ec7c6bfe4d9823bce65c4c567ff0", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Vicente.png": { + "mtime": 1767556155.2834804, + "ast_hash": "75ce7feb1ef6e66cfaf6fab3f20db8ff", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Aditi.jpeg": { + "mtime": 1767556155.421899, + "ast_hash": "97e40b88b746aa5e9cf0ba6eddebe2c1", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Archie.jpg": { + "mtime": 1767556155.46597, + "ast_hash": "1a0947cad8c57c1beff07c92c4b1fdd1", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Dhruv.jpeg": { + "mtime": 1767556155.5507329, + "ast_hash": "4143b6502c7f6c1bdec8a7655144ceed", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Emma.jpeg": { + "mtime": 1767556155.6483338, + "ast_hash": "125bda00b644eb44aba8616ee71fe7a7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Harsha.jpeg": { + "mtime": 1767556155.6915376, + "ast_hash": "2cdc2df948f6169cd6bd50e78ae67c78", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Lavan.jpeg": { + "mtime": 1767556155.7320755, + "ast_hash": "2091e9502adb1bfdeb2e50f01bb96eaf", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Nikita.jpeg": { + "mtime": 1767556155.7926126, + "ast_hash": "43b207a52ad85e9149265e7835b3ae3e", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Om.jpeg": { + "mtime": 1767556155.9826832, + "ast_hash": "3e154095e26f1628785df25c5ab169fd", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Ryan.jpeg": { + "mtime": 1767556156.1600156, + "ast_hash": "a5e1d3e07153330172a6b4e12164cc03", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Shreiyas.jpeg": { + "mtime": 1778813277.1943085, + "ast_hash": "bed06c3006049037a7ea0abe9fabd24c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Shreya.jpg": { + "mtime": 1767556156.29799, + "ast_hash": "ded8c3fe6458695ff2c8374503ce0525", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Smera.png": { + "mtime": 1778813277.2009268, + "ast_hash": "4a8d33ba18824dfa7708c3c119a038d7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide0.jpg": { + "mtime": 1767556156.722722, + "ast_hash": "4089a73b32dc9477fc599442d2e90875", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide1.jpg": { + "mtime": 1778813277.2054732, + "ast_hash": "25c4d2bb5175681ec2e68ee601bc2842", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide2.jpg": { + "mtime": 1767556156.8709068, + "ast_hash": "7dd58b529e1977eec9cceeddd2ef529a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide6.jpg": { + "mtime": 1778813277.59207, + "ast_hash": "5915421922db5c9a4e2f5238bbc605b9", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide7.jpg": { + "mtime": 1778813277.595553, + "ast_hash": "5e619537bb5522f067001019fbbd9300", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide8.jpg": { + "mtime": 1767556160.479468, + "ast_hash": "9572ceb0fda034d4825f620e68939b14", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide9.jpg": { + "mtime": 1778813277.6237686, + "ast_hash": "91e7c297cdf73c19602ad57401c44256", + "semantic_hash": "" + }, + "sites/mainweb/components/Background/background-design-1.png": { + "mtime": 1775430727.3053875, + "ast_hash": "dd23fe479a70d5b51505d6ce918e1216", + "semantic_hash": "" + }, + "sites/mainweb/public/background-design-1.png": { + "mtime": 1767556161.8741417, + "ast_hash": "dd23fe479a70d5b51505d6ce918e1216", + "semantic_hash": "" + }, + "sites/mainweb/public/circles.svg": { + "mtime": 1767556161.8908625, + "ast_hash": "2517f9eb2aa231a483a2b0c27da9d454", + "semantic_hash": "" + }, + "sites/mainweb/public/favicon-16x16.png": { + "mtime": 1767556161.9045897, + "ast_hash": "6d4647051d2943c215482626d5836230", + "semantic_hash": "" + }, + "sites/mainweb/public/favicon-32x32.png": { + "mtime": 1767556161.9184349, + "ast_hash": "a8d27a52355240dba9eb910def675c4c", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/Icon-128.png": { + "mtime": 1767556162.5460322, + "ast_hash": "2d701e4558f43f6a735d00dbb79b0bbb", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/Icon-196.png": { + "mtime": 1778813277.6276436, + "ast_hash": "4513b5548ee80b506fc74a24b394fd2d", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/Icon-512.png": { + "mtime": 1778813277.6296868, + "ast_hash": "165b98c3179393d0ca6cbecb5aba91bc", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/apple-touch-icon.png": { + "mtime": 1778813277.6312132, + "ast_hash": "7d765fb1eae23c3ce1da6a6bdf5547c0", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/favicon-16x16.png": { + "mtime": 1767556162.6295133, + "ast_hash": "6d4647051d2943c215482626d5836230", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/favicon-32x32.png": { + "mtime": 1767556162.6495974, + "ast_hash": "a8d27a52355240dba9eb910def675c4c", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/financial_icon.png": { + "mtime": 1767556162.6850204, + "ast_hash": "eba98e2f294e4b15af7a7f70ba830ea7", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/heathcare_icon.png": { + "mtime": 1778813277.6327028, + "ast_hash": "3bb8cdcdda33b39b537b8c173102e716", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/logos-20.png": { + "mtime": 1778813277.638908, + "ast_hash": "e0950fa0823e8f3a5a50a04fb26069e9", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/sports_icon.png": { + "mtime": 1767556162.796482, + "ast_hash": "b03ae00a892b62ac317858e5f049997a", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/square-logo.png": { + "mtime": 1778813277.6410306, + "ast_hash": "a3d441927961227e4387fefa995c4d70", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/Mentra.png": { + "mtime": 1778813277.6430013, + "ast_hash": "b30f8a45ed76467c4980bc033a1d7be3", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/arc-logo-v3.png": { + "mtime": 1778813277.645968, + "ast_hash": "d8988df8313a2362e0deb108b96001b7", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/birdclef.png": { + "mtime": 1767556162.9113204, + "ast_hash": "efac9250ec2ec02ae419a355351bafdf", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/blueconduit.png": { + "mtime": 1767556162.930328, + "ast_hash": "a86a172050e611338e23c0fa5ba2943e", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/dlp4.png": { + "mtime": 1778813277.6498187, + "ast_hash": "9a3ef363a8f72463d756df63c60048d9", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/furnichanter.png": { + "mtime": 1778813277.6525471, + "ast_hash": "2108ce313fdc15ccd90d267757c63e86", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/gtaa.png": { + "mtime": 1778813277.654169, + "ast_hash": "3ec1984c0d97c74836211b33ae050864", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/shepcenter.jpeg": { + "mtime": 1767556163.0251904, + "ast_hash": "ce3ccdfe08e3639bd90e00024bad6235", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/stock.png": { + "mtime": 1778813277.6609328, + "ast_hash": "b184b4094de5a7c33983da386cc1a1a1", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/storm.png": { + "mtime": 1778813277.66333, + "ast_hash": "9d0acc433d59b7d467bec44296708908", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/trading.png": { + "mtime": 1778813277.686952, + "ast_hash": "fcb4b3c788dfa215305c0f390cc9162c", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/1.png": { + "mtime": 1770734961.954631, + "ast_hash": "138e9ea74ab474f9633d6d28d1c4999f", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/2.png": { + "mtime": 1778813277.707545, + "ast_hash": "a8de9df4ea49df8d931ec3426596894f", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/3.png": { + "mtime": 1778027641.9553885, + "ast_hash": "de0c852a23b172048c9e6e10db796639", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/4.png": { + "mtime": 1770734962.0026386, + "ast_hash": "a0fcade4dec26f6e717e9b6a57f7a066", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/5.png": { + "mtime": 1770734962.0277212, + "ast_hash": "b5a83164c4e93c7591b009b09c3531e7", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/6.png": { + "mtime": 1778813277.7259736, + "ast_hash": "38c65faba080be45774923ff5a31238c", + "semantic_hash": "" + }, + "sites/mainweb/public/logo128.png": { + "mtime": 1767556161.9669304, + "ast_hash": "2d701e4558f43f6a735d00dbb79b0bbb", + "semantic_hash": "" + }, + "sites/mainweb/public/logo196.png": { + "mtime": 1778813277.728173, + "ast_hash": "4513b5548ee80b506fc74a24b394fd2d", + "semantic_hash": "" + }, + "sites/mainweb/public/logo512.png": { + "mtime": 1778813277.7296987, + "ast_hash": "165b98c3179393d0ca6cbecb5aba91bc", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Black.svg": { + "mtime": 1779908904.7389324, + "ast_hash": "02531a570a5cada8f5baee91c37024b4", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Blue.svg": { + "mtime": 1779908904.7727602, + "ast_hash": "7cf3173f9bbfb11324305725f3f6f4ae", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Dark Gray.svg": { + "mtime": 1779908904.7639806, + "ast_hash": "8387d35cfa760abad581e67c13e1f640", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Red.svg": { + "mtime": 1779908904.7796776, + "ast_hash": "3b080e7e24a817cc919cf20d1779296c", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_White.svg": { + "mtime": 1779908904.7538915, + "ast_hash": "8a3d6ff4550c2c06158ccaec261ee1e4", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Yellow.svg": { + "mtime": 1779908904.747579, + "ast_hash": "c3488c604b79d92494b69a47f45aaf49", + "semantic_hash": "" + } +} \ No newline at end of file diff --git a/package.json b/package.json index ce6635cf..e0dcb444 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "test": "vitest run packages/api" }, "dependencies": { - "next": "16.2.6", + "next": "16.2.11", "typescript": "^6.0.2" }, "devDependencies": { @@ -24,10 +24,19 @@ }, "pnpm": { "overrides": { - "postcss": "^8.5.10", + "postcss": "^8.5.18", "esbuild": "^0.25.12", "ws": "^8.20.1", - "@eslint/plugin-kit": "^0.3.4" + "@eslint/plugin-kit": "^0.3.4", + "@auth/core": "^0.41.3", + "@grpc/grpc-js": "^1.14.4", + "websocket-driver": "^0.7.5", + "protobufjs": "^7.6.5", + "js-yaml": "^4.3.0", + "undici": "^6.27.0", + "sharp": "^0.35.0", + "vite": "^7.3.5", + "brace-expansion": "^5.0.8" } } } diff --git a/packages/api/.cache/tsbuildinfo.json b/packages/api/.cache/tsbuildinfo.json index 547e79d4..cfda375f 100644 --- a/packages/api/.cache/tsbuildinfo.json +++ b/packages/api/.cache/tsbuildinfo.json @@ -1 +1 @@ -{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/adapters.d.ts","../../db/src/schemas/auth.ts","../../db/src/schemas/members.ts","../../db/src/schemas/hackathons.ts","../../db/src/schemas/admins.ts","../../db/src/schemas/events.ts","../../db/src/schemas/judge.ts","../../db/src/schemas/stripe.ts","../../db/src/schemas/security.ts","../../db/src/schemas/settings.ts","../../db/src/schemas/index.ts","../../db/src/client.ts","../../db/src/index.ts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d-d4qzxqjh.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/unstable-core-do-not-import.d-bl-_61jq.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d-vq_qhko2.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/adapters/fetch/index.d.mts","../src/middleware/cache.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/css.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/style.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/get-page-files.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/canary.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/experimental.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/canary.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/experimental.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/fallback.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/bundler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/load-custom-routes.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/image-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/body-streams.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/search-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/vary-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-kind.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matches/route-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/app-router-headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/cache-control.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/render-result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/response-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/response-cache/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/static-paths/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/instrumentation/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/page-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/require-hook.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-baseline.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/page-extensions-type.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/next-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/mitt.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/with-router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/route-loader.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/page-loader.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/flight-data-helpers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/templates/pages.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/render.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/load-default-error-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/base-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/after/after.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/after/after-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/lazy-result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/async-storage/work-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/http.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/redirect-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/templates/app-route.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/get-supported-browsers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/rendering-mode.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/cpu-profile.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/export/routes/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/export/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/export/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/coalesced-function.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/trace/trace.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/trace/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/load-jsconfig.d.ts","../../../node_modules/.pnpm/@next+env@16.2.6/node_modules/@next/env/dist/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/telemetry/storage.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/build-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/swc/generated-native.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/define-env.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/swc/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/swc/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/shared/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/parse-stack.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/server/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/debug-channel.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/base-http/node.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/image-optimizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/next-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/lru-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/next.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/render-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/route-module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/load-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/adapter.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/app-render.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/layout-router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/client-page.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/client-segment.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/metadata.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/entry-base.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/templates/app-page.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-dev-runtime.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/compiler-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/client.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/fallback-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/after/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/connection.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/exports/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request-meta.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/cli/next-test.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/size-limit.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/config-shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/base-http/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/api-utils/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/adapter/build-complete.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/pages/_app.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/app.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/pages/_document.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/document.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/pages/_error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/catch-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/api/error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/head.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/head.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/draft-mode.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/image-component.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/image-external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/image.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/link.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/link.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/redirect.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/not-found.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/forbidden.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/unauthorized.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/script.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/script.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/types/compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/index.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/lib/types.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/errors.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/google.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/providers/google.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/providers/nodemailer.d.ts","../../auth/src/config.ts","../../../node_modules/.pnpm/@types+cookie@0.6.0/node_modules/@types/cookie/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.11.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.11.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/mysql.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/pg.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/sqlite.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/utils.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/index.d.ts","../../auth/src/adapter.ts","../../auth/src/auth.ts","../../auth/src/utils.ts","../../auth/src/index.ts","../src/context.ts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d.mts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/transformer.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/plainer.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/types.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/class-registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/custom-transformer-registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/tokenizer.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/parser.d.ts","../../../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/index.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/node.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/index.d.ts","../../../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/index.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/stringify.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/traversal.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/manipulation.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/querying.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/legacy.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/helpers.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/feeds.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/index.d.ts","../../../node_modules/.pnpm/@types+sanitize-html@2.16.1/node_modules/@types/sanitize-html/index.d.ts","../src/middleware/security.ts","../src/trpc.ts","../src/routers/hello-procedures.ts","../src/routers/hello.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/types/interface.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/types/index.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/lookup.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/index.d.ts","../src/routers/user.ts","../src/middleware/procedures.ts","../src/routers/admin.ts","../src/routers/member.ts","../src/routers/hackathon.ts","../src/routers/events.ts","../src/routers/judge.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/net/httpclient.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripecontext.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/apiversion.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/lib.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/striperesource.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/crypto/cryptoprovider.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripeemitter.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/platform/platformfunctions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/decimal.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/shared.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/metereventsummaries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/meters.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/coupons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/promotioncodes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/discounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxrates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/creditnotelineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applications.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/capabilities.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/bankaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/externalaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/loginlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/multipart.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/filelinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/files.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/persons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxids.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/mandates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentintentamountdetailslineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/connectcollectiontransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/transfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/transferreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/refunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customercashbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/disputes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/payouts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reservetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxdeductedatsources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sourcetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/topups.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/cardholders.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/physicalbundles.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/personalizationdesigns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/tokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/disputes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/authorizations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancetransactionsources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/feerefunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applicationfees.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reviews.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customersources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/charges.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentintents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/setupintents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/setupattempts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethods.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/features.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/activeentitlements.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/activeentitlementsummaries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/productfeatures.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/prices.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxcodes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/products.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/plans.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptionitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/confirmationtokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/confirmationtokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/customers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/refunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/testclocks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/authorizations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/personalizationdesigns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/locations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/readers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/terminal/readers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/terminal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/creditreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/debitreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/outboundpayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/outboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/receivedcredits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/receiveddebits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/transactionentries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/inboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/inboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/outboundpayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/outboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/receivedcredits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/receiveddebits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptionschedules.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicelineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentrecords.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicepayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/shippingrates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoices.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/creditnotes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/lineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/checkout/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/checkout/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customerbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/cashbalances.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/fundinginstructions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/alerts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditbalancesummary.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditgrants.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/meterevents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/metereventadjustments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/alerttriggereds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/configurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/suppliers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/products.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/orders.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accountowners.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accountownerships.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/verificationreports.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/verificationsessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/earlyfraudwarnings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/paymentevaluations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/valuelistitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/valuelists.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/reportruns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/reporttypes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/plans.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/holds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/releases.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sigma/scheduledqueryruns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sigma/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/associations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/calculationlineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/calculations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/registrations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/settings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/transactionlineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/configurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/connectiontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/onboardinglinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/financialaccountfeatures.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/financialaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balance.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancesettings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoiceitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/quotes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sourcemandatenotifications.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/events.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/webhooks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accountlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accountsessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applepaydomains.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/countryspecs.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customersessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/ephemeralkeys.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/exchangerates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicerenderingtemplates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/oauth.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentattemptrecords.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethodconfigurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethoddomains.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/webhookendpoints.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resourcenamespace.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/apps/secrets.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/apps/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/forwarding/requests.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/forwarding/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/deletedobject.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/meterevents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventadjustments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventsession.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventstream.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/v2amounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountpersons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts/persons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountpersontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts/persontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounttokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/events.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/eventdestinations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripe.core.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/types.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/requestsender.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/error.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripe.esm.node.d.ts","../src/routers/stripe.ts","../src/routers/audit.ts","../src/routers/team.ts","../src/routers/settings.ts","../src/root.ts","../src/index.ts","../src/middleware/http-security.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.8/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/tasks.d-deyaimiu.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/traces.d.d2t_r8rx.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/environment.d-dojxxzv9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/rawsnapshot.d-d_x3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/config.d.a1h_y6jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/environment.d.crsxczp1.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/rpc.d.b_8spu0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/worker.d.zphpo4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/browser.d.bcoexmfg.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.8/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/benchmark.d.daahlpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/global.d.dvssrdq5.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/types.d-bji5eawu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/index.d-b41z0auw.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/suite.d.udjtyagw.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/evaluatedmodules.d.bxj5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/index.d.ts","../src/.internal-tests/resilience.test.ts","../src/.internal-tests/routers.test.ts","../src/.internal-tests/security.test.ts"],"fileIdsList":[[391,433,517,518,900,908],[391,433,891,892,893,894,895,897,900,908,909],[391,433,897,900],[391,433,891],[391,433],[391,433,900],[391,433,896,900],[391,433,896],[391,433,890,898,900,909],[391,433,900,902,908],[391,433,900,904,908],[391,433,898,900,903,905,907],[391,433,900,905],[391,433,496,891,896,900,906,908],[391,433,900,908],[391,433,496,889,890,896,897,899,908],[391,433,508,516,518,909],[391,433,499,500,501,502,503,505,508,516,517],[391,433,505,508],[391,433,499],[391,433,508],[391,433,504,508],[391,433,498,504],[391,433,497,506,508,517],[391,433,508,510,516],[391,433,508,512,513,516],[391,433,516],[391,433,506,508,511,514,515],[391,433,508,514],[391,433,496,499,504,508,512,516],[391,433,508,516],[391,433,495,496,497,498,504,505,507,516],[391,433,909,913],[222,385,391,433,909],[293,385,391,433,909],[379,385,391,433,909],[222,293,379,391,433,910,911,912],[391,433,531,532,533],[391,433,531],[391,433,1230,1231],[391,430,433],[391,432,433],[433],[391,433,438,468],[391,433,434,439,445,446,453,465,476],[391,433,434,435,445,453],[386,387,388,391,433],[391,433,436,477],[391,433,437,438,446,454],[391,433,438,465,473],[391,433,439,441,445,453],[391,432,433,440],[391,433,441,442],[391,433,443,445],[391,432,433,445],[391,433,445,446,447,465,476],[391,433,445,446,447,460,465,468],[391,428,433],[391,428,433,441,445,448,453,465,476],[391,433,445,446,448,449,453,465,473,476],[391,433,448,450,465,473,476],[389,390,391,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482],[391,433,445,451],[391,433,452,476],[391,433,441,445,453,465],[391,433,454],[391,433,455],[391,432,433,456],[391,430,431,432,433,434,435,436,437,438,439,440,441,442,443,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482],[391,433,458],[391,433,459],[391,433,445,460,461],[391,433,460,462,477,479],[391,433,445,465,466,468],[391,433,467,468],[391,433,465,466],[391,433,468],[391,433,469],[391,430,433,465],[391,433,445,471,472],[391,433,471,472],[391,433,438,453,465,473],[391,433,474],[391,433,453,475],[391,433,448,459,476],[391,433,438,477],[391,433,465,478],[391,433,452,479],[391,433,480],[391,433,445,447,456,465,468,476,479,481],[391,433,465,482],[391,433,490],[391,433,445,465,473,483,484,485,488,489,490],[391,433,538,547,549],[391,433,538],[391,433,538,542,545,546,547,548,830,875],[391,433,538,812],[391,433,538,542,546,549,830,875],[391,433,538,542,545,549,830,875],[391,433,536,537],[391,433,956],[391,433,1203,1209,1227,1228,1229,1232],[391,433,1239],[391,433,1239,1240],[391,433,1207,1209,1210],[391,433,1207,1209],[391,433,1207],[391,433,1202,1207,1218,1219],[391,433,1202,1207,1218],[391,433,1226],[391,433,1202,1208],[391,433,1202],[391,433,1204],[391,433,1202,1203,1204,1205,1206],[391,433,946],[391,433,945],[391,433,944],[391,433,946,948,949,950,951,952,953,954],[391,433,944,946],[391,433,946,947],[89,95,98,143,381,391,433],[89,90,385,391,433],[91,391,433],[89,99,381,391,433],[89,98,99,167,222,293,345,379,381,391,433],[89,95,98,99,380,391,433],[89,391,433],[137,142,163,391,433],[89,107,137,391,433],[111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,140,391,433],[89,110,139,380,381,391,433],[89,139,380,381,391,433],[89,98,99,132,137,138,380,381,391,433],[89,98,99,137,139,380,381,391,433],[89,139,380,391,433],[89,137,139,380,381,391,433],[110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,139,140,391,433],[89,109,139,380,391,433],[89,121,139,380,381,391,433],[89,121,137,139,380,381,391,433],[89,91,94,98,99,104,137,141,142,143,145,148,149,150,152,158,159,163,391,433],[89,98,99,137,141,143,158,162,163,391,433],[89,137,141,391,433],[108,109,132,133,134,135,136,137,138,141,150,151,152,158,159,161,162,164,165,166,391,433],[89,98,137,141,391,433],[89,98,133,137,391,433],[89,98,137,152,391,433],[89,94,97,98,137,146,147,152,159,163,391,433],[153,154,155,156,157,160,163,391,433],[89,94,95,97,98,104,132,137,139,146,147,152,154,159,160,163,391,433],[89,94,98,104,141,150,157,159,163,391,433],[89,98,99,137,143,146,147,152,159,391,433],[89,98,144,146,147,391,433],[89,98,146,147,152,159,162,391,433],[89,90,94,97,98,99,104,137,141,142,146,147,150,152,159,163,391,433],[94,95,96,97,98,99,104,137,141,142,152,157,162,391,433],[89,94,95,97,98,99,137,139,142,146,147,152,159,163,381,391,433],[89,98,109,137,391,433],[89,90,91,99,107,143,144,151,159,163,391,433],[94,97,98,391,433],[89,95,108,131,132,134,135,136,138,139,380,391,433],[94,98,108,132,134,135,136,137,138,141,142,162,167,380,381,391,433],[89,98,391,433],[89,97,98,99,104,139,142,160,161,380,391,433],[89,92,94,95,96,99,107,143,146,380,381,382,383,384,391,433],[197,205,218,391,433],[89,98,197,391,433],[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,200,391,433],[89,199,380,381,391,433],[89,99,199,380,381,391,433],[89,98,99,197,198,380,381,391,433],[89,98,99,197,199,380,381,391,433],[89,99,197,199,380,381,391,433],[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,199,200,391,433],[89,179,199,380,381,391,433],[89,99,187,380,381,391,433],[89,91,94,98,99,143,197,204,205,210,211,212,213,215,218,391,433],[89,98,99,143,197,199,202,203,208,209,215,218,391,433],[89,197,201,391,433],[168,194,195,196,197,198,201,204,210,212,214,215,216,217,219,220,221,391,433],[89,98,197,201,391,433],[89,98,197,205,215,391,433],[89,94,98,99,146,197,199,210,215,218,391,433],[203,206,207,208,209,218,391,433],[89,90,95,98,104,146,147,197,199,207,208,210,215,218,391,433],[89,94,204,206,210,218,391,433],[89,98,99,143,146,197,210,215,391,433],[89,90,94,97,98,99,104,146,194,197,201,204,205,210,215,218,391,433],[94,95,96,97,98,99,104,197,201,205,206,215,217,391,433],[89,90,94,98,99,146,197,199,210,215,218,381,391,433],[89,197,217,391,433],[89,90,91,98,99,143,210,214,218,391,433],[94,97,98,104,207,391,433],[89,95,168,193,194,195,196,198,199,380,391,433],[94,168,194,195,196,197,198,205,206,217,222,385,391,433],[89,97,98,104,201,205,207,216,380,391,433],[89,91,92,99,143,276,283,391,433,491,492],[391,433,492,493],[89,90,92,98,99,143,277,283,287,293,331,391,433,491],[94,95,98,381,391,433],[264,270,287,391,433],[89,107,264,391,433],[224,225,226,227,228,230,231,232,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,267,391,433],[89,234,266,380,381,391,433],[89,266,380,381,391,433],[89,99,266,380,381,391,433],[89,98,99,259,264,265,380,381,391,433],[89,98,99,264,266,380,381,391,433],[89,266,380,391,433],[89,99,229,266,380,381,391,433],[89,99,264,266,380,381,391,433],[224,225,226,227,228,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,266,267,268,391,433],[89,233,266,380,391,433],[89,236,266,380,381,391,433],[89,264,266,380,381,391,433],[89,229,236,264,266,380,381,391,433],[89,99,229,264,266,380,381,391,433],[89,91,94,98,99,143,264,269,270,271,272,273,274,275,277,282,283,286,287,391,433],[89,98,99,143,202,264,269,277,282,286,287,391,433],[89,264,269,391,433],[223,233,259,260,261,262,263,264,265,269,275,276,277,282,283,285,286,288,289,290,292,391,433],[89,98,264,269,391,433],[89,98,260,264,391,433],[89,98,99,264,277,391,433],[89,90,94,97,98,104,146,147,264,277,283,287,391,433],[274,278,279,280,281,284,287,391,433],[89,90,94,95,97,98,104,146,147,259,264,266,277,279,283,284,287,391,433],[89,94,98,269,275,281,283,287,391,433],[89,98,99,143,146,147,264,277,283,391,433],[89,98,146,147,277,283,286,391,433],[89,90,94,97,98,99,104,146,147,264,269,270,275,277,283,287,391,433],[94,95,96,97,98,99,104,264,269,270,277,281,286,391,433],[89,90,94,95,97,98,99,104,146,147,264,266,270,277,283,287,381,391,433],[89,98,99,233,264,268,286,391,433],[89,90,91,99,107,143,144,276,283,287,391,433],[94,97,98,104,284,391,433],[89,95,223,258,259,261,262,263,265,266,380,391,433],[94,98,223,259,261,262,263,264,265,269,270,286,293,380,381,391,433],[291,391,433],[89,97,98,99,104,266,270,284,285,380,391,433],[89,107,391,433],[94,95,96,98,99,380,381,391,433],[89,95,98,99,102,381,385,391,433],[380,391,433],[385,391,433],[323,341,391,433],[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,325,391,433],[89,324,380,381,391,433],[89,99,324,380,381,391,433],[89,99,323,380,381,391,433],[89,98,99,323,324,380,381,391,433],[89,99,323,324,380,381,391,433],[89,99,107,324,380,381,391,433],[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,324,325,391,433],[89,304,324,380,381,391,433],[89,99,312,380,381,391,433],[89,91,94,98,143,323,330,333,334,335,338,340,341,391,433],[89,98,99,143,202,323,324,327,328,329,340,341,391,433],[320,321,322,323,326,330,335,338,339,340,342,343,344,391,433],[89,98,323,326,391,433],[89,323,326,391,433],[89,98,323,340,391,433],[89,94,98,99,146,323,324,330,340,341,391,433],[327,328,329,336,337,341,391,433],[89,95,98,146,147,323,324,328,330,340,341,391,433],[89,94,330,335,336,341,391,433],[89,90,94,97,98,99,104,146,323,326,330,335,340,341,391,433],[94,95,96,97,98,99,104,323,326,336,340,391,433],[89,94,98,99,146,323,324,330,340,341,381,391,433],[89,323,391,433],[89,90,91,98,99,143,330,339,341,391,433],[94,97,98,104,337,391,433],[89,95,319,320,321,322,324,380,391,433],[94,98,320,321,322,323,345,380,381,391,433],[89,91,92,99,143,330,332,339,391,433],[89,90,92,98,99,143,330,331,340,341,391,433],[98,381,391,433],[100,101,391,433],[103,105,391,433],[98,104,381,391,433],[98,102,106,391,433],[89,93,94,95,97,99,381,391,433],[351,372,377,391,433],[89,98,372,391,433],[347,367,368,369,370,375,391,433],[89,99,374,380,381,391,433],[89,98,99,372,373,380,381,391,433],[89,98,99,372,374,380,381,391,433],[347,367,368,369,370,374,375,391,433],[89,99,366,372,374,380,381,391,433],[89,374,380,381,391,433],[89,99,372,374,380,381,391,433],[89,91,94,98,99,143,351,352,353,354,357,362,363,372,377,391,433],[89,98,99,143,202,357,362,372,376,377,391,433],[89,372,376,391,433],[346,348,349,350,354,355,357,362,363,365,366,372,373,376,378,391,433],[89,98,372,376,391,433],[89,98,357,365,372,391,433],[89,94,97,98,99,146,147,357,363,372,374,377,391,433],[358,359,360,361,364,377,391,433],[89,94,97,98,99,104,146,147,348,357,359,363,364,372,374,377,391,433],[89,94,354,361,363,377,391,433],[89,98,99,143,146,147,357,363,372,391,433],[89,98,144,146,147,363,391,433],[89,90,94,97,98,99,104,146,147,351,354,357,363,372,376,377,391,433],[94,95,96,97,98,99,104,351,357,361,365,372,376,391,433],[89,94,97,98,99,146,147,351,357,363,372,374,377,381,391,433],[89,90,91,98,143,144,146,355,356,363,377,391,433],[94,97,98,104,364,391,433],[89,95,346,348,349,350,371,373,374,380,391,433],[89,372,374,391,433],[94,98,346,348,349,350,351,365,372,373,379,391,433],[89,97,98,104,351,364,374,380,391,433],[89,96,98,99,381,391,433],[91,92,95,98,381,391,433],[391,433,1245,1246],[391,433,1245,1246,1247,1248],[391,433,1245,1247],[391,433,1245],[391,433,942,943,944,946,955],[391,433,942],[391,433,962,963,964],[391,433,962,963],[391,433,962],[391,433,517],[391,433,504,508,516,876,880,881,882,883],[391,433,504,508,876,880,881],[391,433,876],[391,433,885],[391,433,513],[391,433,833],[391,433,835,836,837,838],[391,433,782,844,845],[391,433,554,555,557,569,593,708,719,826],[391,433,557,588,589,590,592,826],[391,433,557,725,727,729,730,732,826,828],[391,433,557,591,628,826],[391,433,555,557,568,569,575,581,586,707,708,709,718,826,828],[391,433,826],[391,433,564,570,589,609,704],[391,433,557],[391,433,550,564,570],[391,433,736],[391,433,733,734,736],[391,433,733,735,826],[391,433,448,609,806,823],[391,433,448,680,683,699,704,823],[391,433,448,652,823],[391,433,712],[391,433,711,712,713],[391,433,711],[391,433,448,544,550,557,569,575,581,587,589,593,594,607,608,675,705,706,719,826,830],[391,433,554,557,591,628,725,726,731,826,878],[391,433,591,878],[391,433,554,608,777,826,878],[391,433,878],[391,433,557,591,592,878],[391,433,728,878],[391,433,594,707,710,717],[391,433,538,782],[391,433,459,564,579],[391,433,564,579],[391,433,538,649],[391,433,538,579],[391,433,538,570,579,782],[391,433,564,635,649,650,860,867],[391,433,634,861,862,863,864,866],[391,433,685],[391,433,685,686],[391,433,568,570,637,638],[391,433,570,644,645],[391,433,570,639,647],[391,433,644],[391,433,562,570,637,638,639,640,641,642,643,644,647],[391,433,570,637,644,645,646,648],[391,433,570,638,640,641],[391,433,638,640,643,645],[391,433,865],[391,433,570],[391,433,538,558,854],[391,433,476,538],[391,433,538,591,626],[391,433,538,591,719],[391,433,624,629],[391,433,538,625,832],[391,433,448,538,542,545,546,549,830,874],[391,433,448,570],[391,433,448,569,574,655,672,714,715,719,774,776,826,827],[391,433,607,716],[391,433,830],[391,433,556],[391,433,538,561,564,779,795,797],[391,433,459,564,779,794,795,796,877],[391,433,788,789,790,791,792,793],[391,433,790],[391,433,794],[391,433,579,743,744,746],[391,433,538,570,737,738,739,740,745],[391,433,743,745],[391,433,741],[391,433,742],[391,433,538,579,625,832],[391,433,538,579,831,832],[391,433,538,579,832],[391,433,672,673],[391,433,673],[391,433,448,827,832],[391,433,702],[391,432,433,701],[391,433,564,570,576,578,680,693,697,699,776,779,815,816,823,827],[391,433,570,619,641],[391,433,680,691,694,699],[391,433,538,561,564,680,683,699,702,736,783,784,785,786,787,798,799,800,801,802,803,804,805,878],[391,433,561,564,589,680,687,688,689,692,693],[391,433,465,570,589,691,698,779,780,823],[391,433,695],[391,433,448,459,558,570,574,584,616,617,620,672,675,740,774,775,815,826,827,828,830,878],[391,433,561,562,564],[391,433,680],[391,432,433,589,616,617,674,675,676,677,678,679,827],[391,433,699],[391,432,433,563,564,574,578,614,680,687,688,689,690,691,694,695,696,697,698,816],[391,433,448,614,615,687,827,828],[391,433,589,617,672,675,680,776,827],[391,433,448,826,828],[391,433,448,465,823,827,828],[391,433,448,459,550,564,569,576,578,581,584,591,611,616,617,618,619,620,655,656,658,661,663,666,667,668,669,671,719,774,776,823,826,827,828],[391,433,448,465],[391,433,557,558,559,587,823,824,825,830,832,878],[391,433,554,555,826],[391,433,748],[391,433,448,465,476,566,732,736,737,738,739,740,746,747,878],[391,433,459,476,550,564,566,578,581,617,656,661,671,672,725,752,753,754,760,763,764,774,776,823,826],[391,433,581,587,594,607,617,675,826],[391,433,448,476,558,569,578,617,758,823,826],[391,433,778],[391,433,448,748,761,762,771],[391,433,823,826],[391,433,677,816],[391,433,578,616,719,832],[391,433,448,459,556,661,721,725,754,760,763,766,823],[391,433,448,594,607,725,767],[391,433,557,618,719,769,826,828],[391,433,448,476,740,826],[391,433,448,591,618,719,720,721,730,748,768,770,826],[391,433,448,544,616,773,830,832],[391,433,670,774],[391,433,448,459,564,567,569,570,576,578,584,593,594,607,617,620,656,658,668,671,672,719,752,753,754,755,757,759,774,776,823,832],[391,433,448,465,594,760,765,771,823],[391,433,597,598,599,600,601,602,603,604,605,606],[391,433,611,662],[391,433,664],[391,433,662],[391,433,664,665],[391,433,448,568,569,570,574,575,827],[391,433,448,459,556,558,576,580,616,619,620,654,774,823,828,830,832],[391,433,448,459,476,560,567,568,578,580,617,772,816,822,827],[391,433,687],[391,433,688],[391,433,570,581,815],[391,433,689],[391,433,563],[391,433,565,577],[391,433,448,565,569,576],[391,433,572,577],[391,433,573],[391,433,565,566],[391,433,565,621],[391,433,565],[391,433,567,611,660],[391,433,659],[391,433,564,566,567],[391,433,567,657],[391,433,564,566],[391,433,616,719],[391,433,815],[391,433,448,476,576,578,582,616,719,773,776,779,780,781,807,808,811,814,816,823,827],[391,433,630,633,635,636,649,650],[391,433,538,547,549,579,809,810],[391,433,538,547,549,579,809,810,813],[391,433,703],[391,433,589,610,615,616,680,681,682,683,684,686,699,700,702,705,773,776,826,828],[391,433,649],[391,433,448,654,823],[391,433,654],[391,433,448,576,622,651,653,655,773,823,830,832],[391,433,630,631,632,633,635,636,649,650,831],[391,433,448,459,476,544,565,566,578,584,616,617,620,719,771,772,774,823,826,827,830],[391,433,561,564,571],[391,433,615,617,749,752],[391,433,615,750,817,818,819,820,821],[391,433,448,611,826],[391,433,448],[391,433,614,699],[391,433,613],[391,433,615,668],[391,433,612,614,826],[391,433,448,560,615,749,750,751,823,826,827],[391,433,538,564,570,648],[391,433,538,562],[391,433,552,553],[391,433,538,558],[391,433,538,564,634],[391,433,538,544,616,620,830,832],[391,433,558,854,855],[391,433,538,629],[391,433,459,476,538,556,623,625,627,628,832],[391,433,564,591,827],[391,433,564,756],[391,433,446,448,459,538,554,556,629,727,830,831],[391,433,538,545,546,549,830,875],[391,433,538,539,540,541,542],[391,433,438],[391,433,722,723,724],[391,433,722],[391,433,448,450,459,483,538,542,545,546,547,549,550,556,584,589,766,794,828,829,832,875],[391,433,840],[391,433,842],[391,433,846],[391,433,848],[391,433,850,851,852],[391,433,856],[391,433,543,834,839,841,843,847,849,853,857,859,869,870,872,876,877,878,879],[391,433,858],[391,433,868],[391,433,625],[391,433,871],[391,432,433,615,749,750,752,817,818,820,821,873,875],[391,433,483],[391,433,483,485,486,487],[391,433,465,483,485],[391,433,901],[391,433,902],[391,433,509],[391,433,510],[391,433,465,483],[391,433,1191,1192],[391,433,448,483,973,974,975,1191],[391,433,1191],[391,433,483,1191],[391,433,445,448,483,973,978,979,1191],[391,433,973,976,1190,1191],[391,433,1190,1191],[391,433,985,986,988,997,998,1000,1001,1002,1005,1007,1009,1010,1014,1015,1026,1028,1029,1031,1032,1033,1034,1035,1041,1042,1043,1044,1045,1046,1076,1077,1079,1080,1081,1082,1083,1085,1091,1145,1146,1147,1148,1150,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1190],[391,433,976,977],[391,433,976,977,982,991,994,995,998,999,1000],[391,433,976,977,982],[391,433,976,977,982,990,1001,1026,1027,1031],[391,433,1168,1190],[391,433,976,977,982,1025],[391,433,1004,1005,1006,1007,1008,1009,1010,1011,1012,1015,1024,1027,1028,1031],[391,433,982,1001,1091],[391,433,976,977,982,984,1091],[391,433,1092],[391,433,976,977,1091],[391,433,976,977,982,1075,1082,1094],[391,433,976,977,982,1075,1091],[391,433,983,984,1092,1093,1094,1095,1096,1097,1098,1190],[391,433,976,977,982,983],[391,433,976,977,982,990],[391,433,1100,1101,1190],[391,433,976,977,1100],[391,433,1001],[391,433,976,977,982,990,1001,1002,1005,1007,1026,1028,1029,1030,1032,1035,1091],[391,433,1086,1190],[391,433,976,977,982,985,986,988,1000,1001,1032,1033,1077,1081,1082,1084,1085,1091],[391,433,1103,1104,1105,1190],[391,433,976,977,982,1103,1104],[391,433,976,977,982,1103],[391,433,976,977,982,1031,1034,1091],[391,433,982,987,988,1099],[391,433,976,977,982,987,988,989,1081,1082,1088,1091,1099],[391,433,982,1082,1083,1087,1091],[391,433,1007,1026,1032,1091],[391,433,976,977,982,987,992,1000,1008,1030,1035,1075,1077,1088,1089,1090],[391,433,992,993,1001,1014],[391,433,985,986,1091],[391,433,976,977,982,998,1026,1031,1032],[391,433,976,977,982,1036],[391,433,976,1037],[391,433,1036,1037,1038,1190],[391,433,976,977,982,985,986,987,988,990,991,994,998,999,1000,1001,1002,1005,1007,1008,1009,1010,1013,1014,1015,1024,1027,1028,1029,1030,1031,1032,1033,1035,1039,1041,1043,1044,1075,1076,1077,1080,1082,1083,1085,1087,1089,1091,1099,1102,1106,1112,1115,1120,1123,1127,1129,1137,1141,1144,1145,1146,1147,1148,1149],[391,433,992,993],[391,433,982,1026,1028],[391,433,976,977,982,998],[391,433,976,977,982,996,997],[391,433,976,1107],[391,433,976,977,982,1091,1107,1108],[391,433,1107,1108,1109,1110,1111,1190],[391,433,976,977,1091,1109],[391,433,1170,1190],[391,433,982],[391,433,1113,1114,1190],[391,433,976,977,982,1113],[391,433,976,977,982,987,988,1041,1075,1082,1091],[391,433,982,987,1041,1077,1099],[391,433,976,977,982,1031,1032,1079,1082],[391,433,976,977,982,987,988,990,1000,1001,1030,1032,1033,1035,1075,1077,1078,1080,1081,1091,1099],[391,433,976,977,982,1016,1019,1020,1022,1026],[391,433,976,977,982,1016,1018],[391,433,976,977,982,998,1022,1026],[391,433,1016,1017,1018,1019,1020,1021,1022,1023,1190],[391,433,976,977,982,998,1017],[391,433,976,977,982,1019],[391,433,976,977,982,1016,1019,1020,1021,1023,1026],[391,433,982,988,1041],[391,433,976,977,1035],[391,433,976,977,1191],[391,433,976,977,982,1002,1035],[391,433,976,977,982,990,1001,1003,1029,1030,1031,1033,1035,1091],[391,433,976,977,982,990,1000,1001,1081,1084],[391,433,976,977,982,994,1026,1028],[391,433,982,998],[391,433,976,977,982,1043],[391,433,1039],[391,433,976,977,982,1040,1041,1042],[391,433,976,977,982,985,1091],[391,433,976,977,982,987,988,990,1001,1075,1076,1077,1082,1084,1091],[391,433,976,977,982,1031,1032],[391,433,1116,1117,1118,1119,1190],[391,433,976,977,982,1035],[391,433,976,977,982,1118],[391,433,976,977,982,1006,1026,1031,1032],[391,433,1121,1122,1190],[391,433,982,1031,1124],[391,433,1124,1125,1126],[391,433,982,1007,1009,1124,1125],[391,433,976,977,982,990,1001,1002,1030,1032,1033,1035,1091],[391,433,976,977,982,990,1001,1002,1030,1032,1034,1035,1091],[391,433,976,977,982,1042],[391,433,1128,1190],[391,433,1014],[391,433,976,977,982,1013],[391,433,976,977,982,987,988,1041,1044],[391,433,976,977,982,987,988,990,1000,1001,1030,1033,1035,1045,1075,1076,1082,1091],[391,433,976,977,982,985,986,988,990,1000,1001,1035,1041,1044,1075,1077,1091],[391,433,976,977,982,1131],[391,433,1130,1131,1132,1133,1134,1135,1136,1190],[391,433,976,977,982,1135],[391,433,976,977,982,990,1001,1091],[391,433,1056,1057,1138,1139,1140,1190],[391,433,976,977,982,1007,1031,1032,1033,1035,1056],[391,433,976,977,982,1046],[391,433,976,977,1008],[391,433,1047,1048,1049,1050,1055,1059,1074,1190],[391,433,976,977,982,1023],[391,433,976,977,1019],[391,433,1051,1052,1053,1054,1190],[391,433,976,977,1018],[391,433,976,977,982,1022],[391,433,976,977,1007],[391,433,1058,1190],[391,433,976,977,1057],[391,433,976,977,1068],[391,433,1069,1070,1071,1072,1073,1190],[391,433,976,977,1062],[391,433,976,977,1063],[391,433,976,977,1064],[391,433,976,977,1065],[391,433,976,977,982,992,993],[391,433,976,977,982,1014,1026],[391,433,982,1005,1007,1026],[391,433,976,977,982,1001,1006,1026,1031],[391,433,976,977,982,1067],[391,433,976,977,982,1142],[391,433,976,977,982,1002,1067],[391,433,1060,1061,1062,1063,1064,1065,1066,1067,1068,1142,1143,1190],[391,433,976,977,982,1010,1060,1062,1063,1067],[391,433,976,977,982,1024,1060,1061,1062,1063,1064,1065,1067,1068],[391,433,976,977,982,1024,1060,1061,1062,1063,1064,1065,1066,1068],[391,433,1173,1174,1175,1176,1190],[391,433,976,977,982,1178,1180,1182,1190],[391,433,976,977,982,1172,1179],[391,433,976,977,982,1181],[391,433,976,977,982,1178],[391,433,976,977,982,1172,1186],[391,433,974,976,977,982,1099,1188],[391,433,1179,1181,1183,1184,1185,1186,1187,1190],[391,433,1172,1177,1188,1190],[391,433,981],[391,433,973,974,975,976,977,978,980,982,985,986,987,988,989,990,991,992,993,994,995,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1039,1040,1041,1042,1043,1044,1045,1046,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1087,1088,1089,1090,1091,1099,1102,1106,1112,1115,1120,1123,1129,1137,1141,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1161,1162,1163,1164,1165,1167,1169,1171,1189,1191,1192,1193],[391,433,976,1190,1191],[391,433,445,483,973,974,976,1190,1192],[391,433,978,980,1150],[391,433,923,924],[391,433,923],[391,433,923,924,925,926],[391,433,921,927],[391,433,927],[391,433,921,922],[391,400,404,433,476],[391,400,433,465,476],[391,395,433],[391,397,400,433,473,476],[391,433,453,473],[391,395,433,483],[391,397,400,433,453,476],[391,392,393,396,399,433,445,465,476],[391,400,407,433],[391,392,398,433],[391,400,421,422,433],[391,396,400,433,468,476,483],[391,421,433,483],[391,394,395,433,483],[391,400,433],[391,394,395,396,397,398,399,400,401,402,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,422,423,424,425,426,427,433],[391,400,415,433],[391,400,407,408,433],[391,398,400,408,409,433],[391,399,433],[391,392,395,400,433],[391,400,404,408,409,433],[391,404,433],[391,398,400,403,433,476],[391,392,397,400,407,433],[391,433,465],[391,395,400,421,433,481,483],[391,433,1213],[391,433,1213,1214,1215,1216],[391,433,1215],[391,433,1211,1234,1235,1237],[391,433,1211,1212,1224,1237],[391,433,1202,1209,1211,1212,1220,1237],[391,433,1217],[391,433,1202,1211,1212,1220,1233,1236,1237],[391,433,1211,1212,1217,1220,1237],[391,433,1211,1234,1235,1236,1237],[391,433,1211,1217,1221,1222,1223,1237],[391,433,1202,1207,1209,1211,1212,1217,1220,1221,1222,1223,1224,1225,1227,1233,1234,1235,1236,1237,1238,1241,1242,1243,1244,1249],[391,433,1202,1209,1211,1212,1220,1221,1234,1235,1236,1237,1242],[391,433,940],[391,433,930,931],[391,433,928,929,930,932,933,938],[391,433,929,930],[391,433,938],[391,433,939],[391,433,930],[391,433,928,929,930,933,934,935,936,937],[391,433,928,929,940],[391,433,958,1250],[391,433,530,535,920,958,959,1199,1250],[391,433,920,958,1250],[391,433,530,534,535,918],[391,433,535,919,958,959,1199],[385,391,433,530,535,920,959],[391,433,446,530,920,957],[391,433,959,961,966,968,969,970,971,972,1195,1196,1197,1198],[385,391,433,530,535,920,941,959,967],[385,391,433,530,941,959,967],[385,391,433,438,530,920,941,959,967],[391,433,941,959],[391,433,959,960],[385,391,433,530,920,941,959],[385,391,433,530,920,941,958,959,1194],[385,391,433,530,535,920,941,959,965],[391,433,919,920,927,941,958],[385,391,433,517,518,530,909,914],[391,433,884,888,915],[385,391,433,530,884,886,887],[391,433,888,915,916,917],[391,433,916],[391,433,491,494,528],[385,391,433,519,520,521,522,523,526,527,528,529],[293,385,391,433,519],[293,391,433,517,518,909],[293,385,391,433,519,520],[391,433,519,520,521,522,523,524,525,526,527],[293,385,391,433,519,521],[293,391,433]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"25d130083f833251b5b4c2794890831b1b8ce2ead24089f724181576cf9d7279","impliedFormat":1},{"version":"ffe66ee5c9c47017aca2136e95d51235c10e6790753215608bff1e712ff54ec6","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"39d80ec3c018d7ffe7c99ddd3a7b6844b3376c15e52937a7687d2c2828830fd0","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"3c40bfcdb2f9caa668915ab6549394dbbfefad138941adc6fed4af7f08dbca4b","4186faf88971f4f44ff692ade4760dfd2a836036a891fcb6b0b86511408a9696","209e0cf5b5aab3fce77037d81ea9907de76c4f48cd2bec9206721e5ca2e30a66","631f54d28ec8d294dace350d5b385b2564a675eabf50b2c947e4c4e94f511eb5","6f8c07cab249637c73f97fbfbb91f2e9dc2473481301f8c941934f98dcefe6e7","ab124a5aad23e3d5fedb46147202e6181e4cc456b5bcdbda0e614b95c965137f","ab6f292752a85f6ac96f2462c3d0e6cd7533c0ab38c84f62194c6d889042b65c","e765b9a082d3d63308f58fb501a715948b54169769f8f557ca9e918f69a50000","7d177699d04802bdee4b7f7252b78fb058f0c7c8ace28d99b2c29c1f73e46876","7454abd4af4a3a2222b78b567d1040dad5bca07690dda1929b057966b251398c","f11511b8e652f4649c0bd159cdc70a570fcbb7ea61842ed5dae45df5fd39d5aa","37d66a2a88cec7e13d9126db8e3a93cd1847ede86ecdd12e2be875a5891bb00a",{"version":"6b2c934c2b6c60c98da8d9427d6838665d4fe8efb2659547663d77a3ef3ac5d9","impliedFormat":99},{"version":"43e0d6f59701298bc7ad00e73386be01dec35a0a955db7585778f7defcda70c9","impliedFormat":99},{"version":"a46fefd2d219c22b10266294269555f5ab0b13237b2a719377b6c6192a62843e","impliedFormat":99},{"version":"82805e8dbdf5f2605a4089c11a495acc7fb2f3d3eebbe510a4c8c0f60f4201c0","impliedFormat":99},{"version":"fc845b205d5d21ea7f9dabbe7d354ada72232e29a819abb23aeb3cfb512f7c4f","signature":"52582c5e22763a44f50a43efc983e5cbefbdb05386719c916cde97bda7c4cc61"},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"8a3fdc84d91c2c7321fd2f8dba2ea90249cfdc31427ac71b5735dd51bc25cf91","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"865a2612f5ec073dd48d454307ccabb04c48f8b96fda9940c5ebfe6b4b451f51","impliedFormat":1},{"version":"70f79528d7e02028b3c12dd10764893b22df4c6e2a329e66456aa11bb304cabb","impliedFormat":1},{"version":"115b2ad73fa7d175cd71a5873d984c21593b2a022f1a2036cc39d9f53629e5dc","impliedFormat":1},{"version":"1be330b3a0b00590633f04c3b35db7fa618c9ee079258e2b24c137eb4ffcd728","impliedFormat":1},{"version":"3253d41f1fefc58f0ba77053f23a3c310cf1a2b880d3b98c63d52161baa730d3","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"dad97c99382889e9c7d1a9d8275500ff71235130fae9f8916fdbf3641d56e592","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"88e9caa9c5d2ba629240b5913842e7c57c5c0315383b8dc9d436ef2b60f1c391","impliedFormat":1},{"version":"ddf68b3b62e49cf6fd93ba2351ad0fbbcf62ca2d5d7afc9f186114e4b481c3cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"6715dc4eb59c8ea9abe2b78c235ed331dc710a06fe56798868dbc4d40cd1b707","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"69dbe5d61d2f298046513598f55bd1e719c50dfd6af2f9feea6fc84f8aa3c4bf","impliedFormat":99},{"version":"6a78643fbbf1b0bd954a53d4edfa217b6a5f92d357fa9cdf8d2ee430f96b9472","impliedFormat":99},{"version":"2ebe2f0255b6f301ba7bc0e10c3dda289c6cf1876f289f7a8f6444613d988e5e","impliedFormat":99},{"version":"012b5083a47ccbe050763f8df2be89daa50c1606e9a0bb31f64276d508c02d78","impliedFormat":99},{"version":"790ed69a8312f812298f3d5329e1a5198576009a8214feefa7a8d5f9dbc25046","impliedFormat":99},{"version":"96c709e09fddb3e146cdc39df645f1fde76c2bbe8f455180112af4b36811dbcf","impliedFormat":99},{"version":"aeae6c24b13d1a0c7bbc1aa2119ba91562c1b0ef89aa5aa41b1b6bb85a03887f","impliedFormat":99},"ba648d3565f6ce0bee78c3e260cfb4be4e048337cf35f8d6c5004b2ad716a8ec",{"version":"1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","impliedFormat":1},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"3a5cda2463d20d696dfc87fcdfc4066307802cd6a07fb73932280446c7cb74f3","impliedFormat":99},{"version":"c1c545c407e4ad166b8285ae063ffffdc8f33ac38504acbaae8cc5692b9da7bb","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"ffd8877d71bd60e6490cd30b26a070f5ae29427477965e60c71394e1545e214f","impliedFormat":99},{"version":"f9fa0f246d000ebe3a77dee7c66db017ca7b65ae76a3a026fe36356bc7815a5d","impliedFormat":1},{"version":"0fcd9cd895e08e23c26d4819de6be35c3880ac703670702416fc284c65d3e180","impliedFormat":1},{"version":"f4272c1409ba5ce42d17be35575083f37dfe282284cc5e350d5fa60481ff44eb","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"5589e7f5a94a87a8dfc60e7bc81a610376925053a659f183606c3d76d3f92f84","impliedFormat":99},{"version":"d4a98ba517f71f7b8ab85f158859cdfc42ad9926e8623fc96337014e5d4dbb5b","impliedFormat":99},{"version":"94c33d70bcda3c3f98b8262340cd528344142133dbc8fcc7e2d4b2589b185db7","impliedFormat":99},{"version":"d11667aa2a6063fde3c4054da9ab98e3b9bc7e3da800beaca437f1eff2a17fe2","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"e8fc8d807069e0f94d481106510fae66792e6a66f330c45fd3c769053cfa5608","impliedFormat":99},{"version":"4c57148a2cb7736c37a7ca128fc8adec5a683413663c17604a28da143ca1a65b","impliedFormat":99},{"version":"37a5b233da6141bd6cd4e78dd8bcd9c0dd29e33ec10707cb57c66304cf743e46","impliedFormat":99},{"version":"c8e1a516135ad6fd057ddc5a01036067ff3b43b3277d18f1eb4c5df22630b50b","impliedFormat":99},{"version":"7d8b55f6b9e7a7a003063ecd596c72c23fe6d8225d6cf3e00e8b375059123513","impliedFormat":99},"9b00004223536f78a56330398085a40cda4353ee2a7ae0410b6b57b744631750","b6c4af381aeb14d9c3722740cb68b3785f9972846e342e01bff74a6c77aa40bb","b7a8dfbc891f85864b7939446a90cfae4ac5015e2866cff9acba98e04e7a699c","6d1ffdaaaee9e8bad5965757604cde9ff5ddc170f466e1bed4d3db19e71f7c6d",{"version":"0bdf38eb78698f7159187e09a1dddfc9115a57118e0f9bef99a1509394062826","signature":"f9394ccabd0720c0a5c3e9cadbd670a5a2fa7b889ab057403b0bfbc4c112c423"},{"version":"e45c2c8e531449a9746c3dc9f55fc2b9648d49757a65f25cfa3b916cd022befa","impliedFormat":99},{"version":"2883531900a29e3c7e6f8bf3a7835bce035cfb20748d8d0cfc287896c46d739e","impliedFormat":99},{"version":"22d5bafc272a4f1b6bd1aee054f08ac09a9cd90ea1a321fb9c563ae4fa3df6d4","impliedFormat":99},{"version":"c8c94fc39100a0981f81b9e9872848597575b3e3fb40a36e99de688927cb20ed","impliedFormat":99},{"version":"01545f0274a774e191f06380ddedaec2b2dfbd021ca2e8775f7819959beb2cb4","impliedFormat":99},{"version":"6c557db1095e0588b7d82d9bdd9e4328872d436a94f2025da271d5ef57845309","impliedFormat":99},{"version":"2827790fc4a5c48d032a79a8d547eca0620d7fc7c997b830417f6de5b04c7c3d","impliedFormat":99},{"version":"3f12ba187e0dc6d3586fc24a52aa80c11e8e84eb742122735bbc6f3a91044d8a","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":99},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":99},{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":99},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":99},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":99},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":99},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":99},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":99},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":99},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":99},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":99},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":99},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":99},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":99},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":99},{"version":"a82f5ba70d26e6ad9d432ab7556506d807c49f35a44af99fb8054004220aaaa1","impliedFormat":1},{"version":"cb8322706a9add2401f2b8e2dc31764e134d2497174c0be11e7e34e153aef1f0","signature":"d28bfb06cdf8bf857768bd00cf4a5980640f1b34de90a9b022b3715ccea4e49a"},{"version":"713fbbdbafdf34845ea1cb4f325855bd254648b5276ca6ff10059fabfb5d44e8","signature":"f1b4e4b6efd857989e6e4cc67ec435119fb2eab03a0977dc4972866b4578c590"},"443a5a0d373bd9363d8b299c1b60058b52930b343882de914596bdeb9dcc1a1e","86e5cb482fd2079e0f67b56004b085936d578b4ffa969ebd79a579944234272a",{"version":"48d6a957471129b99d914308ac07c534f97d9570be0ef18a9e6dbee803f59671","impliedFormat":1},{"version":"fd530c5bec0ec673875c3ca88020ad1d6cf724c536f3a8e4d25d7b096e88e645","impliedFormat":1},{"version":"90c7a9fda73928cef9023a41be545fce208546175e5b45bd988f24d4522c2a7b","impliedFormat":1},{"version":"46b55a125d671d7e1eca131a993aa0f6966a4c10e015870d430383ccb464769a","impliedFormat":1},"6db771506699f29e02a333e59dec53d466a2923efb44566691f6dfada7b80519","63b03c89d190542c76121edbdeb3283a49a7f5e5910e4fcf335a4bed996c4ebb","4c704d8b394b9af6ad054d8aef09a8ef235ee12cfa68ac0a5cc1374cbad43909","fd1029472ddfdf7b174c569dc19a7b8f3f61376f12ffe5d2646d3b280e3077ea","fe26007f9642b14f162e3f5d9a8f177334c37e7c87c2f987ac7d4f5dfddae27a","ca9c9a1b715a78e1f24a36a616fb8d11580590658e9b47b46448c2e6100b5185","fbee849b028b51d444ab792c1d6f97f408756b0a720a60de0a38acc49b45ef81",{"version":"529e8d544daef015d9b7e08f3327f487ff5c1fdc9ae00969b90fe6d7f662c410","impliedFormat":99},{"version":"32d72e24ec52676fbd422d6109ba2e7326f8cb0ae09d62433609994d772b1218","impliedFormat":99},{"version":"68d7aecae568155de73f47abea696482d07d82e531829d344b5b4f2feaffc9b7","impliedFormat":99},{"version":"94c34f6addbb8215972c16680f4e122977830a4a6b72a191302915f6e6fbcacb","impliedFormat":99},{"version":"97c9b25718cea0d37894c5dd9f7e7fff4f8bcbc56ca3bba011c074560be291f1","impliedFormat":99},{"version":"abfdbcd2e417125d1b38209aa079bfec08b42611feedaebf29be8676e74c43cc","impliedFormat":99},{"version":"6d7a5d9f2190bd6d5086a130b3ef5231d7bc8a3d923133628544b265611a3afc","impliedFormat":99},{"version":"9d8acc6859de780646cb2ad73bf0b48f20f83adab18d614ba9b4f87c6046b6bd","impliedFormat":99},{"version":"7debb6b27ee0e7383618739a56fd13d9332d58a97eb1001f57ec2d4c1f133536","impliedFormat":99},{"version":"828968bfd8325c1e6b427043673be3aee122dd5125ea5ff3adcdb56cb62ac202","impliedFormat":99},{"version":"29862235bb48e3e8892a5e95aa464810a6c0282ca549f4c0f65cc2329c4ed90a","impliedFormat":99},{"version":"6b1af69b824a18b7f06a0637a1799f6697d0e0af215a2e70c7438b7413d408bf","impliedFormat":99},{"version":"3ec9cc0d5ff3509a3800802248b56f72d0bd4ddbbf4ced7238ced162f6792bf9","impliedFormat":99},{"version":"b09e328891c9b6c1e363a0dabc2b7e9bbab7ce95f4c1a42e3ebc1cb957aebe2e","impliedFormat":99},{"version":"853230b380bc84877c7e691af167bde176c500e716074acb02668713ae1b92f7","impliedFormat":99},{"version":"a861ffb4131dc6c01a9918b0c2d9eb907963a363019c8cf8441c195cc7271eb3","impliedFormat":99},{"version":"7dbfd2dc59802603b4d9d9cd35bfa777da1cd030ffc78f618701772d70c44d7a","impliedFormat":99},{"version":"0d40d64f4e5b821a820ca61cd3338fed6feaea4734081098ab99bf8b22b7a558","impliedFormat":99},{"version":"441d1761b0cdea56381964395929a7dc78cc8294f07550a4a7cbd7a471982d49","impliedFormat":99},{"version":"0a5ea01b61f08bb7fe4aee10e148a43bd63cd09c0e48c80c81853a31c63e81f1","impliedFormat":99},{"version":"0765436722d07c50dd64a72cb2ca2b828ae4d8b6c58cce1c7d69b16ed69b911f","impliedFormat":99},{"version":"a99b58cde0c933aafa9a6d539796dd39a2b6faa5868b9329611b7820e4813ed2","impliedFormat":99},{"version":"b70468dd5cce06b4500b9c744b46645bb0810bbb3f16d6f6d8a6ba099d3e3db3","impliedFormat":99},{"version":"fcad406a5312d678f0e3d9ce37e175fc3108075dda7507b33de434d815db8c3a","impliedFormat":99},{"version":"637470d7618d80acc44ce21720e911b1956fb8f35fcd7c29fca8b676569257fd","impliedFormat":99},{"version":"bbc35778ba8327cc2595d22a0492b38a4f5a23c156fe83a4f6c16e16d771a80d","impliedFormat":99},{"version":"1bf505b116e5c3adb7a621d3177726ec218b39b6fbb343a5ca9131bb4c4e4a2e","impliedFormat":99},{"version":"f8f793150b733a84ba31dc32b764f914c2b9f7ba3da22392c8700729556311de","impliedFormat":99},{"version":"52308301ab0721bea0c29c5a3286fc9af801f77107c76860958c7af512fe1db3","impliedFormat":99},{"version":"08c2ae2038dae5a129561b998d69712081de02df044668ef7c6f1a79064a781d","impliedFormat":99},{"version":"1e5ac74ec58a751a57547db79f5d0c7f55de7103b3cd608df9b865f1c20e6ec0","impliedFormat":99},{"version":"3217478b66cbc150f70691f22995b9f47d37706a904299a00cb293f8bed70a5b","impliedFormat":99},{"version":"757b25663615b67539b212022e464ab8738fe9584798abd2f1dfee3ae2bed28a","impliedFormat":99},{"version":"a4965dec5a8d5a1bd151f788d8e1e2300c4314907adc4b70e205df9bf1de1846","impliedFormat":99},{"version":"61da0187f4a66053b80903d118bcc49835a09085597419f001300e16190087b6","impliedFormat":99},{"version":"aba7430768196c0d2dda6ad7660d4bd1ce5abb9394d5ec506fddf897cd055c17","impliedFormat":99},{"version":"fef0d18210f7853a843ec8f6d8169ed6659d9cacb7a21b4e1ccc52d79cecf503","impliedFormat":99},{"version":"a20601b31b50dfe52cb6a3790977b2499dba3f590621a4a241b6b7a5a408b788","impliedFormat":99},{"version":"4d0d48b4534a83b374888c23427400974ad8e61c7d0e20c8b6e9f1ee1bc7a264","impliedFormat":99},{"version":"c89ecda51758810cde711384913cef5a52a609b120f7ff5b1b158781e8ef4a8c","impliedFormat":99},{"version":"b784c2ceea6c1279bff4ab353e5a5c5b358fde3c734fdecf85cc1db5cb44c93d","impliedFormat":99},{"version":"c08fb9233e497eb092616e3081963b6dd70103bba3ff633c072d6d944eae134e","impliedFormat":99},{"version":"3ce717047d8aa7993d8ac3c05c1719af4a4c7299bd7d2e9bda09a93b5fc3597c","impliedFormat":99},{"version":"6cabcbf5e998efa2549a3534d71f4535495687ad53f1fe345d055f5147421cb9","impliedFormat":99},{"version":"e36268446e141d540bd29d35391c14533d2de4562f2068dbfb14f5aade8813e2","impliedFormat":99},{"version":"a800401f4995f7c204a7b05fbf53224caa6f1fdc124f48aa0d0ee562cf0972d4","impliedFormat":99},{"version":"2ba4df558ac06d48bd02cc5e9c2d8a5afb3836f1d6dfbb6ff26e90b68b66e5e5","impliedFormat":99},{"version":"00780c8bb96ae1bbc2d2379b4c1ec281e708fe52ebfda507f24aa4e0c9789023","impliedFormat":99},{"version":"a73a5fd3317e948b66fa07917d15e09d94dec119897e1de780158d01cea83fd1","impliedFormat":99},{"version":"73ab4609ca508c47e721501314e36423f34f12a735fb04bbc65670a33be6ceae","impliedFormat":99},{"version":"1ae2b0f08ab3e4a81809202b17856d144be48ac64428917c7b54f5e1965a4a48","impliedFormat":99},{"version":"85d558cd59d2350273b116c240ead34786f00245c2bf147c65ffc79410e29a5e","impliedFormat":99},{"version":"816caf3469d8486812807a1eecf3b2bff4fa654abbbf07a97c4f553819ec5106","impliedFormat":99},{"version":"e25134537f026144b7cede6aea49973bed30afc37b36d1d36e6130888bc7d234","impliedFormat":99},{"version":"5c62f873da6df6521abedd307fc544d6736d04604ae168233a63e4ee38ddce51","impliedFormat":99},{"version":"58e0c95210443e453ee55336f21bb03e770430bd19722041a77a2e86fc73df95","impliedFormat":99},{"version":"0e5bf871c5afa81fd718a5b276f6a7670846ed459db52fa477267d6b9584e5d8","impliedFormat":99},{"version":"22ca8010367254aeee193d066acb7beba74fcb28c8e197bc4a4b4e4a6c3cbd54","impliedFormat":99},{"version":"a9dee488ffe1e2d5c36fcb6d051ddbab991490e1bc181824592af3e47b9590ae","impliedFormat":99},{"version":"691368eb85eb6dda063458d34b2061e66aceff8caa03305960ce1ce2596973a0","impliedFormat":99},{"version":"1b453d29404e04659bb343c2b3b1f4e5b0c980993b2b618683d748175c758798","impliedFormat":99},{"version":"991b5667ea0268fc249e7aaa8f61b546edf4ddfc5c75446b60bad452f323eb4f","impliedFormat":99},{"version":"f3c0ec27b2c3321fcea0bd90f06b3bbc036a4c53d56547a3546d3e98aa6dbabb","impliedFormat":99},{"version":"3240b3195a4a6f07397873c3d3d781d6bdac6daffef7d0e9404df25696b83821","impliedFormat":99},{"version":"8f15effea4aaabc51743128521875aba6e565e414f6d7d3311b8c2d2578e18a4","impliedFormat":99},{"version":"bd03a8a341fd6c86470267cdb4ffad025d1e31e2930c7b1b99cea0ea8ab1104c","impliedFormat":99},{"version":"db3f11cb9d283a2f6bd72d40f552921e7df63b33c8f953fc666c0c25f89a9544","impliedFormat":99},{"version":"f0c704f2d6e9a1c1af817d64c475e3060a6b61bdfe839b5d2080ea9305f09887","impliedFormat":99},{"version":"ba4471d25a0c25e54f245fbf35359e420fcd148594041a984ed021ac12c515c9","impliedFormat":99},{"version":"7ecccd7c8eb4c52bccfb5e30db1a681e6df544ffdb2e23c565b0e2765fa0c5bc","impliedFormat":99},{"version":"814ff646ef9d7ec28c867d20acdb6ab2ecc2e7620c4f06c8f5412c83e3518e7e","impliedFormat":99},{"version":"361753ee88631c6d574eceef6db3a2b73424517609fb289b37ee2b2f44762a3c","impliedFormat":99},{"version":"08fc36c68fbfb312a2a3378498c16c6db9609837cc00cd9aafeb778fb2887a03","impliedFormat":99},{"version":"b45410e6065c05621fcd1969b5afae0829cd4f0def82c8180b5302a283195798","impliedFormat":99},{"version":"74ddb9a384676ffa1e7910e5a50615c21afa55473e8f38bc38050ff2255c2d7f","impliedFormat":99},{"version":"f673abb24aaa4a63c541eef767d22e443799ddc5ab30a2269d646682a4946394","impliedFormat":99},{"version":"0c1d42ef8bcac5f74e1113e96712f5fded4971c452911263db62d98f9f51cb82","impliedFormat":99},{"version":"97e3516942284b694f1f503c8b27ecfebc229e7e190e99eb2b94da3059d0f81e","impliedFormat":99},{"version":"f0ca722c0c74e4ac885706e69e65291f8947ac5e7fae8df529cf70248bcee262","impliedFormat":99},{"version":"a90c4ed5b632a156a7682988502d5bfefc4048ff4c41d0fa505badc0c3892545","impliedFormat":99},{"version":"376eef489231c1d626a6f24d89c1029d907ad7918c0a7191419ee6be69cf90ab","impliedFormat":99},{"version":"84a68486a1e143e34a165bdc64707e74d33118a1c6adde37591223503d4e8870","impliedFormat":99},{"version":"71d6cca9ebf54d9b498f684827c00002b1cead83eb441356d49d4ce1c9759301","impliedFormat":99},{"version":"ed603cbd399f1e16d867c0498432a0c5a2be988e1162e311cfc188e919b08264","impliedFormat":99},{"version":"07012806da1431175d778c424b18c305f44bd83941851ce17d181cd46aaa3562","impliedFormat":99},{"version":"cc0af6c56da3ab10ddac0b3c805d652bf0521be6b04f83afb9baa4df1415b313","impliedFormat":99},{"version":"b7aeb363b1649acac16d5b469685e2a067ff4dc8b0b2125bca941dbb6d63e7c0","impliedFormat":99},{"version":"365add36523973ead594068a69de6a4aa5503bfed8eddd670414dfac63944876","impliedFormat":99},{"version":"83347d14f89b7d139ce2791c99b35d2b94440d76968393709964ced55b6fd85f","impliedFormat":99},{"version":"7c124c9680eb1e83dac58588d8adba36bf737ac6b3e84779b57fd2df143b137e","impliedFormat":99},{"version":"ae7cc7b326cfb2845cd76f39e445d68a5832ee3e9297615c296bb87f8f9f1c81","impliedFormat":99},{"version":"db70fa65c1194a3707ac38814e7c27321de530660b36c029bf2a4987ce89b319","impliedFormat":99},{"version":"ec22e0ef253901f5af0faf767e6a1a8bd23fb0308f282dd03b8da7097ba44973","impliedFormat":99},{"version":"63c818016d858b372d05593bfcfbf5ffcd8898e0a3877057b24f7de6a4fe9abc","impliedFormat":99},{"version":"4d9bb1151b6d71e58d9333ec33e2a20c09ce5baaf20b08d70f7ea1a4ded3c682","impliedFormat":99},{"version":"53580dd58259b91b24f63dc36083414558cab65cd622e88c3a6ba403c753c44a","impliedFormat":99},{"version":"5a72a1a08a5a56f38b2ef6a39dd31c59e0e9ba59c7d480dbdec8cac0c3d2c9c5","impliedFormat":99},{"version":"41dc9805e5387625abb6466f9dad47048aab6cfc4a49885a17a65e662ca6d055","impliedFormat":99},{"version":"aa39ccd035dcf30f31ae0cd380e4d9e265c24e4e0914cd2e7862a392d74314b3","impliedFormat":99},{"version":"fde1d645673ad1273c0a347e97528e7830f4877c1fc58966a4a7ff386977aaac","impliedFormat":99},{"version":"aed8029500a40d0b604a1925f0ad677e9b2319a95afbf38168689c5a771389af","impliedFormat":99},{"version":"41931e7f38f9d140b01f98af2234df54cd48e640012fc7ec781e8d49bef24ba5","impliedFormat":99},{"version":"c0c93965e04da47f347f8ca064d35848d46df9674d087fcc6f0c1b4ae6e93582","impliedFormat":99},{"version":"5a7c8905855ce422199dcd9f09c4c776ceb66c91198e459e13fe72c0f067b63f","impliedFormat":99},{"version":"f9f583970f896ce64d652ad2d446be0c9c86bbf1edba79c319bac296c3ae51a1","impliedFormat":99},{"version":"b9c289167bc15bfbd04b01165d9ba6794ff9c633d72d7da8b990d359ca8d7e2b","impliedFormat":99},{"version":"b64d7e023d522acc0195da49af07a1dab57165a58f6d87b5f750f12786065344","impliedFormat":99},{"version":"feaeadcfe3c44fbf3dd427110db8adf8cefe45dffde44c5ba6a743e15b39a366","impliedFormat":99},{"version":"6944a8f65e43f69e025dd6c9c9c812d34be4544ea9bc7b7c02a5b7ba2f558d84","impliedFormat":99},{"version":"0a87063988c2bca33973431320c220a3d8785d727f163184231bc5550b2c7ef0","impliedFormat":99},{"version":"57e468e73b39b2acca2ebb9e7afd847c6d3c6a8f41663da32f2aeaba5b097dc6","impliedFormat":99},{"version":"2930836e99dd2487442b71968ef1761a57f431e10b7c4ef3d62709c09bbe5240","impliedFormat":99},{"version":"91ba95d318aa35b2e383b7cc3655c56701010c3d7428e1decdb4ecd6981dadce","impliedFormat":99},{"version":"56b556db5061b0ff674cc06a708d7c6674f05f03de1c94d29c52cee5ed86922f","impliedFormat":99},{"version":"e62ef9a4c1e94586a6718189ba5be349b9a5f222169c16353f270ba0ed7da65d","impliedFormat":99},{"version":"752de46112146307379db6263890bf0a48c47f87a33335fabf53543e246e60d9","impliedFormat":99},{"version":"d9e55de2e36ed1d789753b2890ead19a590406c934bf15f5c7ea43ce6fa78ac6","impliedFormat":99},{"version":"06b7ca3e1c5036f619676330c1f754b1fcab751bbf42edce96bf1819cb6986b4","impliedFormat":99},{"version":"6fdf2d53dd4c8b74d28f26ede7b2e4c0cd3d3480f13f24fcdb89405bf88180b4","impliedFormat":99},{"version":"019e3d5c3097cbcd014394ce6943ee7eb4857948bf5951dd5c048254f3e6dd96","impliedFormat":99},{"version":"02c24f59a057d82eca00a59a2b17c9d10fb7f24b9d4875fba491959a6b5521e0","impliedFormat":99},{"version":"a53ec27d1cf48bb349d4564eecdf9f07bf5b1bcf2781d0a966411152316bd006","impliedFormat":99},{"version":"513c4869a1961af24e40b59a23ce4312682e9275288409870c40496aa389caa6","impliedFormat":99},{"version":"ee1a2bbd2002638a9625fd7fba1ab1e183559bfb68146f571ed7e4f4cf72d009","impliedFormat":99},{"version":"bc87842e67e3876a7194c5d64198b4829416dd8c8973601b3d64e7f766376363","impliedFormat":99},{"version":"c7741d898b0bbb21e03d0b8b12bf5baffe664c862b4d4425c998cc6b7a990705","impliedFormat":99},{"version":"873eca5a1a7017ebf220122e4e53dc3a6a3d2870d3ff5b171ad8f79b9b8aefd1","impliedFormat":99},{"version":"b08f9a4096d9be0571dd7dcb8d5882e2c57b3d35285e36d5fb14412baf947623","impliedFormat":99},{"version":"399dc26e4eb6aadaafbccca2cfe58c6fc2c815bdcc0ec437549a0b0c87ae5e37","impliedFormat":99},{"version":"0c4d7b8498cba32d6b066a604ebe085abc646298e6ecb6369f3a96ebb774572f","impliedFormat":99},{"version":"00627e9d43b0bfd72b337c90bfc9014fa72e8247ce5dd1495d59236b4aad3a8a","impliedFormat":99},{"version":"3af1b0691303967f388f600d28350ff71e3c4a9dee3056682620850440b6c03e","impliedFormat":99},{"version":"fa7c18eb36a647a628bc9b8389e7b09660f01bf3db4885362efc820589b54b48","impliedFormat":99},{"version":"41f025e7098cbdf6b6e18a7112385b0fab4b1c0f3f9f80dfb55dcc4429b880c0","impliedFormat":99},{"version":"86ebb0cdb36cc752597ae8d300148180d8eec489f6025ea5911fa2cbecece081","impliedFormat":99},{"version":"727a4bf89e28dc475c5f9316eece04b14a4b6b9ab277834364239e2f1d2cd9f7","impliedFormat":99},{"version":"e734b00337e9fc0a8e83365a26428106f479dcd1abc73a8779967bc827f11e3a","impliedFormat":99},{"version":"243fcd2ad3ecad05cb2e71c231ca596bc3c6c4e489e1619c52649f0e546dd26d","impliedFormat":99},{"version":"f0bb27764e181cceed0bb72f109d8b36ea2707b0f225d715f46654bb9b016393","impliedFormat":99},{"version":"118febbc2df8a862260272bba28eb7461715e1dd281b32d19da6248757350e87","impliedFormat":99},{"version":"e67ace7307642b735b7e96bb97ff9138690acebab53eaed61347427753e4d1e1","impliedFormat":99},{"version":"87a8be4c77085ca8144892dc15708da857c6a0c4013b470520831405fae88533","impliedFormat":99},{"version":"2499f46ec67f9e5204492d07e9026b1bce446d5da2d1bb4a10ae0c4447a289af","impliedFormat":99},{"version":"116c79190f08958c32c45a4f72fdcdf58df72416b32b1d54d6947b13c850201c","impliedFormat":99},{"version":"4d5a44f03a7ab2527a59afa9d14fd6bc43e37cfb98c3ea667fd46a572fe89bc2","impliedFormat":99},{"version":"3979accfb06995b82ea963a62b176ff8dbf1af7e69071b3092d1d2e6036c3cec","impliedFormat":99},{"version":"e2404517591b13257cafcab1ec9d70a2d346ed5318fed639fd699107a21545cf","impliedFormat":99},{"version":"1c787e56dba48445aa569557505d5768a3a61522392c7c25953464047b849e2f","impliedFormat":99},{"version":"0ac9ec624ddcf056cf7a2c7d60d8325b741ab9bf80cc5c18449c7e1ee75ad118","impliedFormat":99},{"version":"5681612b1dc37cf330b971d4f1f77fc48cbadc18c654f34e1a0416a99fa2c709","impliedFormat":99},{"version":"df3d6522a17005c6d7c495338111427eb02490ed1377228918c255c3b26a5be1","impliedFormat":99},{"version":"4f819f882eaf41c8e1f0d9272c5bbba78f2023ba3fe9596e240160502ff210f9","impliedFormat":99},{"version":"62880ea3cb43d6cbeaecb6d6960bba625a670806cd82eb960ba2a2aeab736eac","impliedFormat":99},{"version":"8e1605d1a47bf1dc3de175bae994f49372014e8ba6497933d2cb299c408dda09","impliedFormat":99},{"version":"3106b775494342e60566941c9dd32bcd3380179bf525edf6626da1ddcbcd3632","impliedFormat":99},{"version":"41b136e657c05de5bf2aa8639221233f31af4b631626c6754c22560549e91a6c","impliedFormat":99},{"version":"b4632f6b4b271a0f6493a15493d0f09427ea6a9b9b549835a81dd31718dbd19b","impliedFormat":99},{"version":"424263d511a2b06f5b574cb8caa6913ce277d964147ee6cf503a8f7869431622","impliedFormat":99},{"version":"91f6140bfa7d4cf2261063d9537451a20d74fc43e53450225ee9e665016b1ff0","impliedFormat":99},{"version":"36a765deb941f868aa002fa67b4809f5bb47a10ff66a15add6dfd26e330afb19","impliedFormat":99},{"version":"6f4233b155fb5052e2f583356c523fabd40dd3a9aaef05c694e6bbe538c9c27d","impliedFormat":99},{"version":"668cf592e0904f4c34423c081350dc92c1d475a9c52889ffee29149da79fdd0f","impliedFormat":99},{"version":"3e33611f899366ec8fd1dd6920684b5a5fb9572ca05f1a12f401440923fdf21b","impliedFormat":99},{"version":"079a065101f29951aac337a2308f942c6d93296b8340f2b5004aa48aa289562c","impliedFormat":99},{"version":"3bff6d4ded0ddb4d2e704f1d274292d9cbb65ff60a8ba8595bfdce822321a736","impliedFormat":99},{"version":"91ab85a45434660cb3367c73142543efc66a5fa8e5a2ca954a8e1af4581605ef","impliedFormat":99},{"version":"d9cfc4635923eb5c22406f97afdaa0272115af9cfe0fa3f33cd96fa5589187e6","impliedFormat":99},{"version":"f7c3dd2a55fd5136bebb43583a30ed46da2cf5e6afbc17222b9ceedad5b7383d","impliedFormat":99},{"version":"f688655ca29d12dafe5897efb7063979c9eb590e62358504629225003e841d34","impliedFormat":99},{"version":"057739a174619fd0ed493f452fc14a667284fe44f0a08310b31a7f6422b84b06","impliedFormat":99},{"version":"c93faec8d643450e5e92f08e34be9329cd7f57a456deae018059e3d7b5f7b928","impliedFormat":99},{"version":"124d28a946ba2b461c2ce75a511124420bd7fdcd699051d905d72d509480d6d6","impliedFormat":99},{"version":"82ab37de5dad558cf74f37a6a033f189480181f8ddf2ea096a60ac28925e1869","impliedFormat":99},{"version":"1cb84b25ea1ecb1900ba700c4907eff062b82b17af512aadef921f76242bec89","impliedFormat":99},{"version":"de0d1b781852e2255de97ce91986df37a025f541b8926851ba1435b693ab864f","impliedFormat":99},{"version":"edce5ab61d202d17d023694b94990c99ef2fef531f705361bfcb82f6a256758f","impliedFormat":99},{"version":"0fe6c53bfea404986540d104103db46224830f6912963c90d20f4c195c7000aa","impliedFormat":99},{"version":"bcb657aab954c02a8a48b50236bb889091167c651673e15d016a2e1978ce2691","impliedFormat":99},{"version":"a126ffd129b033365e8162598efba980ca90bfc0a6cc41d5152fce11896d56e7","impliedFormat":99},{"version":"66c5847742803134b02bf07c53997c8dab3e4bb4ff428ef861a2450bf7744f61","impliedFormat":99},{"version":"3e80ac50e17c60be70575505005c9c28fd69150273ced8d50d73eed68cfdbf16","impliedFormat":99},{"version":"67022bb9c3b2174baf06917f426d832e447b2e6865be713b9fc18082ea437a51","impliedFormat":99},{"version":"1f3a97a978eaaf934f1f92682bf05bcfc11b8b4a00821d6e4d8c7d6bcff0fc79","impliedFormat":99},{"version":"a771f93d971c945eacad088d558d2015aca8ac0bc533ada8e317f3883f105f32","impliedFormat":99},{"version":"d5d9ba4cdb84bb2cb3207bb01e4ba70ac6ba3432cf6963b028c06388b0cd8656","impliedFormat":99},{"version":"cdb6410d699f7e0833b9e30c344c541c7ee94abe6959a4b714eb98dcda4bfa29","impliedFormat":99},{"version":"9fc6a5e9bb59cf074c5f26e636291aca55429165b98a5ecff9aa4830518f6588","impliedFormat":99},{"version":"3f0a17b44c005c05b97d6c225f6e55141ed3a08fc8b80325b83d3837c911b1ae","impliedFormat":99},{"version":"e635757f7088be7d099538d9cbc5e555782993605879b530ab5f1993312928af","impliedFormat":99},{"version":"292673f53fe0a33f69ce57ca0a4816c6e93e7213af687247021ab6fb3fef3f69","impliedFormat":99},{"version":"0e6ef2d24419cca5b5f020f5f926c24a8a50fb77062feb87f0d759b4455c31b3","impliedFormat":99},{"version":"5b67e62aa4c0817a18ed22992e3a328f2b6402bd2ee4f9ae2dd66a3c3486529a","impliedFormat":99},{"version":"e4e21d158ac452364c3bff7b7899ef0b0515d7abb8e8e596a0bb5e893e5a4f84","impliedFormat":99},{"version":"74d927443bacd8d7d92a6a377a728e74b1a3ced3c5d96bc04634abb234ed3a8e","impliedFormat":99},{"version":"94c3242169324a0b2212dc12395d17aab5a96b23267f03e0e4142e2cc134c7ec","impliedFormat":99},{"version":"4a2770e5c1e17db9373ebd92981ba74ca2059fc1f7c88491e401875fd298dc7e","impliedFormat":99},{"version":"a6ffcc079abed93c28a5b74bfa4ed694e8d810b21ca649523e098d126791432d","impliedFormat":99},{"version":"ba669ede8b934c54f211323b782c1b65e423db29965a4c68ca3e8bd984033f10","impliedFormat":99},{"version":"cfa6e2117c4f2855c7a4866d03a146c4d2dbd65e7eee5e0182298e630ea8f7af","impliedFormat":99},{"version":"50596833b2659cbe98f138d233ab3da041734f73a82e96873ccb5056a94f3389","impliedFormat":99},{"version":"75dd74b7c8bde65a3fe491d088b671b75c60ea6a5795c651d8f929dec7bfd0d8","impliedFormat":99},{"version":"621cd97ca6ba2df7b66b773cd4e0126f959d56db59bbc262dfe627e9c0b89841","impliedFormat":99},{"version":"e19cf00b7cc08a6559f1fd47bd100c54d5989a96973b58a8980490f285fe18a8","impliedFormat":99},{"version":"cbbf88f53c2d00ec848ea9781ff435afbd6776f9dae08ba685e6f64a33711984","impliedFormat":99},{"version":"20c145001d9d205002526fa1c26151b8942b3efa99409442aa1f0c55f8a97e26","impliedFormat":99},{"version":"8615e46872d20ffe0a8ff44b9ce593f64f79a8d309ac4859e8b59906f9aa8762","impliedFormat":99},{"version":"4416521a9e7133d2e680e2977251ff783416b6bd03c5cd75bb4f47a98c128b3c","impliedFormat":99},{"version":"31d45c45e7b924c77c906237b00fe87358cc25e5e6d4771ac96c1da382b47c94","impliedFormat":99},{"version":"25a333b9b2020a43a5c4a75c277741c7ede6c01461105b5d0768aaa461de6938","impliedFormat":99},{"version":"cd154bdd2fc6cf16712e99dd953c7d0a00aa6ee37c7235f04f516cd7a2e23095","impliedFormat":99},{"version":"8672389ff1c732976deb46c971a8c21f98bdb6ea7ee73632216679d2d3a1d723","impliedFormat":99},{"version":"13346c4fc0d11d920ceb9c423a5699a77e9fc3cdf1a503bbea3f545b72ed4736","impliedFormat":99},{"version":"e107d19bb5575d072a6ef55c1d7c92df4364b7790e27ef034d43fcf11088f314","impliedFormat":99},{"version":"676d3c55c65df11cb1445503548bd4038373ce1c1e17fa1261a554df225802bd","impliedFormat":99},{"version":"a8ea887074dfa326c0b81b7726adfcf73da08b02f6d12dcc4b51ae874be45a20","impliedFormat":99},{"version":"ec1a0bd6e9cf024cbfdeeed1524c9c00b409b661871007fd4f61b22b16b597f9","impliedFormat":99},{"version":"a75c3ddc29c89704de18a47258b33ffa4236e89d2a6c7ef64d00d9b3a593ccf2","impliedFormat":99},{"version":"0e638ebfddb73f8a5b07d61da9496e3d95de249e92929970898c3725d509b0dd","impliedFormat":99},{"version":"aa6c68ae030bc57e2cf901448a1ab94f340bab7dfe544b45f8469ecc8fb11e54","impliedFormat":99},{"version":"b66fa60a872678cef7d7b8439b1ccb4b87b09aa2cede6e1dd893445fbaa07d63","impliedFormat":99},{"version":"f6c181d754f301199d23bd69d50733b29864682b7b5f714edab4841e50b0fd3c","impliedFormat":99},{"version":"eddddd25770a1b5deff6e3d5e83b57f25f90addf14ff89bee3c90867f855a4a4","impliedFormat":99},"00d439cd56d2c15337e9ce5a8a32f1dc9f6f8aafd1b0662b91485309c97956b8","02c7398ecf22b07d751e4f05ad54e0c90125c4cbfa5b7b04beea507e38e1258a","61415f75731e9b070366b9b8a7ac8f108c3970baffab5b1fcd488122329f49ea","e833f387600d30401b1b6b25aaac8f0dd32529fc979eb1d449f78f7866001762","b2c48e42d466e9db44762134e640336fa36f5e7f9c99d7a138755509ab2c9322","f50ea3fe2e75d5c2b43ea71bb7d23f0723633495132f30ab5a8884e2609b3c01",{"version":"db8b268ea5865a2611393cc4e0946fc2c18d317e356ebab00d45fe4f49a27e42","signature":"0a0abc52e89e4fea7637c4d2665dd09ced30ceef4b73aab6044557007b7e1bd3"},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"49ab4f1d153a252779958fc87b700743d32b5ffa42addd70ae23ad3f429daa5c","impliedFormat":99},{"version":"53cf4076f42b29b8d411259d168d51b3a0274c42c8814e5b44dfa8803a35d4fc","impliedFormat":99},{"version":"a39461ee1f27cf3e6cfd63d21045713d26d521da55ea4d8efccb705f689e6dbb","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"2b39c6cf59088713babbfc3e20ee85f1375d40e66953156fa658346b8346f24f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"fda6979667bb60fe7ee8d5400628ddd6911c4a3f0bffb6107653530cafe4fb6a","signature":"a034d5b2ed55f8d8f04c40136d06f2b971cd01b13796c3a2b08e8d24dd232258","affectsGlobalScope":true},{"version":"ec36a48680c2421347c35f62d2e28d90e0eccebcf9a9b4eb05365fe6a04f99a7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c7b1d8456862151ad695769ea45fffe358154c105c71e191eb36550060d2435f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[535,919,[958,961],[966,972],[1195,1201],[1251,1253]],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":200,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[909,1],[896,2],[894,3],[892,4],[891,5],[895,6],[890,6],[893,7],[897,8],[899,9],[903,10],[905,11],[908,12],[904,13],[906,5],[907,14],[898,15],[900,16],[517,17],[883,5],[504,18],[502,19],[500,20],[499,5],[503,21],[497,21],[501,22],[505,23],[507,24],[495,5],[511,25],[514,26],[885,27],[516,28],[513,29],[515,30],[512,5],[506,31],[508,32],[498,5],[914,33],[910,34],[911,35],[912,36],[913,37],[727,5],[1229,5],[534,38],[531,5],[533,5],[920,38],[532,39],[1232,40],[889,5],[1230,5],[430,41],[431,41],[432,42],[391,43],[433,44],[434,45],[435,46],[386,5],[389,47],[387,5],[388,5],[436,48],[437,49],[438,50],[439,51],[440,52],[441,53],[442,53],[444,5],[443,54],[445,55],[446,56],[447,57],[429,58],[390,5],[448,59],[449,60],[450,61],[483,62],[451,63],[452,64],[453,65],[454,66],[455,67],[456,68],[457,69],[458,70],[459,71],[460,72],[461,72],[462,73],[463,5],[464,5],[465,74],[467,75],[466,76],[468,77],[469,78],[470,79],[471,80],[472,81],[473,82],[474,83],[475,84],[476,85],[477,86],[478,87],[479,88],[480,89],[481,90],[482,91],[491,92],[490,93],[489,92],[548,94],[812,95],[549,96],[547,95],[813,97],[545,98],[810,5],[546,99],[536,5],[538,100],[809,95],[579,95],[957,101],[1233,102],[1240,103],[1241,104],[1239,5],[1202,5],[1211,105],[1210,106],[1234,105],[1218,107],[1220,108],[1219,109],[1227,110],[1226,5],[1209,111],[1203,112],[1205,113],[1207,114],[1206,5],[1208,112],[1204,5],[1231,5],[537,5],[947,115],[944,5],[946,116],[945,117],[954,115],[953,115],[955,118],[952,119],[950,115],[951,115],[948,120],[949,115],[382,121],[91,122],[331,123],[90,5],[93,124],[380,125],[381,126],[89,5],[383,127],[164,128],[108,129],[131,130],[140,131],[111,131],[112,132],[113,132],[139,133],[114,134],[115,132],[121,135],[116,136],[117,132],[118,132],[141,137],[110,138],[119,131],[120,136],[122,139],[123,139],[124,136],[125,132],[126,131],[127,132],[128,140],[129,140],[130,132],[151,141],[159,142],[138,143],[167,144],[132,145],[134,146],[135,143],[145,147],[153,148],[158,149],[155,150],[160,151],[148,152],[149,153],[156,154],[157,155],[163,156],[154,157],[133,127],[165,158],[109,127],[152,159],[150,160],[137,161],[136,143],[166,162],[142,163],[161,5],[162,164],[385,165],[92,127],[202,5],[219,166],[168,167],[193,168],[200,169],[169,169],[170,169],[171,170],[199,171],[172,172],[187,169],[173,173],[174,173],[175,170],[176,169],[177,170],[178,169],[201,174],[179,169],[180,169],[181,175],[182,169],[183,169],[184,175],[185,170],[186,169],[188,176],[189,175],[190,169],[191,170],[192,169],[214,177],[210,178],[198,179],[222,180],[194,181],[195,179],[211,182],[203,183],[212,184],[209,185],[207,186],[213,187],[206,188],[218,189],[208,190],[220,191],[215,192],[204,193],[197,194],[196,179],[221,195],[205,163],[216,5],[217,196],[493,197],[494,198],[492,199],[96,200],[288,201],[223,202],[258,203],[267,204],[224,205],[225,205],[226,206],[227,205],[266,207],[228,208],[229,209],[230,210],[231,205],[268,211],[269,212],[232,205],[234,213],[235,204],[237,214],[238,215],[239,215],[240,206],[241,205],[242,205],[243,211],[244,206],[245,206],[246,215],[247,205],[248,204],[249,205],[250,206],[251,216],[236,217],[252,205],[253,206],[254,205],[255,205],[256,205],[257,205],[276,218],[283,219],[265,220],[293,221],[259,222],[261,223],[262,220],[271,224],[278,225],[282,226],[280,227],[284,228],[272,229],[273,153],[274,230],[281,231],[287,232],[279,233],[260,127],[289,234],[233,127],[277,235],[275,236],[264,237],[263,220],[290,238],[291,5],[292,239],[270,163],[285,5],[286,240],[104,241],[97,242],[146,127],[143,243],[147,244],[144,245],[342,246],[319,247],[325,248],[294,248],[295,248],[296,249],[324,250],[297,251],[312,248],[298,252],[299,252],[300,249],[301,248],[302,253],[303,248],[326,254],[304,248],[305,248],[306,255],[307,248],[308,248],[309,255],[310,249],[311,248],[313,256],[314,255],[315,248],[316,249],[317,248],[318,248],[339,257],[330,258],[345,259],[320,260],[321,261],[334,262],[327,263],[338,264],[329,265],[337,266],[336,267],[341,268],[328,269],[343,270],[340,271],[335,272],[323,273],[322,261],[344,274],[333,275],[332,276],[100,277],[102,278],[101,277],[103,277],[106,279],[105,280],[107,281],[98,282],[378,283],[346,284],[371,285],[375,286],[374,287],[347,288],[376,289],[367,290],[368,286],[369,291],[370,292],[355,293],[363,294],[373,295],[379,296],[348,297],[349,295],[352,298],[358,299],[362,300],[360,301],[364,302],[353,303],[356,304],[361,305],[377,306],[359,307],[357,308],[354,309],[372,310],[350,311],[366,312],[351,163],[365,313],[94,163],[95,314],[99,315],[384,5],[1247,316],[1249,317],[1248,318],[1246,319],[1245,5],[956,320],[943,321],[942,5],[965,322],[964,323],[963,324],[962,5],[518,325],[884,326],[882,327],[881,328],[886,329],[887,330],[834,331],[839,332],[846,333],[829,334],[583,5],[591,335],[731,336],[734,337],[706,5],[719,338],[726,339],[608,5],[708,5],[589,5],[705,340],[751,341],[590,5],[581,342],[733,343],[735,344],[736,345],[807,346],[700,347],[653,348],[713,349],[714,350],[712,351],[711,5],[707,352],[732,353],[592,354],[777,5],[778,355],[619,356],[593,357],[620,356],[656,356],[559,356],[729,358],[728,5],[718,359],[824,5],[568,5],[845,360],[785,361],[786,362],[782,363],[863,5],[683,5],[787,364],[783,365],[868,366],[867,367],[862,5],[634,5],[686,368],[685,5],[861,369],[784,95],[639,370],[646,371],[648,372],[638,5],[643,373],[645,374],[647,375],[642,376],[640,5],[644,377],[864,5],[860,5],[866,378],[865,5],[637,379],[855,380],[858,381],[627,382],[626,383],[625,384],[871,95],[624,385],[613,5],[873,5],[874,95],[875,386],[551,5],[715,387],[716,388],[717,389],[555,5],[720,5],[575,390],[550,5],[799,95],[557,391],[798,392],[797,393],[788,5],[789,5],[796,5],[791,5],[794,394],[790,5],[792,395],[795,396],[793,395],[588,5],[585,5],[586,356],[740,5],[745,397],[746,398],[744,399],[742,400],[743,401],[738,5],[805,364],[580,364],[833,402],[840,403],[844,404],[674,405],[673,5],[668,5],[820,406],[828,407],[701,408],[702,409],[780,410],[690,5],[803,411],[678,95],[695,412],[806,413],[691,5],[694,414],[692,5],[804,415],[801,416],[800,5],[802,5],[698,5],[776,417],[563,418],[676,419],[680,420],[696,421],[699,422],[688,423],[681,424],[827,425],[754,426],[672,427],[560,428],[826,429],[556,430],[747,431],[739,5],[748,432],[765,433],[737,5],[764,434],[544,5],[759,435],[584,5],[779,436],[755,5],[569,5],[571,5],[710,5],[763,437],[587,5],[611,438],[697,439],[617,440],[677,5],[762,5],[741,5],[767,441],[768,442],[709,5],[770,443],[772,444],[771,445],[721,5],[761,428],[774,446],[671,447],[760,448],[766,449],[596,5],[600,5],[599,5],[598,5],[603,5],[597,5],[606,5],[605,5],[602,5],[601,5],[604,5],[607,450],[595,5],[663,451],[662,5],[667,452],[664,453],[666,454],[669,452],[665,453],[576,455],[655,456],[823,457],[821,5],[850,458],[852,459],[816,460],[851,461],[564,462],[561,462],[594,5],[578,463],[577,464],[573,465],[574,466],[582,467],[610,467],[621,467],[657,468],[622,468],[566,469],[565,5],[661,470],[660,471],[659,472],[658,473],[567,474],[808,475],[609,476],[815,477],[781,478],[811,479],[814,480],[704,481],[703,482],[684,483],[670,484],[652,485],[654,486],[651,487],[773,488],[675,5],[838,5],[572,489],[775,490],[822,491],[682,5],[612,492],[689,493],[687,494],[614,495],[749,496],[817,5],[615,497],[750,497],[836,5],[835,5],[837,5],[819,5],[818,5],[752,498],[679,5],[649,499],[570,500],[628,5],[554,501],[616,5],[842,95],[553,5],[854,502],[636,95],[848,364],[635,503],[831,504],[633,502],[558,5],[856,505],[631,95],[632,95],[623,5],[552,5],[630,506],[629,507],[618,508],[693,71],[753,71],[769,5],[757,509],[756,5],[641,379],[562,5],[650,95],[825,390],[832,510],[539,95],[542,511],[543,512],[540,95],[541,5],[730,513],[725,514],[724,5],[723,515],[722,5],[830,516],[841,517],[843,518],[847,519],[849,520],[853,521],[857,522],[880,523],[859,524],[869,525],[870,526],[872,527],[876,528],[879,390],[878,5],[877,529],[496,5],[488,530],[485,529],[487,531],[486,5],[484,5],[902,532],[901,533],[510,534],[509,535],[758,536],[975,5],[978,5],[981,5],[1193,537],[976,538],[996,539],[973,540],[980,541],[1192,542],[1166,543],[1167,544],[1152,545],[1001,546],[1153,545],[1154,547],[1028,548],[990,5],[1169,549],[1168,547],[1145,545],[1146,547],[1026,550],[1025,551],[992,552],[1092,553],[1098,554],[1093,555],[1095,556],[1094,557],[1099,558],[1097,545],[1096,545],[983,5],[984,559],[1100,560],[1102,561],[1101,562],[991,563],[993,552],[1089,5],[1031,564],[1087,565],[1086,566],[1106,567],[1105,568],[1104,569],[1103,547],[1046,570],[1004,563],[1155,547],[985,547],[989,571],[1083,572],[1088,573],[1008,574],[1091,575],[1156,555],[1030,576],[987,577],[1009,578],[1037,579],[1038,580],[1036,547],[1039,581],[1157,545],[1150,582],[1158,547],[994,583],[1027,584],[997,585],[998,586],[1107,5],[1108,587],[1109,588],[1112,589],[1110,590],[1111,547],[1171,591],[1170,547],[1090,592],[1115,593],[1113,547],[1114,594],[1147,595],[1078,596],[1080,597],[1159,547],[1082,598],[1023,599],[1016,585],[1019,600],[1021,601],[1024,602],[1018,603],[1017,547],[1020,604],[1022,605],[1084,606],[995,5],[1002,607],[1160,608],[1161,609],[1003,5],[1032,610],[1085,611],[1162,547],[1163,547],[1035,570],[1079,609],[1010,612],[999,613],[1044,614],[1041,614],[1040,615],[1043,616],[986,617],[1148,618],[1116,619],[1120,620],[1117,621],[1118,547],[1119,622],[1007,623],[1123,624],[1121,585],[1122,545],[1125,625],[1127,626],[1124,592],[1126,627],[1011,5],[1029,619],[1034,628],[1033,629],[1081,630],[1129,631],[1128,585],[1149,632],[1014,633],[1013,5],[1045,634],[1077,635],[1076,636],[1130,545],[1131,592],[1132,637],[1137,638],[1133,547],[1134,547],[1135,592],[1136,639],[1042,547],[1012,5],[1000,640],[988,547],[1138,585],[1139,545],[1141,641],[1056,547],[1140,545],[1057,642],[1047,643],[1048,644],[1075,645],[1051,646],[1052,647],[1055,648],[1053,649],[1054,650],[1049,651],[1059,652],[1058,653],[1050,547],[1069,654],[1074,655],[1070,656],[1071,657],[1072,658],[1073,659],[1164,660],[1015,661],[1006,662],[1005,663],[1060,664],[1061,664],[1142,5],[1143,665],[1068,666],[1144,667],[1062,666],[1063,666],[1064,668],[1065,664],[1066,669],[1067,670],[1177,671],[1174,545],[1173,545],[1175,545],[1176,545],[1184,545],[1179,592],[1181,5],[1183,672],[1180,673],[1182,674],[1185,675],[1187,676],[1186,677],[1188,678],[1172,5],[1189,679],[1178,5],[1165,547],[982,680],[1190,681],[1194,681],[974,5],[979,539],[977,682],[1191,683],[1151,684],[925,685],[926,686],[927,687],[922,688],[924,5],[921,689],[923,690],[1235,5],[1228,5],[87,5],[88,5],[14,5],[16,5],[15,5],[2,5],[17,5],[18,5],[19,5],[20,5],[21,5],[22,5],[23,5],[24,5],[3,5],[25,5],[26,5],[4,5],[27,5],[31,5],[28,5],[29,5],[30,5],[32,5],[33,5],[34,5],[5,5],[35,5],[36,5],[37,5],[38,5],[6,5],[42,5],[39,5],[40,5],[41,5],[43,5],[7,5],[44,5],[49,5],[50,5],[45,5],[46,5],[47,5],[48,5],[8,5],[54,5],[51,5],[52,5],[53,5],[55,5],[9,5],[56,5],[57,5],[58,5],[60,5],[59,5],[61,5],[62,5],[10,5],[63,5],[64,5],[65,5],[11,5],[66,5],[67,5],[68,5],[69,5],[70,5],[71,5],[12,5],[72,5],[73,5],[74,5],[75,5],[76,5],[1,5],[77,5],[78,5],[13,5],[79,5],[80,5],[81,5],[82,5],[83,5],[84,5],[85,5],[86,5],[407,691],[417,692],[406,691],[427,693],[398,694],[397,695],[426,529],[420,696],[425,697],[400,698],[414,699],[399,700],[423,701],[395,702],[394,529],[424,703],[396,704],[401,705],[402,5],[405,705],[392,5],[428,706],[418,707],[409,708],[410,709],[412,710],[408,711],[411,712],[421,529],[403,713],[404,714],[413,715],[393,716],[416,707],[415,705],[419,5],[422,717],[1214,718],[1217,719],[1215,718],[1213,5],[1216,720],[1236,721],[1225,722],[1221,723],[1222,107],[1243,724],[1237,725],[1223,726],[1242,727],[1212,5],[1224,728],[1250,729],[1244,730],[1238,5],[941,731],[932,732],[939,733],[934,5],[935,5],[933,734],[936,735],[928,5],[929,5],[940,736],[931,737],[937,5],[938,738],[930,739],[1251,740],[1252,741],[1253,742],[919,743],[1200,744],[535,5],[1201,513],[967,745],[958,746],[1199,747],[968,748],[1196,749],[971,750],[970,748],[960,751],[961,752],[972,748],[969,753],[1198,749],[1195,754],[1197,753],[966,755],[959,756],[915,757],[916,758],[888,759],[918,760],[917,761],[529,762],[530,763],[522,764],[519,765],[523,766],[521,766],[528,767],[524,768],[520,764],[526,769],[527,769],[525,764]],"affectedFilesPendingEmit":[1251,1252,1253,919,1200,535,1201,967,958,1199,968,1196,971,970,960,961,972,969,1198,1195,1197,966,959],"version":"6.0.2"} \ No newline at end of file +{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_6d4db5c24c9b31d9e2a449692c1b00e3/node_modules/next-auth/adapters.d.ts","../../db/src/schemas/auth.ts","../../db/src/schemas/hackathons.ts","../../db/src/schemas/members.ts","../../db/src/schemas/admins.ts","../../db/src/schemas/events.ts","../../db/src/schemas/judge.ts","../../db/src/schemas/stripe.ts","../../db/src/schemas/security.ts","../../db/src/schemas/index.ts","../../db/src/client.ts","../../db/src/index.ts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d-d4qzxqjh.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/unstable-core-do-not-import.d-bl-_61jq.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d-vq_qhko2.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/adapters/fetch/index.d.mts","../src/middleware/cache.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/css.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/style.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/get-page-files.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/canary.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/experimental.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/canary.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/experimental.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/fallback.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/bundler.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/load-custom-routes.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/image-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/body-streams.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/search-params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/vary-params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-kind.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matches/route-match.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/app-router-headers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/cache-control.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/render-result.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/response-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/response-cache/index.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/static-paths/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/instrumentation/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/worker.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/page-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/require-hook.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-baseline.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/page-extensions-type.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/next-url.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/mitt.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/with-router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/route-loader.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/page-loader.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/flight-data-helpers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/templates/pages.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/render.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/load-default-error-components.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/base-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/after/after.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/after/after-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/lazy-result.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/async-storage/work-store.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/http.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/redirect-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/templates/app-route.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/get-supported-browsers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/utils.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/rendering-mode.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/cpu-profile.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/export/routes/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/export/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/export/worker.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/worker.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/coalesced-function.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/trace/trace.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/trace/shared.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/load-jsconfig.d.ts","../../../node_modules/.pnpm/@next+env@16.2.11/node_modules/@next/env/dist/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/telemetry/storage.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/build-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/swc/generated-native.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/define-env.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/swc/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/swc/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/shared/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/parse-stack.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/server/shared.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/debug-channel.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/base-http/node.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../../node_modules/.pnpm/@img+colour@1.1.0/node_modules/@img/colour/index.d.ts","../../../node_modules/.pnpm/sharp@0.35.3_@types+node@20.19.40/node_modules/sharp/dist/index.d.mts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/image-optimizer.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/next-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/lru-cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/next.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/render-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/route-module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/load-components.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/adapter.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/app-render.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/layout-router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/client-page.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/client-segment.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/metadata.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/entry-base.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/templates/app-page.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/jsx-dev-runtime.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/compiler-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/client.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/fallback-params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/after/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/connection.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/exports/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request-meta.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/cli/next-test.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/size-limit.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/config-shared.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/base-http/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/api-utils/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/adapter/build-complete.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/utils.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/pages/_app.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/app.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/pages/_document.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/document.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/pages/_error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/catch-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/api/error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/head.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/head.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/headers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/draft-mode.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/headers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/image-component.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/image-external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/image.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/link.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/link.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/redirect.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/not-found.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/forbidden.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/unauthorized.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/script.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/script.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/types/compiled.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/index.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/lib/types.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/errors.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/google.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/providers/google.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/github.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/providers/github.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/providers/nodemailer.d.ts","../../auth/src/config.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/lib/mysql.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/lib/pg.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/lib/sqlite.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/lib/utils.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/index.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/adapters.d.ts","../../auth/src/adapter.ts","../../auth/src/auth.ts","../../auth/src/utils.ts","../../auth/src/email.ts","../../auth/src/index.ts","../src/context.ts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d.mts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/transformer.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/plainer.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/types.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/class-registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/custom-transformer-registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/tokenizer.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/parser.d.ts","../../../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/index.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/node.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/index.d.ts","../../../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/index.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/stringify.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/traversal.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/manipulation.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/querying.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/legacy.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/helpers.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/feeds.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/index.d.ts","../../../node_modules/.pnpm/@types+sanitize-html@2.16.1/node_modules/@types/sanitize-html/index.d.ts","../src/middleware/security.ts","../src/trpc.ts","../src/routers/hello-procedures.ts","../src/routers/hello.ts","../src/types/portal-context.ts","../src/services/portal-context.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/types/interface.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/types/index.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/lookup.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/index.d.ts","../src/routers/user.ts","../src/middleware/procedures.ts","../src/routers/admin.ts","../src/routers/member.ts","../src/routers/hackathon/crud.ts","../src/routers/hackathon/registration.ts","../src/routers/hackathon/admin.ts","../src/routers/hackathon/events.ts","../src/routers/hackathon/content.ts","../src/routers/hackathon/index.ts","../src/routers/events.ts","../src/routers/judge/portal.ts","../src/routers/judge/helpers.ts","../src/routers/judge/rankings.ts","../src/routers/judge/admin.ts","../src/routers/judge/index.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/net/httpclient.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripecontext.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/apiversion.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/lib.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/striperesource.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/crypto/cryptoprovider.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripeemitter.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/platform/platformfunctions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/decimal.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/shared.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/metereventsummaries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/meters.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/coupons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/promotioncodes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/discounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxrates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/creditnotelineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applications.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/capabilities.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/bankaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/externalaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/loginlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/multipart.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/filelinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/files.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/persons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxids.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/mandates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentintentamountdetailslineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/connectcollectiontransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/transfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/transferreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/refunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customercashbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/disputes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/payouts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reservetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxdeductedatsources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sourcetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/topups.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/cardholders.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/physicalbundles.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/personalizationdesigns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/tokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/disputes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/authorizations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancetransactionsources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/feerefunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applicationfees.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reviews.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customersources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/charges.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentintents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/setupintents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/setupattempts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethods.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/features.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/activeentitlements.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/activeentitlementsummaries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/productfeatures.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/prices.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxcodes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/products.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/plans.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptionitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/confirmationtokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/confirmationtokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/customers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/refunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/testclocks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/authorizations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/personalizationdesigns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/locations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/readers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/terminal/readers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/terminal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/creditreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/debitreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/outboundpayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/outboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/receivedcredits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/receiveddebits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/transactionentries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/inboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/inboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/outboundpayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/outboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/receivedcredits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/receiveddebits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptionschedules.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicelineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentrecords.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicepayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/shippingrates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoices.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/creditnotes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/lineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/checkout/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/checkout/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customerbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/cashbalances.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/fundinginstructions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/alerts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditbalancesummary.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditgrants.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/meterevents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/metereventadjustments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/alerttriggereds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/configurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/suppliers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/products.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/orders.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accountowners.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accountownerships.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/verificationreports.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/verificationsessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/earlyfraudwarnings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/paymentevaluations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/valuelistitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/valuelists.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/reportruns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/reporttypes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/plans.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/holds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/releases.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sigma/scheduledqueryruns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sigma/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/associations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/calculationlineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/calculations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/registrations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/settings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/transactionlineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/configurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/connectiontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/onboardinglinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/financialaccountfeatures.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/financialaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balance.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancesettings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoiceitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/quotes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sourcemandatenotifications.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/events.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/webhooks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accountlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accountsessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applepaydomains.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/countryspecs.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customersessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/ephemeralkeys.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/exchangerates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicerenderingtemplates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/oauth.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentattemptrecords.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethodconfigurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethoddomains.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/webhookendpoints.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resourcenamespace.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/apps/secrets.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/apps/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/forwarding/requests.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/forwarding/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/deletedobject.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/meterevents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventadjustments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventsession.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventstream.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/v2amounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountpersons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts/persons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountpersontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts/persontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounttokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/events.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/eventdestinations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripe.core.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/types.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/requestsender.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/error.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripe.esm.node.d.ts","../src/routers/stripe.ts","../src/routers/audit.ts","../src/routers/team.ts","../src/root.ts","../src/index.ts","../src/middleware/http-security.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.8/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/tasks.d-deyaimiu.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/traces.d.d2t_r8rx.d.ts","../../../node_modules/.pnpm/vite@7.3.6_@types+node@22.1_37ed7f1209aadc882648fbd7743a599f/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@7.3.6_@types+node@22.1_37ed7f1209aadc882648fbd7743a599f/node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","../../../node_modules/.pnpm/vite@7.3.6_@types+node@22.1_37ed7f1209aadc882648fbd7743a599f/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/vite@7.3.6_@types+node@22.1_37ed7f1209aadc882648fbd7743a599f/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@7.3.6_@types+node@22.1_37ed7f1209aadc882648fbd7743a599f/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/environment.d-dojxxzv9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/rawsnapshot.d-d_x3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/config.d.a1h_y6jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/environment.d.crsxczp1.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/rpc.d.b_8spu0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/worker.d.zphpo4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/browser.d.bcoexmfg.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.8/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/benchmark.d.daahlpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/global.d.dvssrdq5.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d27053213f85140d8304004886c6a0fa/node_modules/@vitest/mocker/dist/types.d-bji5eawu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d27053213f85140d8304004886c6a0fa/node_modules/@vitest/mocker/dist/index.d-b41z0auw.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d27053213f85140d8304004886c6a0fa/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/suite.d.udjtyagw.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/evaluatedmodules.d.bxj5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/index.d.ts","../src/routers/judge/helpers.test.ts","../src/routers/user/portal-context.test.ts","../src/services/portal-context.test.ts","../src/test/create-mock-context.ts","../src/.internal-tests/hackathon-flow.test.ts","../src/.internal-tests/resilience.test.ts","../src/.internal-tests/routers.test.ts","../src/.internal-tests/security.test.ts"],"fileIdsList":[[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,571,579,959],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,562,563,564,565,566,568,571,579,580],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,568,571],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,562],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,571],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,567,571],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,561,567],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,560,569,571,580],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,571,573,579],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,571,575,576,579],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,579],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,569,571,574,577,578],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,571,577],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,559,562,567,571,575,579],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,571,579],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,558,559,560,561,567,568,570,579],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,580,957],[222,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,580],[293,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,580],[379,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,580],[222,293,379,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,954,955,956],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,593,594,595],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,593],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1286,1287],[391,399,405,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,394,395,396,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,491,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[386,387,388,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[389,390,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,553],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,551,552,553],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,609,611],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,604,607,608,609,610,893,938],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,875],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,604,608,611,893,938],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,604,607,611,893,938],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,598,599],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1002],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1259,1265,1283,1284,1285,1288],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1295],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1295,1296],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1263,1265,1266],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1263,1265],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1263],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258,1263,1274,1275],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258,1263,1274],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1282],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258,1264],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1260],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258,1259,1260,1261,1262],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,992],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,991],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,990],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,992,994,995,996,997,998,999,1000],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,990,992],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,992,993],[89,95,98,143,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[91,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,167,222,293,345,379,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,95,98,99,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[137,142,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,107,137,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,140,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,110,139,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,139,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,132,137,138,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,137,139,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,139,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,137,139,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,139,140,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,109,139,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,121,139,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,121,137,139,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,91,94,98,99,104,137,141,142,143,145,148,149,150,152,158,159,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,137,141,143,158,162,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,137,141,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[108,109,132,133,134,135,136,137,138,141,150,151,152,158,159,161,162,164,165,166,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,137,141,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,133,137,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,137,152,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,97,98,137,146,147,152,159,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[153,154,155,156,157,160,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,95,97,98,104,132,137,139,146,147,152,154,159,160,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,98,104,141,150,157,159,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,137,143,146,147,152,159,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,144,146,147,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,146,147,152,159,162,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,97,98,99,104,137,141,142,146,147,150,152,159,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,95,96,97,98,99,104,137,141,142,152,157,162,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,95,97,98,99,137,139,142,146,147,152,159,163,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,109,137,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,91,99,107,143,144,151,159,163,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,97,98,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,95,108,131,132,134,135,136,138,139,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,98,108,132,134,135,136,137,138,141,142,162,167,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,97,98,99,104,139,142,160,161,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,92,94,95,96,99,107,143,146,380,381,382,383,384,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[197,205,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,197,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,200,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,199,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,199,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,197,198,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,197,199,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,197,199,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,199,200,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,179,199,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,187,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,91,94,98,99,143,197,204,205,210,211,212,213,215,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,143,197,199,202,203,208,209,215,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,197,201,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[168,194,195,196,197,198,201,204,210,212,214,215,216,217,219,220,221,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,197,201,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,197,205,215,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,98,99,146,197,199,210,215,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[203,206,207,208,209,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,95,98,104,146,147,197,199,207,208,210,215,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,204,206,210,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,143,146,197,210,215,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,97,98,99,104,146,194,197,201,204,205,210,215,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,95,96,97,98,99,104,197,201,205,206,215,217,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,98,99,146,197,199,210,215,218,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,197,217,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,91,98,99,143,210,214,218,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,97,98,104,207,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,95,168,193,194,195,196,198,199,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,168,194,195,196,197,198,205,206,217,222,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,97,98,104,201,205,207,216,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,91,92,99,143,276,283,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,554,555],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,555,556],[89,90,92,98,99,143,277,283,287,293,331,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,554],[94,95,98,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[264,270,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,107,264,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[224,225,226,227,228,230,231,232,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,267,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,234,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,259,264,265,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,264,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,266,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,229,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,264,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[224,225,226,227,228,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,266,267,268,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,233,266,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,236,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,264,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,229,236,264,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,229,264,266,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,91,94,98,99,143,264,269,270,271,272,273,274,275,277,282,283,286,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,143,202,264,269,277,282,286,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,264,269,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[223,233,259,260,261,262,263,264,265,269,275,276,277,282,283,285,286,288,289,290,292,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,264,269,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,260,264,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,264,277,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,97,98,104,146,147,264,277,283,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[274,278,279,280,281,284,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,95,97,98,104,146,147,259,264,266,277,279,283,284,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,98,269,275,281,283,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,143,146,147,264,277,283,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,146,147,277,283,286,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,97,98,99,104,146,147,264,269,270,275,277,283,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,95,96,97,98,99,104,264,269,270,277,281,286,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,95,97,98,99,104,146,147,264,266,270,277,283,287,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,233,264,268,286,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,91,99,107,143,144,276,283,287,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,97,98,104,284,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,95,223,258,259,261,262,263,265,266,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,98,223,259,261,262,263,264,265,269,270,286,293,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[291,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,97,98,99,104,266,270,284,285,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,107,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,95,96,98,99,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,95,98,99,102,381,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[323,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,325,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,324,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,324,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,323,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,323,324,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,323,324,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,107,324,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,324,325,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,304,324,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,312,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,91,94,98,143,323,330,333,334,335,338,340,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,143,202,323,324,327,328,329,340,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[320,321,322,323,326,330,335,338,339,340,342,343,344,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,323,326,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,323,326,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,323,340,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,98,99,146,323,324,330,340,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[327,328,329,336,337,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,95,98,146,147,323,324,328,330,340,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,330,335,336,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,97,98,99,104,146,323,326,330,335,340,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,95,96,97,98,99,104,323,326,336,340,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,98,99,146,323,324,330,340,341,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,323,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,91,98,99,143,330,339,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,97,98,104,337,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,95,319,320,321,322,324,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,98,320,321,322,323,345,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,91,92,99,143,330,332,339,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,92,98,99,143,330,331,340,341,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[98,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[100,101,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[103,105,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[98,104,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[98,102,106,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,93,94,95,97,99,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[351,372,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,372,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[347,367,368,369,370,375,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,374,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,372,373,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,372,374,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[347,367,368,369,370,374,375,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,366,372,374,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,374,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,99,372,374,380,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,91,94,98,99,143,351,352,353,354,357,362,363,372,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,143,202,357,362,372,376,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,372,376,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[346,348,349,350,354,355,357,362,363,365,366,372,373,376,378,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,372,376,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,357,365,372,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,97,98,99,146,147,357,363,372,374,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[358,359,360,361,364,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,97,98,99,104,146,147,348,357,359,363,364,372,374,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,354,361,363,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,99,143,146,147,357,363,372,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,98,144,146,147,363,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,94,97,98,99,104,146,147,351,354,357,363,372,376,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,95,96,97,98,99,104,351,357,361,365,372,376,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,94,97,98,99,146,147,351,357,363,372,374,377,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,90,91,98,143,144,146,355,356,363,377,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,97,98,104,364,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,95,346,348,349,350,371,373,374,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,372,374,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[94,98,346,348,349,350,351,365,372,373,379,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,97,98,104,351,364,374,380,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[89,96,98,99,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[91,92,95,98,381,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1301,1302],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1301,1302,1303,1304],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1301,1303],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1301],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,988,989,990,992,1001],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,988],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1010,1011,1012],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1010,1011],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1010],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,580],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,567,571,579,939,943,944,945,946],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,567,571,939,943,944],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,939],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,950],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,948],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,576],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,896],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,898,899,900,901],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,845,907,908],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,616,617,619,631,655,770,781,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,619,650,651,652,654,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,619,787,789,791,792,794,889,891],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,619,653,690,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,617,619,630,631,637,643,648,769,770,771,780,889,891],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,632,651,671,766],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,619],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,612,626,632],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,798],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,795,796,798],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,795,797,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,671,869,886],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,742,745,761,766,886],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,714,886],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,774],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,773,774,775],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,773],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,606,612,619,631,637,643,649,651,655,656,669,670,737,767,768,781,889,893],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,616,619,653,690,787,788,793,889,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,653,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,616,670,840,889,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,619,653,654,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,790,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,656,769,772,779],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,845],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,641],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,711],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,641],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,632,641,845],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,697,711,712,923,930],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,696,924,925,926,927,929],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,747],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,747,748],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,630,632,699,700],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,632,706,707],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,632,701,709],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,706],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,624,632,699,700,701,702,703,704,705,706,709],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,632,699,706,707,708,710],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,632,700,702,703],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,700,702,705,707],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,928],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,632],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,620,917],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,653,688],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,653,781],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,686,691],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,687,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,604,607,608,611,893,937],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,631,636,717,734,776,777,781,837,839,889,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,669,778],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,893],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,618],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,623,626,842,858,860],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,842,857,858,859,940],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,851,852,853,854,855,856],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,853],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,857],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,641,805,806,808],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,632,799,800,801,802,807],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,805,807],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,803],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,804],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,641,687,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,641,894,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,641,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,734,735],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,735],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,890,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,764],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,763],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,632,638,640,742,755,759,761,839,842,878,879,886,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,632,681,703],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,742,753,756,761],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,623,626,742,745,761,764,798,846,847,848,849,850,861,862,863,864,865,866,867,868,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,623,626,651,742,749,750,751,754,755],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,632,651,753,760,842,843,886],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,757],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,620,632,636,646,678,679,682,734,737,802,837,838,878,889,890,891,893,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,623,624,626],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,742],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,651,678,679,736,737,738,739,740,741,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,761],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,625,626,636,640,676,742,749,750,751,752,753,756,757,758,759,760,879],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,676,677,749,890,891],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,651,679,734,737,742,839,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,889,891],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,886,890,891],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,612,626,631,638,640,643,646,653,673,678,679,680,681,682,717,718,720,723,725,728,729,730,731,733,781,837,839,886,889,890,891],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,619,620,621,649,886,887,888,893,895,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,616,617,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,810],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,628,794,798,799,800,801,802,808,809,941],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,612,626,628,640,643,679,718,723,733,734,787,814,815,816,823,826,827,837,839,886,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,643,649,656,669,679,737,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,620,631,640,679,821,886,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,841],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,810,824,825,834],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,886,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,739,879],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,640,678,781,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,618,723,783,787,816,823,826,829,886],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,656,669,787,830],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,619,680,781,832,889,891],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,802,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,653,680,781,782,783,792,810,831,833,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,606,678,836,893,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,732,837],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,629,631,632,638,640,646,655,656,669,679,682,718,720,730,733,734,781,814,815,816,817,819,822,837,839,886,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,656,823,828,834,886],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,659,660,661,662,663,664,665,666,667,668],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,673,724],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,726],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,724],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,726,727],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,630,631,632,636,637,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,618,620,638,642,678,681,682,716,837,886,891,893,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,622,629,630,640,642,679,835,879,885,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,749],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,750],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,632,643,878],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,751],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,625],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,627,639],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,627,631,638],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,634,639],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,635],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,627,628],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,627,683],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,627],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,629,673,722],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,721],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,628,629],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,629,719],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,628],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,678,781],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,878],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,638,640,644,678,781,836,839,842,843,844,870,871,874,877,879,886,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,692,695,697,698,711,712],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,609,611,641,872,873],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,609,611,641,872,873,876],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,765],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,651,672,677,678,742,743,744,745,746,748,761,762,764,767,836,839,889,891],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,711],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,716,886],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,716],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,638,684,713,715,717,836,886,893,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,692,693,694,695,697,698,711,712,894],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,606,627,628,640,646,678,679,682,781,834,835,837,886,889,890,893],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,623,626,633],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,677,679,811,814],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,677,812,880,881,882,883,884],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,673,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,676,761],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,675],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,677,730],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,674,676,889],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,622,677,811,812,813,886,889,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,626,632,710],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,624],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,614,615],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,620],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,626,696],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,606,678,682,893,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,620,917,918],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,691],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,618,685,687,689,690,895],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,653,890],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,626,818],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,616,618,691,789,893,894],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,607,608,611,893,938],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,601,602,603,604],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,784,785,786],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,784],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,600,604,607,608,609,611,612,618,646,651,829,857,891,892,895,938],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,903],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,905],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,909],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,911],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,913,914,915],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,919],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,605,897,902,904,906,910,912,916,920,922,932,933,935,939,940,941,942],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,921],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,931],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,687],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,934],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,677,811,812,814,880,881,883,884,936,938],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,548,549,550],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,548],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,572],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,573],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,820],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1248,1249],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,1030,1031,1032,1248],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1248],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,1248],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,1030,1035,1036,1248],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1030,1033,1247,1248],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1247,1248],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1042,1043,1045,1054,1055,1057,1058,1059,1062,1064,1066,1067,1071,1072,1083,1085,1086,1088,1089,1090,1091,1092,1098,1099,1100,1101,1102,1103,1133,1134,1136,1137,1138,1139,1140,1142,1148,1202,1203,1204,1205,1207,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1048,1051,1052,1055,1056,1057],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1047,1058,1083,1084,1088],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1225,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1082],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1061,1062,1063,1064,1065,1066,1067,1068,1069,1072,1081,1084,1085,1088],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1058,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1041,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1149],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1132,1139,1151],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1132,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1040,1041,1149,1150,1151,1152,1153,1154,1155,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1040],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1047],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1157,1158,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1157],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1058],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1047,1058,1059,1062,1064,1083,1085,1086,1087,1089,1092,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1143,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1042,1043,1045,1057,1058,1089,1090,1134,1138,1139,1141,1142,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1160,1161,1162,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1160,1161],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1160],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1088,1091,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1044,1045,1156],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1044,1045,1046,1138,1139,1145,1148,1156],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1139,1140,1144,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1064,1083,1089,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1044,1049,1057,1065,1087,1092,1132,1134,1145,1146,1147],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1049,1050,1058,1071],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1042,1043,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1055,1083,1088,1089],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1093],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1094],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1093,1094,1095,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1042,1043,1044,1045,1047,1048,1051,1055,1056,1057,1058,1059,1062,1064,1065,1066,1067,1070,1071,1072,1081,1084,1085,1086,1087,1088,1089,1090,1092,1096,1098,1100,1101,1132,1133,1134,1137,1139,1140,1142,1144,1146,1148,1156,1159,1163,1169,1172,1177,1180,1184,1186,1194,1198,1201,1202,1203,1204,1205,1206],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1049,1050],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1083,1085],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1055],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1053,1054],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1164],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1148,1164,1165],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1164,1165,1166,1167,1168,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1148,1166],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1227,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1170,1171,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1170],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1044,1045,1098,1132,1139,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1044,1098,1134,1156],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1088,1089,1136,1139],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1044,1045,1047,1057,1058,1087,1089,1090,1092,1132,1134,1135,1137,1138,1148,1156],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1073,1076,1077,1079,1083],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1073,1075],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1055,1079,1083],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1073,1074,1075,1076,1077,1078,1079,1080,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1055,1074],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1076],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1073,1076,1077,1078,1080,1083],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1045,1098],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1092],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1248],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1059,1092],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1047,1058,1060,1086,1087,1088,1090,1092,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1047,1057,1058,1138,1141],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1051,1083,1085],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1055],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1100],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1096],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1097,1098,1099],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1042,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1044,1045,1047,1058,1132,1133,1134,1139,1141,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1088,1089],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1173,1174,1175,1176,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1092],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1175],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1063,1083,1088,1089],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1178,1179,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1088,1181],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1181,1182,1183],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1064,1066,1181,1182],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1047,1058,1059,1087,1089,1090,1092,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1047,1058,1059,1087,1089,1091,1092,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1099],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1185,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1071],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1070],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1044,1045,1098,1101],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1044,1045,1047,1057,1058,1087,1090,1092,1102,1132,1133,1139,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1042,1043,1045,1047,1057,1058,1092,1098,1101,1132,1134,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1188],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1187,1188,1189,1190,1191,1192,1193,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1192],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1047,1058,1148],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1113,1114,1195,1196,1197,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1064,1088,1089,1090,1092,1113],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1103],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1065],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1104,1105,1106,1107,1112,1116,1131,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1080],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1076],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1108,1109,1110,1111,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1075],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1079],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1064],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1115,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1114],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1125],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1126,1127,1128,1129,1130,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1119],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1120],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1121],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1122],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1049,1050],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1071,1083],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1039,1062,1064,1083],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1058,1063,1083,1088],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1124],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1199],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1059,1124],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1117,1118,1119,1120,1121,1122,1123,1124,1125,1199,1200,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1067,1117,1119,1120,1124],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1081,1117,1118,1119,1120,1121,1122,1124,1125],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1081,1117,1118,1119,1120,1121,1122,1123,1125],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1230,1231,1232,1233,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1235,1237,1239,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1229,1236],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1238],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1235],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1034,1039,1229,1243],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1031,1033,1034,1039,1156,1245],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1236,1238,1240,1241,1242,1243,1244,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1229,1234,1245,1247],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1038],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1030,1031,1032,1033,1034,1035,1037,1039,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1096,1097,1098,1099,1100,1101,1102,1103,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1144,1145,1146,1147,1148,1156,1159,1163,1169,1172,1177,1180,1186,1194,1198,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1218,1219,1220,1221,1222,1224,1226,1228,1246,1248,1249,1250],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1033,1247,1248],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,1030,1031,1033,1247,1249],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1035,1037,1207],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,969,970],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,969],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,969,970,971,972],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,967,973],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,973],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,967,968],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,463,467,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,463,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,458,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,460,463,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,458,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,392,393,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,459,462,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,463,470,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,392,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,461,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,463,484,485,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,459,463,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,484,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,457,458,459,460,461,462,463,464,465,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,485,486,487,488,489,490,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,463,478,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,463,470,471,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,461,463,471,472,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,462,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,392,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,458,463,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,463,467,471,472,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,467,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,461,463,466,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,392,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,460,463,470,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,458,463,484,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1269],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1269,1270,1271,1272],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1271],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1267,1290,1291,1293],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1267,1268,1280,1293],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258,1265,1267,1268,1276,1293],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1273],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258,1267,1268,1276,1289,1292,1293],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1267,1268,1273,1276,1293],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1267,1290,1291,1292,1293],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1267,1273,1277,1278,1279,1293],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258,1263,1265,1267,1268,1273,1276,1277,1278,1279,1280,1281,1283,1289,1290,1291,1292,1293,1294,1297,1298,1299,1300,1305],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1258,1265,1267,1268,1276,1277,1290,1291,1292,1293,1298],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,986],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,976,977],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,974,975,976,978,979,984],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,975,976],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,984],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,985],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,976],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,974,975,976,979,980,981,982,983],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,974,975,986],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,597,1255,1306],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1004,1306],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,597,966,1004,1005,1255,1306],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,966,1004,1306],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,596,597,964],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,597,965,1004,1005,1008,1255],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,597,966,1005],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,966,1003],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1005,1007,1014,1016,1017,1023,1024,1029,1252,1253,1254],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,597,966,987,1005,1015],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,987,1005,1015],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,966,987,1005,1015],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,963,966,987,1005,1015],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,987,1005],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1005,1018,1019,1020,1021,1022],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,966,987,1005],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,987,1005],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1005,1006],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,966,987,1005,1015,1026],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1026,1306],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1005,1025,1027,1028],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,987,1005,1015,1026],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,597,966,987,1005],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,597,966,987,1004,1005,1251],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,597,966,987,1005,1009,1013],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,1008,1009,1306],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,1008],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,597,965],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,965,966,973,987,1004],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,580,592,958,959],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,947,953,960],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,592,947,949,951,952],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,953,960,961,962,963],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,961],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,554,557,590],[385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,582,583,584,585,586,589,590,591],[293,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,582],[293,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,581],[293,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,582,584],[391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,582,583,584,585,586,587,588,589],[293,385,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,582,583],[293,391,399,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,493,494,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"092c1137e31de289f3cc6a57fdccb3cca298d8a680d1e367d206d3318f1394a1","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e20d899c28ca26a2a7afc98beaa69e63ff7fba0a8bc47b4e3bf3ede5e09e424","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"085f552d005479e2e6a7311cdbbe5d8c55c497b4d19274285df161ee9684cd9c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"007faacc9268357caa21d24169f3f3f2497af3e9241308df2d89f6e6d9bb3f2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"25d130083f833251b5b4c2794890831b1b8ce2ead24089f724181576cf9d7279","impliedFormat":1},{"version":"ffe66ee5c9c47017aca2136e95d51235c10e6790753215608bff1e712ff54ec6","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"d0e327cd50cc55eb34fef7028c46f2dcb28fbfe1b5329dbd2277be5e186bbeac","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"4fc633107330ab389f07f86af80192ac697a68a586ad76dcf43304410e7cfb6a","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"10b981156c3bd1db5b9146245e30473e1fa2b58c98346f8acdb7538947df3365","957f26931c2ed5af42709bad6abb710f43631371014ef4c81fac9d5f419d4249","447f663a195a5c8d2c4ba312f9115387092f87269f630010e00c5972f64deec5","600dc6bc372ea5db0ecf68eef984fd5d509bef523ab355230a76ed227781de11","4e7d11e3921bd8923d16ce24d0d3e56053dba6f9c683ab63674c7d2bb0298a06","e0ad30d8cc36c538119167dae544bee3c93daefb2269553a8e45a02a87534257","f06dd40409e73885ed1daecf8afdc0ba400c84bc921742be9fe4a63fdbf03cdc","f1c72d16f8460774f81d19edc0669252a2fa32de15c5d0c5024b6c7e213587de","50980b4f45fc54d0874da9ae7fed6628981b618fe7cbba94952e60479119b23c","0e8cab67ed21b45b6103c42d45abb001b7f5c03a8404a787c2adb76582bebc29","4d9c5742d3c56b0aa7f9aece6be317528d9e99f9ccccbc99f39848b7a0a47205",{"version":"6b2c934c2b6c60c98da8d9427d6838665d4fe8efb2659547663d77a3ef3ac5d9","impliedFormat":99},{"version":"43e0d6f59701298bc7ad00e73386be01dec35a0a955db7585778f7defcda70c9","impliedFormat":99},{"version":"a46fefd2d219c22b10266294269555f5ab0b13237b2a719377b6c6192a62843e","impliedFormat":99},{"version":"82805e8dbdf5f2605a4089c11a495acc7fb2f3d3eebbe510a4c8c0f60f4201c0","impliedFormat":99},{"version":"24722445a3a62cb56eb509fb24724792491ab83489a2b8c97846d72a2b013c2e","signature":"fc8a8e1e4ceb929ae6dd1bfc33612511fc100345dc02ea4140aa0f2e892f7f0d"},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc782ff85b2cb10075ecffc158af7bfb27ff97bf8491c917efea0c3d622d5ac4","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"115b2ad73fa7d175cd71a5873d984c21593b2a022f1a2036cc39d9f53629e5dc","impliedFormat":1},{"version":"1be330b3a0b00590633f04c3b35db7fa618c9ee079258e2b24c137eb4ffcd728","impliedFormat":1},{"version":"3253d41f1fefc58f0ba77053f23a3c310cf1a2b880d3b98c63d52161baa730d3","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"48dcc919f76c040a999c0d46d2bf25ab089645ca21b837f120b222f56a86cd76","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"2467b00d963828f540f4acd7910f4c04cfe4b489550e6bb682212f65583bca5b","impliedFormat":1},{"version":"854e50b93090b3f8fd6e355b074e1d24dce1ae0240f1ce46563e35fea210a6d5","impliedFormat":99},{"version":"5a16e93d5d53d987dddda1ec606c9821f6bd31d1bdf0635e05e3841312cefa8b","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"88e9caa9c5d2ba629240b5913842e7c57c5c0315383b8dc9d436ef2b60f1c391","impliedFormat":1},{"version":"ddf68b3b62e49cf6fd93ba2351ad0fbbcf62ca2d5d7afc9f186114e4b481c3cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"5757b78830c681b3124af568b94c269259ea5e8171a4316508ef67310c2ed1ed","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"69dbe5d61d2f298046513598f55bd1e719c50dfd6af2f9feea6fc84f8aa3c4bf","impliedFormat":99},{"version":"7e442e27a133b8026f45b7e2b04a7aee35dde73f48077cd0e1c6d8d7b89f1304","impliedFormat":99},{"version":"2ebe2f0255b6f301ba7bc0e10c3dda289c6cf1876f289f7a8f6444613d988e5e","impliedFormat":99},{"version":"012b5083a47ccbe050763f8df2be89daa50c1606e9a0bb31f64276d508c02d78","impliedFormat":99},{"version":"790ed69a8312f812298f3d5329e1a5198576009a8214feefa7a8d5f9dbc25046","impliedFormat":99},{"version":"96c709e09fddb3e146cdc39df645f1fde76c2bbe8f455180112af4b36811dbcf","impliedFormat":99},{"version":"7955f23e27696e82e256b5c9fd58c2a0bce85b21f2ea97584733a0456d187dce","impliedFormat":99},{"version":"2316180d3e3055f30525cc4f2c0a5d393fe5ec8de3c7a6732bd8aa7cad4b5bb9","impliedFormat":99},{"version":"aeae6c24b13d1a0c7bbc1aa2119ba91562c1b0ef89aa5aa41b1b6bb85a03887f","impliedFormat":99},"244f2d26dafad8eb5fbbda7f52fa558372b311d3fe768007775bdde801f0e1c6",{"version":"e8fc8d807069e0f94d481106510fae66792e6a66f330c45fd3c769053cfa5608","impliedFormat":99},{"version":"4c57148a2cb7736c37a7ca128fc8adec5a683413663c17604a28da143ca1a65b","impliedFormat":99},{"version":"37a5b233da6141bd6cd4e78dd8bcd9c0dd29e33ec10707cb57c66304cf743e46","impliedFormat":99},{"version":"c8e1a516135ad6fd057ddc5a01036067ff3b43b3277d18f1eb4c5df22630b50b","impliedFormat":99},{"version":"7d8b55f6b9e7a7a003063ecd596c72c23fe6d8225d6cf3e00e8b375059123513","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"55fb0f8cb5ac66d36524d612cec1415df09c4d4da07ba63fe38221e81a4b0737","5fffb2abb62be3e554943b079c8ef2d5dd4bb8373a54aab173284a96bd4ce774","4a11be49f47787b1e86cf27657d31fb3c98a1c65a935623d149db3cbfd8e5eca","fc59d4f732e424a6514fc9c3c898a330d63e21b4b850945a8c2af2caa155d76e","29b50dbd1c5c334e78a8ec8361a88be3079316f901c39b66615b41a660162dc0",{"version":"bf8716970ea00cdd194ce9d937048a9d36facefd56a4619b6dc1811d07fef85f","signature":"2c5decbc52563b489e4603e734e75ba64818a395a88d6640089460b43e6dc1c0"},{"version":"e45c2c8e531449a9746c3dc9f55fc2b9648d49757a65f25cfa3b916cd022befa","impliedFormat":99},{"version":"2883531900a29e3c7e6f8bf3a7835bce035cfb20748d8d0cfc287896c46d739e","impliedFormat":99},{"version":"22d5bafc272a4f1b6bd1aee054f08ac09a9cd90ea1a321fb9c563ae4fa3df6d4","impliedFormat":99},{"version":"c8c94fc39100a0981f81b9e9872848597575b3e3fb40a36e99de688927cb20ed","impliedFormat":99},{"version":"01545f0274a774e191f06380ddedaec2b2dfbd021ca2e8775f7819959beb2cb4","impliedFormat":99},{"version":"6c557db1095e0588b7d82d9bdd9e4328872d436a94f2025da271d5ef57845309","impliedFormat":99},{"version":"2827790fc4a5c48d032a79a8d547eca0620d7fc7c997b830417f6de5b04c7c3d","impliedFormat":99},{"version":"3f12ba187e0dc6d3586fc24a52aa80c11e8e84eb742122735bbc6f3a91044d8a","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":99},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":99},{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":99},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":99},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":99},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":99},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":99},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":99},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":99},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":99},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":99},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":99},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":99},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":99},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":99},{"version":"a82f5ba70d26e6ad9d432ab7556506d807c49f35a44af99fb8054004220aaaa1","impliedFormat":1},{"version":"4e6852cb16272dc3b8fb8ea691786bfe1692328cc9ff84cd956819c194197e1b","signature":"ed5a2f839af76f67a9999ce4d22e491a631ea158db5eb81848d62ad2c9776b50"},{"version":"781f91caaf62d093b0add69b60a3cb83d9c20362b52a82adacf883ec0a23c033","signature":"6056f5384c48e11001bd5b7d351d6036324b329f975b5e54d2c2b71619f90606"},{"version":"f424c8f51165954727c5ac5684e0a08010dcabdaabb4ad639e98a78ae9cf25d2","signature":"43610e248c9c37f8c1e78b406e06083c9ed91bd6c9c55b1a226a058a052b2785"},{"version":"7578e80c8a86bc34c5afa17a3b7674a2cf064d7972b5a64e4937400ffb922503","signature":"3a64da2dbaaea64f4834264e3c7c3e3e1c3ada3482af3a66067153bca26c04a0"},{"version":"9e8c83a4fe3c9586d744895bf50082a98069a82879963d9f794233677062b6b7","signature":"1d0156bb3dd5c0b7f50916334e78f57e8cb964997e730eaae7a852bd6a877f73"},{"version":"ebbd0c41a6e297e579e8b01b668083b9a19a370c2c442bce88eb426993cf7556","signature":"2a6864d8efb439165c54d06e1076537bfecae72743f0bf886d7d4dd037f326f1"},{"version":"48d6a957471129b99d914308ac07c534f97d9570be0ef18a9e6dbee803f59671","impliedFormat":1},{"version":"fd530c5bec0ec673875c3ca88020ad1d6cf724c536f3a8e4d25d7b096e88e645","impliedFormat":1},{"version":"90c7a9fda73928cef9023a41be545fce208546175e5b45bd988f24d4522c2a7b","impliedFormat":1},{"version":"46b55a125d671d7e1eca131a993aa0f6966a4c10e015870d430383ccb464769a","impliedFormat":1},{"version":"74157841482a1e6c20bdd62c224379a4e5f98273fe5bb96a38227ec797754fc3","signature":"a6d6b502d5540a0bca2599e1716f7b3e38098414643e16155cb2e2ca89427df5"},{"version":"d723aab8919102f129ac8f126476aea20469d473d4cc2ec5a5513c63db6d24b2","signature":"d89bd56539c435595b1f1c688996620c94c0fd23ef65b126888fe01314306b5a"},{"version":"55d3fda71889a9be10527628cc0ec7347c0dce82f3c6b065aca6b3b4d9dddac4","signature":"8dabb7da229d309e7c1dad66529738d7c7e9a996bad7c3528306dad59344393c"},{"version":"9f40aa7ae563dfd45612a547e718ec15c7cc1801183019c558bfec9b7e4be904","signature":"cf15ca354ee484f5276230e4f7097439be790dc25bf81361bbd225b4b1faa6b3"},{"version":"c6a8c230c095c57a2ebf27821b58cb14f92d72f5875118316324604852c4a3ba","signature":"db905f83d13fb701b302751026fbada25ab8c4be80eb0f710a388d28618de240"},{"version":"ec88bb2fe637034f597bc514b51c2b7796704c46dadc301a57259491c9dab24c","signature":"783a2d4ff67e8e44e02741423d039ab321aa4304cbe2a17b5846d589cbf37052"},{"version":"a8e78fa6fbed0a831830ef42df5938ebc721ea8b7cb94190972cf8b5d8375068","signature":"e4d56372c15c18fb68b034b882edde10452c8ad3a3225d89e4ff8a998f852df9"},{"version":"040ac6ae7b401467288a577d5cfb73e58f888ab83488d9ed7fdc2b23308592ba","signature":"4b0c7c6161cc3b0f414b46390232634e37cb4db905c2ccc4783e070e10dc0475"},{"version":"55792eb0b34a633e744ca74eea4a93b22a329b64e277996d08b89faca60d962f","signature":"5077cf43f15bbae0d37ca3f829caedced47cfa26de4711e24ac9b076793bac47"},{"version":"3def15280b77a6589f782a5f0b166a70aa07100e1a66e6faf4230e89fef8a371","signature":"162636cd28c27613e25108fc42519b74aa1bb731061c2f79aaaa3e6990787c2f"},{"version":"8c20a789605f6cc20a63737cdc8c1ca7dfef38d6597cd46958bb23bf80ca9e69","signature":"eb8ccfb4bb7653b462874e9ac28cdcd06d5c7743395195235d5a6671f071ad80"},{"version":"3b93fbee920bc3e83d27b15ab5d51a3a0cfa659bcc02771f9b228d8d87a26324","signature":"b63384aa94fb277d9ed1804c4f977de32a7981cccb9bb16df78a37397e34a913"},{"version":"5f98e351e4a92c276b35c90c69b35fa20122538e3ae9aaac32f93422fc02ee6a","signature":"4699cefd08ee01d20fc0cec135658f1986d913ddda5194753bad90931e076251"},{"version":"4ec626e5ecdc6cd47de4c290826a969f2f9551162816853b691cf765a9400409","signature":"ea95aac3f40a2424ada34d894514ee0ca96e28e9df638e7188cee451dd02b699"},{"version":"c3e20fce4d1c9d344bb533766069459543d9ecb1b67134dba30ea21706d49d72","signature":"0dc80c504dde90080f352b2c23714ffd2dcc99ee9c1309029df05ae804e8c5e8"},{"version":"5e8db61271ab510b2d7ac90e9dac30d467d5533731971b97e317bbe9a01a45e5","signature":"4bf32da7c20e2ecaea578d9a23b34b2ced48ad4a618b009339b01e0bedf1ae12"},{"version":"529e8d544daef015d9b7e08f3327f487ff5c1fdc9ae00969b90fe6d7f662c410","impliedFormat":99},{"version":"32d72e24ec52676fbd422d6109ba2e7326f8cb0ae09d62433609994d772b1218","impliedFormat":99},{"version":"68d7aecae568155de73f47abea696482d07d82e531829d344b5b4f2feaffc9b7","impliedFormat":99},{"version":"94c34f6addbb8215972c16680f4e122977830a4a6b72a191302915f6e6fbcacb","impliedFormat":99},{"version":"97c9b25718cea0d37894c5dd9f7e7fff4f8bcbc56ca3bba011c074560be291f1","impliedFormat":99},{"version":"abfdbcd2e417125d1b38209aa079bfec08b42611feedaebf29be8676e74c43cc","impliedFormat":99},{"version":"6d7a5d9f2190bd6d5086a130b3ef5231d7bc8a3d923133628544b265611a3afc","impliedFormat":99},{"version":"9d8acc6859de780646cb2ad73bf0b48f20f83adab18d614ba9b4f87c6046b6bd","impliedFormat":99},{"version":"7debb6b27ee0e7383618739a56fd13d9332d58a97eb1001f57ec2d4c1f133536","impliedFormat":99},{"version":"828968bfd8325c1e6b427043673be3aee122dd5125ea5ff3adcdb56cb62ac202","impliedFormat":99},{"version":"29862235bb48e3e8892a5e95aa464810a6c0282ca549f4c0f65cc2329c4ed90a","impliedFormat":99},{"version":"6b1af69b824a18b7f06a0637a1799f6697d0e0af215a2e70c7438b7413d408bf","impliedFormat":99},{"version":"3ec9cc0d5ff3509a3800802248b56f72d0bd4ddbbf4ced7238ced162f6792bf9","impliedFormat":99},{"version":"b09e328891c9b6c1e363a0dabc2b7e9bbab7ce95f4c1a42e3ebc1cb957aebe2e","impliedFormat":99},{"version":"853230b380bc84877c7e691af167bde176c500e716074acb02668713ae1b92f7","impliedFormat":99},{"version":"a861ffb4131dc6c01a9918b0c2d9eb907963a363019c8cf8441c195cc7271eb3","impliedFormat":99},{"version":"7dbfd2dc59802603b4d9d9cd35bfa777da1cd030ffc78f618701772d70c44d7a","impliedFormat":99},{"version":"0d40d64f4e5b821a820ca61cd3338fed6feaea4734081098ab99bf8b22b7a558","impliedFormat":99},{"version":"441d1761b0cdea56381964395929a7dc78cc8294f07550a4a7cbd7a471982d49","impliedFormat":99},{"version":"0a5ea01b61f08bb7fe4aee10e148a43bd63cd09c0e48c80c81853a31c63e81f1","impliedFormat":99},{"version":"0765436722d07c50dd64a72cb2ca2b828ae4d8b6c58cce1c7d69b16ed69b911f","impliedFormat":99},{"version":"a99b58cde0c933aafa9a6d539796dd39a2b6faa5868b9329611b7820e4813ed2","impliedFormat":99},{"version":"b70468dd5cce06b4500b9c744b46645bb0810bbb3f16d6f6d8a6ba099d3e3db3","impliedFormat":99},{"version":"fcad406a5312d678f0e3d9ce37e175fc3108075dda7507b33de434d815db8c3a","impliedFormat":99},{"version":"637470d7618d80acc44ce21720e911b1956fb8f35fcd7c29fca8b676569257fd","impliedFormat":99},{"version":"bbc35778ba8327cc2595d22a0492b38a4f5a23c156fe83a4f6c16e16d771a80d","impliedFormat":99},{"version":"1bf505b116e5c3adb7a621d3177726ec218b39b6fbb343a5ca9131bb4c4e4a2e","impliedFormat":99},{"version":"f8f793150b733a84ba31dc32b764f914c2b9f7ba3da22392c8700729556311de","impliedFormat":99},{"version":"52308301ab0721bea0c29c5a3286fc9af801f77107c76860958c7af512fe1db3","impliedFormat":99},{"version":"08c2ae2038dae5a129561b998d69712081de02df044668ef7c6f1a79064a781d","impliedFormat":99},{"version":"1e5ac74ec58a751a57547db79f5d0c7f55de7103b3cd608df9b865f1c20e6ec0","impliedFormat":99},{"version":"3217478b66cbc150f70691f22995b9f47d37706a904299a00cb293f8bed70a5b","impliedFormat":99},{"version":"757b25663615b67539b212022e464ab8738fe9584798abd2f1dfee3ae2bed28a","impliedFormat":99},{"version":"a4965dec5a8d5a1bd151f788d8e1e2300c4314907adc4b70e205df9bf1de1846","impliedFormat":99},{"version":"61da0187f4a66053b80903d118bcc49835a09085597419f001300e16190087b6","impliedFormat":99},{"version":"aba7430768196c0d2dda6ad7660d4bd1ce5abb9394d5ec506fddf897cd055c17","impliedFormat":99},{"version":"fef0d18210f7853a843ec8f6d8169ed6659d9cacb7a21b4e1ccc52d79cecf503","impliedFormat":99},{"version":"a20601b31b50dfe52cb6a3790977b2499dba3f590621a4a241b6b7a5a408b788","impliedFormat":99},{"version":"4d0d48b4534a83b374888c23427400974ad8e61c7d0e20c8b6e9f1ee1bc7a264","impliedFormat":99},{"version":"c89ecda51758810cde711384913cef5a52a609b120f7ff5b1b158781e8ef4a8c","impliedFormat":99},{"version":"b784c2ceea6c1279bff4ab353e5a5c5b358fde3c734fdecf85cc1db5cb44c93d","impliedFormat":99},{"version":"c08fb9233e497eb092616e3081963b6dd70103bba3ff633c072d6d944eae134e","impliedFormat":99},{"version":"3ce717047d8aa7993d8ac3c05c1719af4a4c7299bd7d2e9bda09a93b5fc3597c","impliedFormat":99},{"version":"6cabcbf5e998efa2549a3534d71f4535495687ad53f1fe345d055f5147421cb9","impliedFormat":99},{"version":"e36268446e141d540bd29d35391c14533d2de4562f2068dbfb14f5aade8813e2","impliedFormat":99},{"version":"a800401f4995f7c204a7b05fbf53224caa6f1fdc124f48aa0d0ee562cf0972d4","impliedFormat":99},{"version":"2ba4df558ac06d48bd02cc5e9c2d8a5afb3836f1d6dfbb6ff26e90b68b66e5e5","impliedFormat":99},{"version":"00780c8bb96ae1bbc2d2379b4c1ec281e708fe52ebfda507f24aa4e0c9789023","impliedFormat":99},{"version":"a73a5fd3317e948b66fa07917d15e09d94dec119897e1de780158d01cea83fd1","impliedFormat":99},{"version":"73ab4609ca508c47e721501314e36423f34f12a735fb04bbc65670a33be6ceae","impliedFormat":99},{"version":"1ae2b0f08ab3e4a81809202b17856d144be48ac64428917c7b54f5e1965a4a48","impliedFormat":99},{"version":"85d558cd59d2350273b116c240ead34786f00245c2bf147c65ffc79410e29a5e","impliedFormat":99},{"version":"816caf3469d8486812807a1eecf3b2bff4fa654abbbf07a97c4f553819ec5106","impliedFormat":99},{"version":"e25134537f026144b7cede6aea49973bed30afc37b36d1d36e6130888bc7d234","impliedFormat":99},{"version":"5c62f873da6df6521abedd307fc544d6736d04604ae168233a63e4ee38ddce51","impliedFormat":99},{"version":"58e0c95210443e453ee55336f21bb03e770430bd19722041a77a2e86fc73df95","impliedFormat":99},{"version":"0e5bf871c5afa81fd718a5b276f6a7670846ed459db52fa477267d6b9584e5d8","impliedFormat":99},{"version":"22ca8010367254aeee193d066acb7beba74fcb28c8e197bc4a4b4e4a6c3cbd54","impliedFormat":99},{"version":"a9dee488ffe1e2d5c36fcb6d051ddbab991490e1bc181824592af3e47b9590ae","impliedFormat":99},{"version":"691368eb85eb6dda063458d34b2061e66aceff8caa03305960ce1ce2596973a0","impliedFormat":99},{"version":"1b453d29404e04659bb343c2b3b1f4e5b0c980993b2b618683d748175c758798","impliedFormat":99},{"version":"991b5667ea0268fc249e7aaa8f61b546edf4ddfc5c75446b60bad452f323eb4f","impliedFormat":99},{"version":"f3c0ec27b2c3321fcea0bd90f06b3bbc036a4c53d56547a3546d3e98aa6dbabb","impliedFormat":99},{"version":"3240b3195a4a6f07397873c3d3d781d6bdac6daffef7d0e9404df25696b83821","impliedFormat":99},{"version":"8f15effea4aaabc51743128521875aba6e565e414f6d7d3311b8c2d2578e18a4","impliedFormat":99},{"version":"bd03a8a341fd6c86470267cdb4ffad025d1e31e2930c7b1b99cea0ea8ab1104c","impliedFormat":99},{"version":"db3f11cb9d283a2f6bd72d40f552921e7df63b33c8f953fc666c0c25f89a9544","impliedFormat":99},{"version":"f0c704f2d6e9a1c1af817d64c475e3060a6b61bdfe839b5d2080ea9305f09887","impliedFormat":99},{"version":"ba4471d25a0c25e54f245fbf35359e420fcd148594041a984ed021ac12c515c9","impliedFormat":99},{"version":"7ecccd7c8eb4c52bccfb5e30db1a681e6df544ffdb2e23c565b0e2765fa0c5bc","impliedFormat":99},{"version":"814ff646ef9d7ec28c867d20acdb6ab2ecc2e7620c4f06c8f5412c83e3518e7e","impliedFormat":99},{"version":"361753ee88631c6d574eceef6db3a2b73424517609fb289b37ee2b2f44762a3c","impliedFormat":99},{"version":"08fc36c68fbfb312a2a3378498c16c6db9609837cc00cd9aafeb778fb2887a03","impliedFormat":99},{"version":"b45410e6065c05621fcd1969b5afae0829cd4f0def82c8180b5302a283195798","impliedFormat":99},{"version":"74ddb9a384676ffa1e7910e5a50615c21afa55473e8f38bc38050ff2255c2d7f","impliedFormat":99},{"version":"f673abb24aaa4a63c541eef767d22e443799ddc5ab30a2269d646682a4946394","impliedFormat":99},{"version":"0c1d42ef8bcac5f74e1113e96712f5fded4971c452911263db62d98f9f51cb82","impliedFormat":99},{"version":"97e3516942284b694f1f503c8b27ecfebc229e7e190e99eb2b94da3059d0f81e","impliedFormat":99},{"version":"f0ca722c0c74e4ac885706e69e65291f8947ac5e7fae8df529cf70248bcee262","impliedFormat":99},{"version":"a90c4ed5b632a156a7682988502d5bfefc4048ff4c41d0fa505badc0c3892545","impliedFormat":99},{"version":"376eef489231c1d626a6f24d89c1029d907ad7918c0a7191419ee6be69cf90ab","impliedFormat":99},{"version":"84a68486a1e143e34a165bdc64707e74d33118a1c6adde37591223503d4e8870","impliedFormat":99},{"version":"71d6cca9ebf54d9b498f684827c00002b1cead83eb441356d49d4ce1c9759301","impliedFormat":99},{"version":"ed603cbd399f1e16d867c0498432a0c5a2be988e1162e311cfc188e919b08264","impliedFormat":99},{"version":"07012806da1431175d778c424b18c305f44bd83941851ce17d181cd46aaa3562","impliedFormat":99},{"version":"cc0af6c56da3ab10ddac0b3c805d652bf0521be6b04f83afb9baa4df1415b313","impliedFormat":99},{"version":"b7aeb363b1649acac16d5b469685e2a067ff4dc8b0b2125bca941dbb6d63e7c0","impliedFormat":99},{"version":"365add36523973ead594068a69de6a4aa5503bfed8eddd670414dfac63944876","impliedFormat":99},{"version":"83347d14f89b7d139ce2791c99b35d2b94440d76968393709964ced55b6fd85f","impliedFormat":99},{"version":"7c124c9680eb1e83dac58588d8adba36bf737ac6b3e84779b57fd2df143b137e","impliedFormat":99},{"version":"ae7cc7b326cfb2845cd76f39e445d68a5832ee3e9297615c296bb87f8f9f1c81","impliedFormat":99},{"version":"db70fa65c1194a3707ac38814e7c27321de530660b36c029bf2a4987ce89b319","impliedFormat":99},{"version":"ec22e0ef253901f5af0faf767e6a1a8bd23fb0308f282dd03b8da7097ba44973","impliedFormat":99},{"version":"63c818016d858b372d05593bfcfbf5ffcd8898e0a3877057b24f7de6a4fe9abc","impliedFormat":99},{"version":"4d9bb1151b6d71e58d9333ec33e2a20c09ce5baaf20b08d70f7ea1a4ded3c682","impliedFormat":99},{"version":"53580dd58259b91b24f63dc36083414558cab65cd622e88c3a6ba403c753c44a","impliedFormat":99},{"version":"5a72a1a08a5a56f38b2ef6a39dd31c59e0e9ba59c7d480dbdec8cac0c3d2c9c5","impliedFormat":99},{"version":"41dc9805e5387625abb6466f9dad47048aab6cfc4a49885a17a65e662ca6d055","impliedFormat":99},{"version":"aa39ccd035dcf30f31ae0cd380e4d9e265c24e4e0914cd2e7862a392d74314b3","impliedFormat":99},{"version":"fde1d645673ad1273c0a347e97528e7830f4877c1fc58966a4a7ff386977aaac","impliedFormat":99},{"version":"aed8029500a40d0b604a1925f0ad677e9b2319a95afbf38168689c5a771389af","impliedFormat":99},{"version":"41931e7f38f9d140b01f98af2234df54cd48e640012fc7ec781e8d49bef24ba5","impliedFormat":99},{"version":"c0c93965e04da47f347f8ca064d35848d46df9674d087fcc6f0c1b4ae6e93582","impliedFormat":99},{"version":"5a7c8905855ce422199dcd9f09c4c776ceb66c91198e459e13fe72c0f067b63f","impliedFormat":99},{"version":"f9f583970f896ce64d652ad2d446be0c9c86bbf1edba79c319bac296c3ae51a1","impliedFormat":99},{"version":"b9c289167bc15bfbd04b01165d9ba6794ff9c633d72d7da8b990d359ca8d7e2b","impliedFormat":99},{"version":"b64d7e023d522acc0195da49af07a1dab57165a58f6d87b5f750f12786065344","impliedFormat":99},{"version":"feaeadcfe3c44fbf3dd427110db8adf8cefe45dffde44c5ba6a743e15b39a366","impliedFormat":99},{"version":"6944a8f65e43f69e025dd6c9c9c812d34be4544ea9bc7b7c02a5b7ba2f558d84","impliedFormat":99},{"version":"0a87063988c2bca33973431320c220a3d8785d727f163184231bc5550b2c7ef0","impliedFormat":99},{"version":"57e468e73b39b2acca2ebb9e7afd847c6d3c6a8f41663da32f2aeaba5b097dc6","impliedFormat":99},{"version":"2930836e99dd2487442b71968ef1761a57f431e10b7c4ef3d62709c09bbe5240","impliedFormat":99},{"version":"91ba95d318aa35b2e383b7cc3655c56701010c3d7428e1decdb4ecd6981dadce","impliedFormat":99},{"version":"56b556db5061b0ff674cc06a708d7c6674f05f03de1c94d29c52cee5ed86922f","impliedFormat":99},{"version":"e62ef9a4c1e94586a6718189ba5be349b9a5f222169c16353f270ba0ed7da65d","impliedFormat":99},{"version":"752de46112146307379db6263890bf0a48c47f87a33335fabf53543e246e60d9","impliedFormat":99},{"version":"d9e55de2e36ed1d789753b2890ead19a590406c934bf15f5c7ea43ce6fa78ac6","impliedFormat":99},{"version":"06b7ca3e1c5036f619676330c1f754b1fcab751bbf42edce96bf1819cb6986b4","impliedFormat":99},{"version":"6fdf2d53dd4c8b74d28f26ede7b2e4c0cd3d3480f13f24fcdb89405bf88180b4","impliedFormat":99},{"version":"019e3d5c3097cbcd014394ce6943ee7eb4857948bf5951dd5c048254f3e6dd96","impliedFormat":99},{"version":"02c24f59a057d82eca00a59a2b17c9d10fb7f24b9d4875fba491959a6b5521e0","impliedFormat":99},{"version":"a53ec27d1cf48bb349d4564eecdf9f07bf5b1bcf2781d0a966411152316bd006","impliedFormat":99},{"version":"513c4869a1961af24e40b59a23ce4312682e9275288409870c40496aa389caa6","impliedFormat":99},{"version":"ee1a2bbd2002638a9625fd7fba1ab1e183559bfb68146f571ed7e4f4cf72d009","impliedFormat":99},{"version":"bc87842e67e3876a7194c5d64198b4829416dd8c8973601b3d64e7f766376363","impliedFormat":99},{"version":"c7741d898b0bbb21e03d0b8b12bf5baffe664c862b4d4425c998cc6b7a990705","impliedFormat":99},{"version":"873eca5a1a7017ebf220122e4e53dc3a6a3d2870d3ff5b171ad8f79b9b8aefd1","impliedFormat":99},{"version":"b08f9a4096d9be0571dd7dcb8d5882e2c57b3d35285e36d5fb14412baf947623","impliedFormat":99},{"version":"399dc26e4eb6aadaafbccca2cfe58c6fc2c815bdcc0ec437549a0b0c87ae5e37","impliedFormat":99},{"version":"0c4d7b8498cba32d6b066a604ebe085abc646298e6ecb6369f3a96ebb774572f","impliedFormat":99},{"version":"00627e9d43b0bfd72b337c90bfc9014fa72e8247ce5dd1495d59236b4aad3a8a","impliedFormat":99},{"version":"3af1b0691303967f388f600d28350ff71e3c4a9dee3056682620850440b6c03e","impliedFormat":99},{"version":"fa7c18eb36a647a628bc9b8389e7b09660f01bf3db4885362efc820589b54b48","impliedFormat":99},{"version":"41f025e7098cbdf6b6e18a7112385b0fab4b1c0f3f9f80dfb55dcc4429b880c0","impliedFormat":99},{"version":"86ebb0cdb36cc752597ae8d300148180d8eec489f6025ea5911fa2cbecece081","impliedFormat":99},{"version":"727a4bf89e28dc475c5f9316eece04b14a4b6b9ab277834364239e2f1d2cd9f7","impliedFormat":99},{"version":"e734b00337e9fc0a8e83365a26428106f479dcd1abc73a8779967bc827f11e3a","impliedFormat":99},{"version":"243fcd2ad3ecad05cb2e71c231ca596bc3c6c4e489e1619c52649f0e546dd26d","impliedFormat":99},{"version":"f0bb27764e181cceed0bb72f109d8b36ea2707b0f225d715f46654bb9b016393","impliedFormat":99},{"version":"118febbc2df8a862260272bba28eb7461715e1dd281b32d19da6248757350e87","impliedFormat":99},{"version":"e67ace7307642b735b7e96bb97ff9138690acebab53eaed61347427753e4d1e1","impliedFormat":99},{"version":"87a8be4c77085ca8144892dc15708da857c6a0c4013b470520831405fae88533","impliedFormat":99},{"version":"2499f46ec67f9e5204492d07e9026b1bce446d5da2d1bb4a10ae0c4447a289af","impliedFormat":99},{"version":"116c79190f08958c32c45a4f72fdcdf58df72416b32b1d54d6947b13c850201c","impliedFormat":99},{"version":"4d5a44f03a7ab2527a59afa9d14fd6bc43e37cfb98c3ea667fd46a572fe89bc2","impliedFormat":99},{"version":"3979accfb06995b82ea963a62b176ff8dbf1af7e69071b3092d1d2e6036c3cec","impliedFormat":99},{"version":"e2404517591b13257cafcab1ec9d70a2d346ed5318fed639fd699107a21545cf","impliedFormat":99},{"version":"1c787e56dba48445aa569557505d5768a3a61522392c7c25953464047b849e2f","impliedFormat":99},{"version":"0ac9ec624ddcf056cf7a2c7d60d8325b741ab9bf80cc5c18449c7e1ee75ad118","impliedFormat":99},{"version":"5681612b1dc37cf330b971d4f1f77fc48cbadc18c654f34e1a0416a99fa2c709","impliedFormat":99},{"version":"df3d6522a17005c6d7c495338111427eb02490ed1377228918c255c3b26a5be1","impliedFormat":99},{"version":"4f819f882eaf41c8e1f0d9272c5bbba78f2023ba3fe9596e240160502ff210f9","impliedFormat":99},{"version":"62880ea3cb43d6cbeaecb6d6960bba625a670806cd82eb960ba2a2aeab736eac","impliedFormat":99},{"version":"8e1605d1a47bf1dc3de175bae994f49372014e8ba6497933d2cb299c408dda09","impliedFormat":99},{"version":"3106b775494342e60566941c9dd32bcd3380179bf525edf6626da1ddcbcd3632","impliedFormat":99},{"version":"41b136e657c05de5bf2aa8639221233f31af4b631626c6754c22560549e91a6c","impliedFormat":99},{"version":"b4632f6b4b271a0f6493a15493d0f09427ea6a9b9b549835a81dd31718dbd19b","impliedFormat":99},{"version":"424263d511a2b06f5b574cb8caa6913ce277d964147ee6cf503a8f7869431622","impliedFormat":99},{"version":"91f6140bfa7d4cf2261063d9537451a20d74fc43e53450225ee9e665016b1ff0","impliedFormat":99},{"version":"36a765deb941f868aa002fa67b4809f5bb47a10ff66a15add6dfd26e330afb19","impliedFormat":99},{"version":"6f4233b155fb5052e2f583356c523fabd40dd3a9aaef05c694e6bbe538c9c27d","impliedFormat":99},{"version":"668cf592e0904f4c34423c081350dc92c1d475a9c52889ffee29149da79fdd0f","impliedFormat":99},{"version":"3e33611f899366ec8fd1dd6920684b5a5fb9572ca05f1a12f401440923fdf21b","impliedFormat":99},{"version":"079a065101f29951aac337a2308f942c6d93296b8340f2b5004aa48aa289562c","impliedFormat":99},{"version":"3bff6d4ded0ddb4d2e704f1d274292d9cbb65ff60a8ba8595bfdce822321a736","impliedFormat":99},{"version":"91ab85a45434660cb3367c73142543efc66a5fa8e5a2ca954a8e1af4581605ef","impliedFormat":99},{"version":"d9cfc4635923eb5c22406f97afdaa0272115af9cfe0fa3f33cd96fa5589187e6","impliedFormat":99},{"version":"f7c3dd2a55fd5136bebb43583a30ed46da2cf5e6afbc17222b9ceedad5b7383d","impliedFormat":99},{"version":"f688655ca29d12dafe5897efb7063979c9eb590e62358504629225003e841d34","impliedFormat":99},{"version":"057739a174619fd0ed493f452fc14a667284fe44f0a08310b31a7f6422b84b06","impliedFormat":99},{"version":"c93faec8d643450e5e92f08e34be9329cd7f57a456deae018059e3d7b5f7b928","impliedFormat":99},{"version":"124d28a946ba2b461c2ce75a511124420bd7fdcd699051d905d72d509480d6d6","impliedFormat":99},{"version":"82ab37de5dad558cf74f37a6a033f189480181f8ddf2ea096a60ac28925e1869","impliedFormat":99},{"version":"1cb84b25ea1ecb1900ba700c4907eff062b82b17af512aadef921f76242bec89","impliedFormat":99},{"version":"de0d1b781852e2255de97ce91986df37a025f541b8926851ba1435b693ab864f","impliedFormat":99},{"version":"edce5ab61d202d17d023694b94990c99ef2fef531f705361bfcb82f6a256758f","impliedFormat":99},{"version":"0fe6c53bfea404986540d104103db46224830f6912963c90d20f4c195c7000aa","impliedFormat":99},{"version":"bcb657aab954c02a8a48b50236bb889091167c651673e15d016a2e1978ce2691","impliedFormat":99},{"version":"a126ffd129b033365e8162598efba980ca90bfc0a6cc41d5152fce11896d56e7","impliedFormat":99},{"version":"66c5847742803134b02bf07c53997c8dab3e4bb4ff428ef861a2450bf7744f61","impliedFormat":99},{"version":"3e80ac50e17c60be70575505005c9c28fd69150273ced8d50d73eed68cfdbf16","impliedFormat":99},{"version":"67022bb9c3b2174baf06917f426d832e447b2e6865be713b9fc18082ea437a51","impliedFormat":99},{"version":"1f3a97a978eaaf934f1f92682bf05bcfc11b8b4a00821d6e4d8c7d6bcff0fc79","impliedFormat":99},{"version":"a771f93d971c945eacad088d558d2015aca8ac0bc533ada8e317f3883f105f32","impliedFormat":99},{"version":"d5d9ba4cdb84bb2cb3207bb01e4ba70ac6ba3432cf6963b028c06388b0cd8656","impliedFormat":99},{"version":"cdb6410d699f7e0833b9e30c344c541c7ee94abe6959a4b714eb98dcda4bfa29","impliedFormat":99},{"version":"9fc6a5e9bb59cf074c5f26e636291aca55429165b98a5ecff9aa4830518f6588","impliedFormat":99},{"version":"3f0a17b44c005c05b97d6c225f6e55141ed3a08fc8b80325b83d3837c911b1ae","impliedFormat":99},{"version":"e635757f7088be7d099538d9cbc5e555782993605879b530ab5f1993312928af","impliedFormat":99},{"version":"292673f53fe0a33f69ce57ca0a4816c6e93e7213af687247021ab6fb3fef3f69","impliedFormat":99},{"version":"0e6ef2d24419cca5b5f020f5f926c24a8a50fb77062feb87f0d759b4455c31b3","impliedFormat":99},{"version":"5b67e62aa4c0817a18ed22992e3a328f2b6402bd2ee4f9ae2dd66a3c3486529a","impliedFormat":99},{"version":"e4e21d158ac452364c3bff7b7899ef0b0515d7abb8e8e596a0bb5e893e5a4f84","impliedFormat":99},{"version":"74d927443bacd8d7d92a6a377a728e74b1a3ced3c5d96bc04634abb234ed3a8e","impliedFormat":99},{"version":"94c3242169324a0b2212dc12395d17aab5a96b23267f03e0e4142e2cc134c7ec","impliedFormat":99},{"version":"4a2770e5c1e17db9373ebd92981ba74ca2059fc1f7c88491e401875fd298dc7e","impliedFormat":99},{"version":"a6ffcc079abed93c28a5b74bfa4ed694e8d810b21ca649523e098d126791432d","impliedFormat":99},{"version":"ba669ede8b934c54f211323b782c1b65e423db29965a4c68ca3e8bd984033f10","impliedFormat":99},{"version":"cfa6e2117c4f2855c7a4866d03a146c4d2dbd65e7eee5e0182298e630ea8f7af","impliedFormat":99},{"version":"50596833b2659cbe98f138d233ab3da041734f73a82e96873ccb5056a94f3389","impliedFormat":99},{"version":"75dd74b7c8bde65a3fe491d088b671b75c60ea6a5795c651d8f929dec7bfd0d8","impliedFormat":99},{"version":"621cd97ca6ba2df7b66b773cd4e0126f959d56db59bbc262dfe627e9c0b89841","impliedFormat":99},{"version":"e19cf00b7cc08a6559f1fd47bd100c54d5989a96973b58a8980490f285fe18a8","impliedFormat":99},{"version":"cbbf88f53c2d00ec848ea9781ff435afbd6776f9dae08ba685e6f64a33711984","impliedFormat":99},{"version":"20c145001d9d205002526fa1c26151b8942b3efa99409442aa1f0c55f8a97e26","impliedFormat":99},{"version":"8615e46872d20ffe0a8ff44b9ce593f64f79a8d309ac4859e8b59906f9aa8762","impliedFormat":99},{"version":"4416521a9e7133d2e680e2977251ff783416b6bd03c5cd75bb4f47a98c128b3c","impliedFormat":99},{"version":"31d45c45e7b924c77c906237b00fe87358cc25e5e6d4771ac96c1da382b47c94","impliedFormat":99},{"version":"25a333b9b2020a43a5c4a75c277741c7ede6c01461105b5d0768aaa461de6938","impliedFormat":99},{"version":"cd154bdd2fc6cf16712e99dd953c7d0a00aa6ee37c7235f04f516cd7a2e23095","impliedFormat":99},{"version":"8672389ff1c732976deb46c971a8c21f98bdb6ea7ee73632216679d2d3a1d723","impliedFormat":99},{"version":"13346c4fc0d11d920ceb9c423a5699a77e9fc3cdf1a503bbea3f545b72ed4736","impliedFormat":99},{"version":"e107d19bb5575d072a6ef55c1d7c92df4364b7790e27ef034d43fcf11088f314","impliedFormat":99},{"version":"676d3c55c65df11cb1445503548bd4038373ce1c1e17fa1261a554df225802bd","impliedFormat":99},{"version":"a8ea887074dfa326c0b81b7726adfcf73da08b02f6d12dcc4b51ae874be45a20","impliedFormat":99},{"version":"ec1a0bd6e9cf024cbfdeeed1524c9c00b409b661871007fd4f61b22b16b597f9","impliedFormat":99},{"version":"a75c3ddc29c89704de18a47258b33ffa4236e89d2a6c7ef64d00d9b3a593ccf2","impliedFormat":99},{"version":"0e638ebfddb73f8a5b07d61da9496e3d95de249e92929970898c3725d509b0dd","impliedFormat":99},{"version":"aa6c68ae030bc57e2cf901448a1ab94f340bab7dfe544b45f8469ecc8fb11e54","impliedFormat":99},{"version":"b66fa60a872678cef7d7b8439b1ccb4b87b09aa2cede6e1dd893445fbaa07d63","impliedFormat":99},{"version":"f6c181d754f301199d23bd69d50733b29864682b7b5f714edab4841e50b0fd3c","impliedFormat":99},{"version":"eddddd25770a1b5deff6e3d5e83b57f25f90addf14ff89bee3c90867f855a4a4","impliedFormat":99},{"version":"12ec85018c44b688d4b43ee8e9c295dc9bc50c372cdb2c43e4300815fb280b13","signature":"e413731859df9d5042b5cc02864b21c5c14e2a05bf61d5a1df15e52d07c9da06"},{"version":"19fd024da0861620adcea5d685abaab76e4c8b0503050b5668b8f6e7eaa742c7","signature":"18eaffa01060741793fa65c92bd20079d403d508fe4609d4b1d6976f981b47be"},{"version":"065ee3c67961cfc048984563d5010fab758801f425dca4680cd885161a5c10b5","signature":"c1d1fe6e43255e797b27d33ac1eecf5aca2247f0d66fc973606b91cccb474f4a"},{"version":"9cc3659806ed767c2da857fa279b41ec766cb9286ccd996af81bc35dc04de7d7","signature":"7fcd2915958a1bc274ec660557d8a40a01860984c3cbe7d0f384c00c6fd3bdfa"},"da5484dc1b28a0c471c4f63f1845d1528a687179e3ce7612b183a4bc0c96b716",{"version":"6754ebd1cd458ddbb814bbecac8b7b928e342f18c00c9cfc2fed941384b223ea","signature":"fa3c1719a4e5e5a3b19c8b124733c76b092cf222343bf771042c55a4ba23a5d8"},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"49ab4f1d153a252779958fc87b700743d32b5ffa42addd70ae23ad3f429daa5c","impliedFormat":99},{"version":"53cf4076f42b29b8d411259d168d51b3a0274c42c8814e5b44dfa8803a35d4fc","impliedFormat":99},{"version":"a39461ee1f27cf3e6cfd63d21045713d26d521da55ea4d8efccb705f689e6dbb","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"2b39c6cf59088713babbfc3e20ee85f1375d40e66953156fa658346b8346f24f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"8e9b84bb5753e12338955d809df91e1aecb30ae7694a42924f0403c5a384df07","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"625ad7db98c5285e0316f386781f4e248202ec6b81f6a119bacb0b7e9b99202d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2219c59b065964ea360dd46279cfddb05dc65087bc24b473a22219d8e9de327f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8b344907e7dcabe9451420384ae1ee8be1783eab2a42031c3af8466fdfbf5e94","signature":"ca5ad4ada07952d46cf3bd93a555fa522e1ba75c0d077d573bb942ed8331dc15"},{"version":"4e319b34066129c8aab02dd0eb0e01d6b7e91f62e2c00935b3b51edb938c8f87","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"12e19a23fcbca6ead1f210742f4cb48ad9fc20ee20fedb4a7ca06db4a4d989b1","signature":"a034d5b2ed55f8d8f04c40136d06f2b971cd01b13796c3a2b08e8d24dd232258","affectsGlobalScope":true},{"version":"b3d266af646c926702812fb1ee522b73b2e37b1879fcbf474966f6627442486d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fe57bf02ea26f012ef3f6e43e100b2b20018ecc93324cc7d88faf0ad9b9b39e9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[597,965,[1004,1009],[1014,1029],[1252,1257],[1307,1314]],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":200,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[580,1],[946,2],[567,3],[565,4],[563,5],[562,2],[566,6],[560,6],[564,7],[568,8],[570,9],[558,2],[574,10],[577,11],[950,12],[948,12],[579,13],[576,14],[578,15],[575,2],[569,16],[571,17],[561,2],[958,18],[954,19],[955,20],[956,21],[957,22],[820,2],[789,2],[1285,2],[596,23],[593,2],[595,2],[966,23],[594,24],[1288,25],[1286,2],[405,2],[406,26],[407,2],[399,27],[408,2],[409,2],[410,2],[394,2],[397,28],[395,2],[396,2],[411,2],[412,2],[413,2],[414,2],[415,2],[416,2],[417,2],[418,2],[419,2],[420,2],[421,2],[400,2],[398,2],[422,2],[423,2],[424,2],[456,29],[425,2],[426,2],[427,2],[428,2],[429,2],[430,2],[431,2],[432,2],[433,2],[434,2],[435,2],[436,2],[437,30],[438,2],[440,2],[439,2],[441,2],[442,2],[443,2],[444,2],[445,2],[446,2],[447,2],[448,2],[449,2],[450,2],[451,2],[452,2],[453,2],[401,2],[402,2],[403,2],[404,31],[454,31],[455,2],[493,2],[494,32],[495,2],[391,33],[496,2],[497,2],[498,2],[386,2],[389,34],[387,2],[388,2],[499,2],[500,2],[501,2],[502,2],[503,2],[504,2],[505,2],[507,2],[506,2],[508,2],[509,2],[510,2],[492,31],[390,2],[511,31],[512,2],[513,2],[546,35],[514,2],[515,2],[516,2],[517,2],[518,2],[519,2],[520,36],[521,2],[522,2],[523,2],[524,2],[525,2],[526,37],[527,2],[528,2],[530,2],[529,2],[531,2],[532,2],[533,38],[534,2],[535,2],[536,2],[537,2],[538,2],[539,2],[540,2],[541,2],[542,2],[543,2],[544,2],[545,2],[554,39],[553,40],[552,39],[610,41],[875,42],[611,43],[609,42],[876,44],[607,45],[873,2],[608,46],[598,2],[600,47],[872,42],[641,42],[1003,48],[1289,49],[1296,50],[1297,51],[1295,2],[1258,2],[1267,52],[1266,53],[1290,52],[1274,54],[1276,55],[1275,56],[1283,57],[1282,2],[1265,58],[1259,59],[1261,60],[1263,61],[1262,2],[1264,59],[1260,2],[1287,2],[599,2],[993,62],[990,2],[992,63],[991,64],[1000,62],[999,62],[1001,65],[998,66],[996,62],[997,62],[994,67],[995,62],[382,68],[91,69],[331,70],[90,2],[93,71],[380,72],[381,73],[89,2],[383,74],[164,75],[108,76],[131,77],[140,78],[111,78],[112,79],[113,79],[139,80],[114,81],[115,79],[121,82],[116,83],[117,79],[118,79],[141,84],[110,85],[119,78],[120,83],[122,86],[123,86],[124,83],[125,79],[126,78],[127,79],[128,87],[129,87],[130,79],[151,88],[159,89],[138,90],[167,91],[132,92],[134,93],[135,90],[145,94],[153,95],[158,96],[155,97],[160,98],[148,99],[149,100],[156,101],[157,102],[163,103],[154,104],[133,74],[165,105],[109,74],[152,106],[150,107],[137,108],[136,90],[166,109],[142,110],[161,2],[162,111],[385,112],[92,74],[202,2],[219,113],[168,114],[193,115],[200,116],[169,116],[170,116],[171,117],[199,118],[172,119],[187,116],[173,120],[174,120],[175,117],[176,116],[177,117],[178,116],[201,121],[179,116],[180,116],[181,122],[182,116],[183,116],[184,122],[185,117],[186,116],[188,123],[189,122],[190,116],[191,117],[192,116],[214,124],[210,125],[198,126],[222,127],[194,128],[195,126],[211,129],[203,130],[212,131],[209,132],[207,133],[213,134],[206,135],[218,136],[208,137],[220,138],[215,139],[204,140],[197,141],[196,126],[221,142],[205,110],[216,2],[217,143],[556,144],[557,145],[555,146],[96,147],[288,148],[223,149],[258,150],[267,151],[224,152],[225,152],[226,153],[227,152],[266,154],[228,155],[229,156],[230,157],[231,152],[268,158],[269,159],[232,152],[234,160],[235,151],[237,161],[238,162],[239,162],[240,153],[241,152],[242,152],[243,158],[244,153],[245,153],[246,162],[247,152],[248,151],[249,152],[250,153],[251,163],[236,164],[252,152],[253,153],[254,152],[255,152],[256,152],[257,152],[276,165],[283,166],[265,167],[293,168],[259,169],[261,170],[262,167],[271,171],[278,172],[282,173],[280,174],[284,175],[272,176],[273,100],[274,177],[281,178],[287,179],[279,180],[260,74],[289,181],[233,74],[277,182],[275,183],[264,184],[263,167],[290,185],[291,2],[292,186],[270,110],[285,2],[286,187],[104,188],[97,189],[146,74],[143,190],[147,191],[144,192],[342,193],[319,194],[325,195],[294,195],[295,195],[296,196],[324,197],[297,198],[312,195],[298,199],[299,199],[300,196],[301,195],[302,200],[303,195],[326,201],[304,195],[305,195],[306,202],[307,195],[308,195],[309,202],[310,196],[311,195],[313,203],[314,202],[315,195],[316,196],[317,195],[318,195],[339,204],[330,205],[345,206],[320,207],[321,208],[334,209],[327,210],[338,211],[329,212],[337,213],[336,214],[341,215],[328,216],[343,217],[340,218],[335,219],[323,220],[322,208],[344,221],[333,222],[332,223],[100,224],[102,225],[101,224],[103,224],[106,226],[105,227],[107,228],[98,229],[378,230],[346,231],[371,232],[375,233],[374,234],[347,235],[376,236],[367,237],[368,233],[369,238],[370,239],[355,240],[363,241],[373,242],[379,243],[348,244],[349,242],[352,245],[358,246],[362,247],[360,248],[364,249],[353,250],[356,251],[361,252],[377,253],[359,254],[357,255],[354,256],[372,257],[350,258],[366,259],[351,110],[365,260],[94,110],[95,261],[99,262],[384,2],[1303,263],[1305,264],[1304,265],[1302,266],[1301,2],[1002,267],[989,268],[988,2],[1013,269],[1012,270],[1011,271],[1010,2],[959,272],[947,273],[945,274],[944,275],[951,276],[949,277],[952,278],[581,272],[897,279],[902,280],[909,281],[892,282],[645,2],[653,283],[793,284],[796,285],[768,2],[781,286],[788,287],[670,2],[770,2],[651,2],[767,288],[813,289],[652,2],[643,290],[795,291],[797,292],[798,293],[870,294],[762,295],[715,296],[775,297],[776,298],[774,299],[773,2],[769,300],[794,301],[654,302],[840,2],[841,303],[681,304],[655,305],[682,304],[718,304],[621,304],[791,306],[790,2],[780,307],[887,2],[630,2],[908,308],[848,309],[849,309],[845,310],[926,2],[745,2],[850,311],[846,312],[931,313],[930,314],[925,2],[696,2],[748,315],[747,2],[924,316],[847,42],[701,317],[708,318],[710,319],[700,2],[705,320],[707,321],[709,322],[704,323],[702,2],[706,324],[927,2],[923,2],[929,325],[928,2],[699,326],[918,327],[921,42],[689,328],[688,329],[687,330],[934,42],[686,331],[675,2],[936,2],[937,42],[938,332],[613,2],[777,326],[778,333],[779,334],[617,2],[782,2],[637,335],[612,2],[862,42],[619,336],[861,337],[860,338],[851,2],[852,2],[859,2],[854,2],[857,339],[853,2],[855,340],[858,341],[856,340],[650,2],[647,2],[648,304],[802,2],[807,342],[808,343],[806,344],[804,345],[805,346],[800,2],[868,311],[642,311],[896,347],[903,348],[907,349],[736,350],[735,2],[730,2],[883,351],[891,352],[763,353],[764,354],[843,355],[752,2],[866,356],[740,42],[757,357],[869,358],[753,2],[756,359],[754,2],[867,360],[864,361],[863,2],[865,2],[760,2],[839,362],[625,363],[738,364],[742,365],[758,366],[761,367],[750,368],[743,369],[890,370],[816,371],[734,372],[622,2],[889,373],[618,374],[809,375],[801,2],[810,376],[828,377],[799,2],[827,378],[606,2],[822,379],[646,2],[842,380],[817,2],[631,2],[633,2],[772,2],[826,381],[649,2],[673,382],[759,383],[679,384],[739,2],[825,2],[803,2],[830,385],[831,386],[771,2],[833,387],[835,388],[834,389],[783,2],[824,2],[837,390],[733,391],[823,392],[829,393],[658,2],[662,2],[661,2],[660,2],[665,2],[659,2],[668,2],[667,2],[664,2],[663,2],[666,2],[669,394],[657,2],[725,395],[724,2],[729,396],[726,397],[728,398],[731,396],[727,397],[638,399],[717,400],[886,401],[884,2],[913,402],[915,403],[879,404],[914,405],[626,406],[623,406],[656,2],[640,407],[639,408],[635,409],[636,410],[644,411],[672,411],[683,411],[719,412],[684,412],[628,413],[627,2],[723,414],[722,415],[721,416],[720,417],[629,418],[871,419],[671,420],[878,421],[844,422],[874,423],[877,424],[766,425],[765,426],[746,427],[732,428],[714,429],[716,430],[713,431],[836,432],[737,2],[901,2],[634,433],[838,434],[885,435],[744,2],[674,436],[751,2],[749,437],[676,438],[811,439],[880,2],[677,440],[812,440],[899,2],[898,2],[900,2],[882,2],[881,2],[814,441],[741,2],[711,442],[632,443],[690,2],[616,444],[678,2],[905,42],[615,2],[917,445],[698,42],[911,311],[697,446],[894,447],[695,445],[620,2],[919,448],[693,42],[694,42],[685,2],[614,2],[692,449],[691,450],[680,451],[755,2],[815,2],[832,2],[819,452],[818,2],[703,326],[624,2],[712,42],[888,335],[895,453],[601,42],[604,454],[605,455],[602,42],[603,2],[792,2],[787,456],[786,2],[785,457],[784,2],[893,458],[904,459],[906,460],[910,461],[912,462],[916,463],[920,464],[943,465],[922,466],[932,467],[933,468],[935,469],[939,470],[942,335],[941,2],[940,471],[559,2],[551,472],[548,471],[550,473],[549,2],[547,2],[573,474],[572,475],[821,476],[1032,2],[1035,2],[1038,2],[1250,477],[1033,478],[1053,479],[1030,480],[1037,481],[1249,482],[1223,483],[1224,484],[1209,485],[1058,486],[1210,485],[1211,487],[1085,488],[1047,2],[1226,489],[1225,487],[1202,485],[1203,487],[1083,490],[1082,491],[1049,492],[1149,493],[1155,494],[1150,495],[1152,496],[1151,497],[1156,498],[1154,485],[1153,485],[1040,2],[1041,499],[1157,500],[1159,501],[1158,502],[1048,503],[1050,492],[1146,2],[1088,504],[1144,505],[1143,506],[1163,507],[1162,508],[1161,509],[1160,487],[1103,510],[1061,503],[1212,487],[1042,487],[1046,511],[1140,512],[1145,513],[1065,514],[1148,515],[1213,495],[1087,516],[1044,517],[1066,518],[1094,519],[1095,520],[1093,487],[1096,521],[1214,485],[1207,522],[1215,487],[1051,523],[1084,524],[1054,525],[1055,526],[1164,2],[1165,527],[1166,528],[1169,529],[1167,530],[1168,487],[1228,531],[1227,487],[1147,532],[1172,533],[1170,487],[1171,534],[1204,535],[1135,536],[1137,537],[1216,487],[1139,538],[1080,539],[1073,525],[1076,540],[1078,541],[1081,542],[1075,543],[1074,487],[1077,544],[1079,545],[1141,546],[1052,2],[1059,547],[1217,548],[1218,549],[1060,2],[1089,550],[1142,551],[1219,487],[1220,487],[1092,510],[1136,549],[1067,552],[1056,553],[1101,554],[1098,554],[1097,555],[1100,556],[1043,557],[1205,558],[1173,559],[1177,560],[1174,561],[1175,487],[1176,562],[1064,563],[1180,564],[1178,525],[1179,485],[1182,565],[1184,566],[1181,532],[1183,567],[1068,2],[1086,559],[1091,568],[1090,569],[1138,570],[1186,571],[1185,525],[1206,572],[1071,573],[1070,2],[1102,574],[1134,575],[1133,576],[1187,485],[1188,532],[1189,577],[1194,578],[1190,487],[1191,487],[1192,532],[1193,579],[1099,487],[1069,2],[1057,580],[1045,487],[1195,525],[1196,485],[1198,581],[1113,487],[1197,485],[1114,582],[1104,583],[1105,584],[1132,585],[1108,586],[1109,587],[1112,588],[1110,589],[1111,590],[1106,591],[1116,592],[1115,593],[1107,487],[1126,594],[1131,595],[1127,596],[1128,597],[1129,598],[1130,599],[1221,600],[1072,601],[1063,602],[1062,603],[1117,604],[1118,604],[1199,2],[1200,605],[1125,606],[1201,607],[1119,606],[1120,606],[1121,608],[1122,604],[1123,609],[1124,610],[1234,611],[1231,485],[1230,485],[1232,485],[1233,485],[1241,485],[1236,532],[1238,2],[1240,612],[1237,613],[1239,614],[1242,615],[1244,616],[1243,617],[1245,618],[1229,2],[1246,619],[1235,2],[1222,487],[1039,620],[1247,621],[1251,621],[1031,2],[1036,479],[1034,622],[1248,623],[1208,624],[971,625],[972,626],[973,627],[968,628],[970,2],[967,629],[969,630],[1291,2],[1284,2],[87,2],[88,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[71,2],[12,2],[72,2],[73,2],[74,2],[75,2],[76,2],[1,2],[77,2],[78,2],[13,2],[79,2],[80,2],[81,2],[82,2],[83,2],[84,2],[85,2],[86,2],[470,631],[480,632],[469,631],[490,633],[461,634],[460,2],[489,471],[483,635],[488,634],[463,636],[477,637],[462,638],[486,639],[458,640],[457,471],[487,641],[459,642],[464,632],[465,2],[468,632],[392,2],[491,643],[481,644],[472,645],[473,646],[475,647],[471,648],[474,649],[484,471],[466,650],[467,651],[476,652],[393,2],[479,644],[478,632],[482,2],[485,653],[1270,654],[1273,655],[1271,654],[1269,2],[1272,656],[1292,657],[1281,658],[1277,659],[1278,54],[1299,660],[1293,661],[1279,662],[1298,663],[1268,2],[1280,664],[1306,665],[1300,666],[1294,2],[987,667],[978,668],[985,669],[980,2],[981,2],[979,670],[982,671],[974,2],[975,2],[986,672],[977,673],[983,2],[984,674],[976,675],[1311,676],[1312,677],[1313,678],[1314,679],[965,680],[1256,681],[597,2],[1257,2],[1015,682],[1004,683],[1255,684],[1016,685],[1253,686],[1024,687],[1020,688],[1022,689],[1018,685],[1021,687],[1023,690],[1019,691],[1006,692],[1007,693],[1028,694],[1307,695],[1026,2],[1029,696],[1025,685],[1027,697],[1017,698],[1252,699],[1254,691],[1014,700],[1308,676],[1309,701],[1009,702],[1310,703],[1005,704],[1008,2],[960,705],[961,706],[953,707],[963,2],[964,708],[962,709],[591,710],[592,711],[585,712],[582,713],[586,714],[583,714],[590,715],[587,716],[584,716],[589,717],[588,712]],"affectedFilesPendingEmit":[1311,1312,1313,1314,965,1256,597,1257,1015,1004,1255,1016,1253,1024,1020,1022,1018,1021,1023,1019,1006,1007,1028,1307,1026,1029,1025,1027,1017,1252,1254,1014,1308,1309,1009,1310,1005,1008],"version":"6.0.2"} \ No newline at end of file diff --git a/packages/api/package.json b/packages/api/package.json index eb45b1b9..e6db7593 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -18,7 +18,7 @@ "scripts": { "lint": "eslint .", "typecheck": "tsc --noEmit", - "test": "vitest run" + "test": "node ../../node_modules/vitest/vitest.mjs run --config vitest.config.ts" }, "dependencies": { "@query/auth": "workspace:*", @@ -30,7 +30,6 @@ "@trpc/server": "^11.15.1", "drizzle-orm": "0.45.2", "image-size": "2.0.2", - "minimatch": "10.2.3", "sanitize-html": "2.17.4", "stripe": "^22.0.0", "superjson": "2.2.3", @@ -42,4 +41,4 @@ "typescript": "6.0.2", "vitest": "^4.1.8" } -} \ No newline at end of file +} diff --git a/packages/api/src/.internal-tests/hackathon-flow.test.ts b/packages/api/src/.internal-tests/hackathon-flow.test.ts new file mode 100644 index 00000000..af17b3df --- /dev/null +++ b/packages/api/src/.internal-tests/hackathon-flow.test.ts @@ -0,0 +1,994 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; +import { appRouter } from "../root"; +import { cache } from "../middleware/cache"; +import { db } from "@query/db"; + +// Fully mock the DB at the file level. vi.mock factories are hoisted and +// file-scoped, so this mirrors the shape used by routers.test.ts. +const mockFindFirst = vi.fn(); +const mockFindMany = vi.fn(); +const mockInsert = vi.fn(); +const mockUpdate = vi.fn(); +const mockDelete = vi.fn(); + +vi.mock("@query/db", () => { + const table = (name: string) => ({ + findFirst: (...args: any[]) => mockFindFirst(name, ...args), + findMany: (...args: any[]) => mockFindMany(name, ...args), + }); + + return { + db: { + transaction: vi.fn().mockImplementation((callback) => callback(db)), + query: { + admins: table("admins"), + users: table("users"), + userProfiles: table("userProfiles"), + hackathons: table("hackathons"), + hackathonParticipants: table("hackathonParticipants"), + hackathonTeams: table("hackathonTeams"), + hackathonProjects: table("hackathonProjects"), + hackathonEvents: table("hackathonEvents"), + hackathonEventAttendees: table("hackathonEventAttendees"), + hackathonMaps: table("hackathonMaps"), + members: table("members"), + events: table("events"), + eventCheckIns: table("eventCheckIns"), + judges: table("judges"), + judgeAssignments: table("judgeAssignments"), + judgingProjects: table("judgingProjects"), + judgeVotes: table("judgeVotes"), + judgeQueue: table("judgeQueue"), + stripePayments: table("stripePayments"), + userAccountLinks: table("userAccountLinks"), + auditLogs: table("auditLogs"), + }, + insert: (...insertArgs: any[]) => ({ + values: (...valArgs: any[]) => { + const val = mockInsert("insert", insertArgs, valArgs); + return Object.assign(Promise.resolve(val), { + returning: vi.fn().mockResolvedValue(val), + onConflictDoUpdate: vi.fn().mockImplementation(() => ({ + returning: vi.fn().mockResolvedValue(val), + })), + }); + }, + }), + update: (...updateArgs: any[]) => ({ + set: (...setArgs: any[]) => ({ + where: (...wArgs: any[]) => { + const val = mockUpdate("update", updateArgs, setArgs, wArgs); + return Object.assign(Promise.resolve(val), { + returning: vi.fn().mockResolvedValue(val), + }); + }, + }), + }), + delete: (...deleteArgs: any[]) => ({ + where: (...wArgs: any[]) => { + const val = mockDelete("delete", deleteArgs, wArgs); + return Object.assign(Promise.resolve(val), { + returning: vi.fn().mockResolvedValue(val), + }); + }, + }), + select: vi.fn().mockImplementation(() => ({ + from: vi.fn().mockImplementation(() => ({ + where: vi.fn().mockImplementation(() => ({ + orderBy: vi.fn().mockResolvedValue([{ count: 0 }]), + groupBy: vi.fn().mockResolvedValue([]), + limit: vi.fn().mockResolvedValue([]), + offset: vi.fn().mockResolvedValue([]), + })), + orderBy: vi.fn().mockResolvedValue([{ count: 0 }]), + groupBy: vi.fn().mockResolvedValue([]), + innerJoin: vi.fn().mockImplementation(() => ({ + innerJoin: vi.fn().mockImplementation(() => ({ + where: vi.fn().mockResolvedValue([]), + })), + where: vi.fn().mockResolvedValue([]), + })), + })), + })), + }, + admins: { userId: "user_id", isActive: "is_active", role: "role" }, + users: { id: "id", email: "email" }, + userProfiles: { userId: "user_id" }, + hackathons: { + id: "id", + name: "name", + status: "status", + isPublic: "is_public", + startDate: "start_date", + endDate: "end_date", + judgingActive: "judging_active", + currentParticipants: "current_participants", + maxParticipants: "max_participants", + }, + hackathonParticipants: { + id: "id", + hackathonId: "hackathon_id", + userId: "user_id", + registrationStatus: "registration_status", + }, + hackathonTeams: { id: "id", hackathonId: "hackathon_id", name: "name" }, + hackathonProjects: { id: "id", hackathonId: "hackathon_id" }, + hackathonEvents: { id: "id", hackathonId: "hackathon_id", name: "name" }, + hackathonEventAttendees: { + eventId: "event_id", + participantId: "participant_id", + }, + hackathonMaps: { id: "id", hackathonId: "hackathon_id" }, + members: { id: "id", userId: "user_id", hackathonId: "hackathon_id" }, + membershipHistory: { id: "id", memberId: "member_id" }, + events: { + id: "id", + title: "title", + qrCode: "qr_code", + checkInEnabled: "check_in_enabled", + eventDate: "event_date", + currentCheckIns: "current_check_ins", + }, + eventCheckIns: { id: "id", eventId: "event_id", userId: "user_id" }, + judges: { id: "id", userId: "user_id", hackathonId: "hackathon_id", isActive: "is_active" }, + judgeAssignments: { judgeId: "judge_id", hackathonId: "hackathon_id" }, + judgingProjects: { + id: "id", + hackathonId: "hackathon_id", + tableNumber: "table_number", + }, + judgeVotes: { judgeId: "judge_id", projectId: "project_id", score: "score" }, + judgeQueue: { + id: "id", + judgeId: "judge_id", + hackathonId: "hackathon_id", + isCompleted: "is_completed", + }, + stripePayments: { + id: "id", + customerEmail: "customer_email", + stripePaymentIntentId: "stripe_payment_intent_id", + }, + userAccountLinks: { userId: "user_id", stripePaymentId: "stripe_payment_id" }, + auditLogs: { id: "id", severity: "severity", userId: "user_id" }, + }; +}); + +const HACK_A = "11111111-1111-4111-8111-111111111111"; +const HACK_B = "22222222-2222-4222-8222-222222222222"; +const PARTICIPANT = "33333333-3333-4333-8333-333333333333"; +const EVENT_A = "44444444-4444-4444-8444-444444444444"; +const EVENT_B = "55555555-5555-4555-8555-555555555555"; +const PROJECT = "66666666-6666-4666-8666-666666666666"; + +const DAY = 24 * 60 * 60 * 1000; + +describe("Hackathon end-to-end flow", () => { + beforeEach(() => { + vi.clearAllMocks(); + cache.clear(); + }); + + const createMockCtx = (userId?: string) => + ({ + db, + session: userId ? { user: { id: userId } } : null, + userId: userId || undefined, + cache, + clientIp: "127.0.0.1", + req: { headers: { get: () => null } }, + }) as any; + + const adminCaller = () => { + mockFindFirst.mockImplementation((table) => + table === "admins" + ? { userId: "admin_user_id", isActive: true, role: "admin" } + : undefined, + ); + return appRouter.createCaller(createMockCtx("admin_user_id")); + }; + + /** An open hackathon with room and a deadline that has not passed. */ + const openHackathon = (overrides: Record = {}) => ({ + id: HACK_A, + name: "Data for Good", + status: "open", + startDate: new Date(Date.now() + 7 * DAY), + endDate: new Date(Date.now() + 9 * DAY), + registrationDeadline: new Date(Date.now() + 5 * DAY), + maxParticipants: 500, + currentParticipants: 10, + ...overrides, + }); + + const registrationInput = (hackathonId = HACK_A) => ({ + hackathonId, + firstName: "Ada", + lastName: "Lovelace", + phone: "555-0100", + age: 20, + school: "Georgia Tech", + major: "Computer Science", + graduationYear: 2027, + levelOfStudy: "Junior" as const, + country: "United States", + agreeToCodeOfConduct: true as const, + }); + + // --------------------------------------------------------------------- + describe("1. Registration opens and closes", () => { + it("rejects registration while the hackathon is still a draft", async () => { + mockFindFirst.mockImplementation((table) => + table === "hackathons" ? openHackathon({ status: "draft" }) : undefined, + ); + const caller = appRouter.createCaller(createMockCtx("user_a")); + + await expect(caller.hackathon.register(registrationInput())).rejects.toThrow( + /Registration is not open/, + ); + }); + + it("lets an admin flip the hackathon to open", async () => { + const caller = adminCaller(); + mockFindFirst.mockImplementation((table) => { + if (table === "admins") + return { userId: "admin_user_id", isActive: true, role: "admin" }; + if (table === "hackathons") return openHackathon({ status: "draft" }); + return undefined; + }); + mockUpdate.mockReturnValue([{ id: HACK_A, status: "open" }]); + + const res = await caller.hackathon.update({ id: HACK_A, status: "open" }); + expect(res).toMatchObject({ status: "open" }); + }); + + it("accepts a registration once open, defaulting to pending", async () => { + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") return openHackathon(); + return undefined; // no existing participant, no member record + }); + mockInsert.mockReturnValue([ + { id: PARTICIPANT, registrationStatus: "pending" }, + ]); + const caller = appRouter.createCaller(createMockCtx("user_a")); + + const res = await caller.hackathon.register(registrationInput()); + expect(res).toMatchObject({ registrationStatus: "pending" }); + }); + + it("rejects a second registration from the same user", async () => { + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") return openHackathon(); + if (table === "hackathonParticipants") return { id: PARTICIPANT }; + return undefined; + }); + const caller = appRouter.createCaller(createMockCtx("user_a")); + + await expect(caller.hackathon.register(registrationInput())).rejects.toThrow( + /already registered/, + ); + }); + + it("rejects registration after the deadline has passed", async () => { + mockFindFirst.mockImplementation((table) => + table === "hackathons" + ? openHackathon({ + registrationDeadline: new Date(Date.now() - DAY), + }) + : undefined, + ); + const caller = appRouter.createCaller(createMockCtx("user_a")); + + await expect(caller.hackathon.register(registrationInput())).rejects.toThrow( + /deadline has passed/, + ); + }); + + it("rejects registration when the hackathon is at capacity", async () => { + mockFindFirst.mockImplementation((table) => + table === "hackathons" + ? openHackathon({ maxParticipants: 500, currentParticipants: 500 }) + : undefined, + ); + const caller = appRouter.createCaller(createMockCtx("user_a")); + + await expect(caller.hackathon.register(registrationInput())).rejects.toThrow( + /full/, + ); + }); + }); + + // --------------------------------------------------------------------- + describe("2. Acceptance gates the event pass", () => { + const scanAs = (registrationStatus: string) => { + mockFindFirst.mockImplementation((table) => { + if (table === "admins") + return { userId: "admin_user_id", isActive: true, role: "admin" }; + if (table === "hackathonParticipants") + return { + id: PARTICIPANT, + hackathonId: HACK_A, + registrationStatus, + user: { name: "Ada Lovelace", email: "ada@example.com" }, + }; + if (table === "hackathonEvents") + return { id: EVENT_A, hackathonId: HACK_A, name: "Opening Ceremony" }; + if (table === "hackathonEventAttendees") return undefined; + return undefined; + }); + return appRouter.createCaller(createMockCtx("admin_user_id")); + }; + + it.each(["pending", "waitlisted", "rejected"])( + "refuses to check in a %s participant", + async (status) => { + const caller = scanAs(status); + + await expect( + caller.hackathon.scanParticipantPass({ + hackathonId: HACK_A, + eventId: EVENT_A, + participantId: PARTICIPANT, + }), + ).rejects.toThrow(/not accepted for this hackathon/); + }, + ); + + it.each(["approved", "checked_in"])( + "checks in an %s participant", + async (status) => { + const caller = scanAs(status); + + const res = await caller.hackathon.scanParticipantPass({ + hackathonId: HACK_A, + eventId: EVENT_A, + participantId: PARTICIPANT, + }); + expect(res.success).toBe(true); + }, + ); + + it("names the offending status in the error so staff can act on it", async () => { + const caller = scanAs("waitlisted"); + + await expect( + caller.hackathon.scanParticipantPass({ + hackathonId: HACK_A, + eventId: EVENT_A, + participantId: PARTICIPANT, + }), + ).rejects.toThrow(/waitlisted/); + }); + }); + + // --------------------------------------------------------------------- + describe("3. Check-in across multiple events", () => { + const scanner = (opts: { + event: { id: string; hackathonId: string; name: string } | undefined; + alreadyAttended: boolean; + participantHackathon?: string; + }) => { + mockFindFirst.mockImplementation((table) => { + if (table === "admins") + return { userId: "admin_user_id", isActive: true, role: "admin" }; + if (table === "hackathonParticipants") + return { + id: PARTICIPANT, + hackathonId: opts.participantHackathon ?? HACK_A, + registrationStatus: "approved", + user: { name: "Ada Lovelace", email: "ada@example.com" }, + }; + if (table === "hackathonEvents") return opts.event; + if (table === "hackathonEventAttendees") + return opts.alreadyAttended ? { eventId: EVENT_A } : undefined; + return undefined; + }); + return appRouter.createCaller(createMockCtx("admin_user_id")); + }; + + it("checks an approved participant into the first event", async () => { + const caller = scanner({ + event: { id: EVENT_A, hackathonId: HACK_A, name: "Opening Ceremony" }, + alreadyAttended: false, + }); + + const res = await caller.hackathon.scanParticipantPass({ + hackathonId: HACK_A, + eventId: EVENT_A, + participantId: PARTICIPANT, + }); + expect(res.success).toBe(true); + }); + + it("rejects a duplicate scan into the same event", async () => { + const caller = scanner({ + event: { id: EVENT_A, hackathonId: HACK_A, name: "Opening Ceremony" }, + alreadyAttended: true, + }); + + await expect( + caller.hackathon.scanParticipantPass({ + hackathonId: HACK_A, + eventId: EVENT_A, + participantId: PARTICIPANT, + }), + ).rejects.toThrow(/already checked into/); + }); + + it("allows the same participant into a second, different event", async () => { + const caller = scanner({ + event: { id: EVENT_B, hackathonId: HACK_A, name: "Midnight Snack" }, + alreadyAttended: false, + }); + + const res = await caller.hackathon.scanParticipantPass({ + hackathonId: HACK_A, + eventId: EVENT_B, + participantId: PARTICIPANT, + }); + expect(res.success).toBe(true); + }); + + it("rejects an event that belongs to a different hackathon", async () => { + const caller = scanner({ event: undefined, alreadyAttended: false }); + + await expect( + caller.hackathon.scanParticipantPass({ + hackathonId: HACK_B, + eventId: EVENT_A, + participantId: PARTICIPANT, + }), + ).rejects.toThrow(/Event not found/); + }); + + it("requires admin rights to scan a pass", async () => { + mockFindFirst.mockImplementation(() => undefined); // not an admin + const caller = appRouter.createCaller(createMockCtx("random_user")); + + await expect( + caller.hackathon.scanParticipantPass({ + hackathonId: HACK_A, + eventId: EVENT_A, + participantId: PARTICIPANT, + }), + ).rejects.toThrow(/Admin access required/); + }); + }); + + // --------------------------------------------------------------------- + describe("4. Judges grade projects", () => { + const judgeCaller = () => { + mockFindFirst.mockImplementation((table) => { + if (table === "judgingProjects") + return { id: PROJECT, hackathonId: HACK_A }; + if (table === "judges") + return { id: "judge_1", userId: "judge_user", hackathonId: HACK_A }; + return undefined; + }); + return appRouter.createCaller(createMockCtx("judge_user")); + }; + + const scores = { + projectId: PROJECT, + scoreCreativity: 8, + scoreImpact: 7, + scoreScope: 6, + scoreClarity: 9, + scoreSoundness: 5, + }; + + it("records a vote and sums the five criteria", async () => { + const caller = judgeCaller(); + mockInsert.mockReturnValue([{ id: "vote_1", score: 35 }]); + + const res = await caller.judge.submitVote(scores); + + expect(res).toMatchObject({ score: 35 }); + const inserted = mockInsert.mock.calls[0]?.[2]?.[0]; + expect(inserted.score).toBe(35); + expect(inserted.judgeId).toBe("judge_1"); + }); + + it("refuses a vote from a user who is not a judge for that hackathon", async () => { + mockFindFirst.mockImplementation((table) => + table === "judgingProjects" + ? { id: PROJECT, hackathonId: HACK_A } + : undefined, + ); + const caller = appRouter.createCaller(createMockCtx("random_user")); + + await expect(caller.judge.submitVote(scores)).rejects.toThrow( + /Judge access required/, + ); + }); + + it.each([0, 11])("rejects an out-of-range score of %i", async (bad) => { + const caller = judgeCaller(); + + await expect( + caller.judge.submitVote({ ...scores, scoreImpact: bad }), + ).rejects.toThrow(); + }); + + it("only lets an admin toggle judging on", async () => { + const caller = adminCaller(); + mockUpdate.mockReturnValue([{ judgingActive: true }]); + + const res = await caller.judge.toggleJudging({ + hackathonId: HACK_A, + active: true, + }); + expect(res).toMatchObject({ success: true, judgingActive: true }); + }); + + it("refuses to let a non-admin toggle judging", async () => { + mockFindFirst.mockImplementation(() => undefined); + const caller = appRouter.createCaller(createMockCtx("random_user")); + + await expect( + caller.judge.toggleJudging({ hackathonId: HACK_A, active: true }), + ).rejects.toThrow(/Admin access required/); + }); + }); + + // --------------------------------------------------------------------- + describe("5. Team window", () => { + const HOUR = 60 * 60 * 1000; + + /** + * Places "now" a given number of hours after the hacking start by moving + * the hackathon's start time, which is what the window is measured from. + */ + const hackathonStartedHoursAgo = (hours: number) => ({ + id: HACK_A, + status: "open", + startDate: new Date(Date.now() - hours * HOUR), + endDate: new Date(Date.now() + 24 * HOUR), + hackingStartTime: new Date(Date.now() - hours * HOUR), + }); + + const teamCaller = (hoursIn: number, participant?: Record) => { + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") return hackathonStartedHoursAgo(hoursIn); + if (table === "hackathonParticipants") + return participant ?? { id: PARTICIPANT, teamId: null }; + if (table === "hackathonTeams") + return { + id: "team_1", + captainId: "other_user", + currentMembers: 3, + }; + return undefined; + }); + return appRouter.createCaller(createMockCtx("user_a")); + }; + + const newTeam = { + hackathonId: HACK_A, + name: "meow", + maxMembers: 4 as const, + }; + + it("refuses team creation before the window opens at +12h", async () => { + const caller = teamCaller(2); + + await expect(caller.team.createTeam(newTeam)).rejects.toThrow( + /not open yet/, + ); + }); + + it("allows team creation inside the window", async () => { + const caller = teamCaller(20); + mockInsert.mockReturnValue([{ id: "team_1", name: "meow" }]); + + const res = await caller.team.createTeam(newTeam); + expect(res).toMatchObject({ name: "meow" }); + }); + + it("refuses team creation after the window closes at +34h", async () => { + const caller = teamCaller(40); + + await expect(caller.team.createTeam(newTeam)).rejects.toThrow(/closed/); + }); + + it("lets a member leave before the roster locks at +24h", async () => { + const caller = teamCaller(20, { id: PARTICIPANT, teamId: "team_1" }); + + const res = await caller.team.leaveTeam({ hackathonId: HACK_A }); + expect(res).toMatchObject({ success: true }); + }); + + it("refuses to let a member leave inside the final 12 hours", async () => { + const caller = teamCaller(30, { id: PARTICIPANT, teamId: "team_1" }); + + await expect( + caller.team.leaveTeam({ hackathonId: HACK_A }), + ).rejects.toThrow(/within 12 hours of the project deadline/); + }); + + it("still allows joining after the leave lock, up to +34h", async () => { + const caller = teamCaller(30); + + const res = await caller.team.window({ hackathonId: HACK_A }); + expect(res.canJoin).toBe(true); + expect(res.canLeave).toBe(false); + }); + + it("reports the window so the UI can disable instead of failing", async () => { + const caller = teamCaller(2); + + const res = await caller.team.window({ hackathonId: HACK_A }); + expect(res).toMatchObject({ + isOpen: false, + canCreate: false, + canJoin: false, + canLeave: false, + }); + expect(res.leaveLocksAt.getTime() - res.opensAt.getTime()).toBe( + 12 * HOUR, + ); + }); + }); + + // --------------------------------------------------------------------- + describe("6. Joining a team", () => { + const HOUR = 60 * 60 * 1000; + + const joinCaller = (opts: { + participant?: Record; + team?: Record; + }) => { + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") + return { + id: HACK_A, + startDate: new Date(Date.now() - 20 * HOUR), + endDate: new Date(Date.now() + 24 * HOUR), + hackingStartTime: new Date(Date.now() - 20 * HOUR), + }; + if (table === "hackathonParticipants") + return opts.participant ?? { id: PARTICIPANT, teamId: null }; + if (table === "hackathonTeams") + return ( + opts.team ?? { + id: "team_1", + hackathonId: HACK_A, + isOpen: true, + currentMembers: 2, + maxMembers: 4, + } + ); + return undefined; + }); + return appRouter.createCaller(createMockCtx("user_a")); + }; + + const join = { hackathonId: HACK_A, teamId: "77777777-7777-4777-8777-777777777777" }; + + it("lets a registered participant join a team with room", async () => { + const caller = joinCaller({}); + + const res = await caller.team.joinTeam(join); + expect(res).toMatchObject({ success: true }); + }); + + it("refuses to let someone join two teams", async () => { + const caller = joinCaller({ + participant: { id: PARTICIPANT, teamId: "team_existing" }, + }); + + await expect(caller.team.joinTeam(join)).rejects.toThrow( + /already in a team/, + ); + }); + + it("refuses to overfill a team at capacity", async () => { + const caller = joinCaller({ + team: { + id: "team_1", + hackathonId: HACK_A, + isOpen: true, + currentMembers: 4, + maxMembers: 4, + }, + }); + + await expect(caller.team.joinTeam(join)).rejects.toThrow(/full/); + }); + + it("refuses to join a closed team", async () => { + const caller = joinCaller({ + team: { + id: "team_1", + hackathonId: HACK_A, + isOpen: false, + currentMembers: 1, + maxMembers: 4, + }, + }); + + await expect(caller.team.joinTeam(join)).rejects.toThrow(/closed/); + }); + + it("refuses an unregistered user", async () => { + const caller = joinCaller({ participant: null as any }); + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") + return { + id: HACK_A, + startDate: new Date(Date.now() - 20 * HOUR), + endDate: new Date(Date.now() + 24 * HOUR), + hackingStartTime: new Date(Date.now() - 20 * HOUR), + }; + return undefined; + }); + + await expect(caller.team.joinTeam(join)).rejects.toThrow( + /not registered/, + ); + }); + }); + + // --------------------------------------------------------------------- + describe("7. Project submission window", () => { + const HOUR = 60 * 60 * 1000; + + const submitCaller = (hoursIn: number, existingProject = false) => { + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") + return { + id: HACK_A, + startDate: new Date(Date.now() - hoursIn * HOUR), + endDate: new Date(Date.now() + 24 * HOUR), + hackingStartTime: new Date(Date.now() - hoursIn * HOUR), + }; + if (table === "hackathonParticipants") + return { id: PARTICIPANT, teamId: "team_1" }; + if (table === "hackathonProjects") + return existingProject ? { id: "project_1" } : undefined; + return undefined; + }); + return appRouter.createCaller(createMockCtx("user_a")); + }; + + const project = { + hackathonId: HACK_A, + name: "Flood Risk Mapper", + description: "Maps flood risk from open census and elevation data.", + }; + + it("refuses submission before it opens at +12h", async () => { + const caller = submitCaller(2); + + await expect(caller.team.submitProject(project)).rejects.toThrow( + /not open yet/, + ); + }); + + it("refuses submission after the +36h hard deadline", async () => { + const caller = submitCaller(40); + + await expect(caller.team.submitProject(project)).rejects.toThrow( + /submission closed/i, + ); + }); + + it("refuses edits to an existing project after the +34h freeze", async () => { + const caller = submitCaller(35, true); + + await expect( + caller.team.submitProject({ + ...project, + teamId: "88888888-8888-4888-8888-888888888888", + }), + ).rejects.toThrow(/edits are closed/i); + }); + + it("rejects a description shorter than 10 characters", async () => { + const caller = submitCaller(20); + + await expect( + caller.team.submitProject({ ...project, description: "too short" }), + ).rejects.toThrow(); + }); + }); + + // --------------------------------------------------------------------- + describe("8. Judge queue", () => { + const QUEUE_A = "99999999-9999-4999-8999-999999999999"; + + /** + * `isJudge` resolves the hackathon from the input. When the input carries a + * projectId it looks up judgingProjects; when it only carries a queueId it + * burns the first judgeQueue lookup. `middlewareHitsQueue` accounts for it. + */ + const queueCaller = (opts: { + queueItem?: Record | undefined; + next?: Record | undefined; + middlewareHitsQueue?: boolean; + }) => { + const skip = opts.middlewareHitsQueue ? 1 : 0; + let queueLookups = 0; + mockFindFirst.mockImplementation((table) => { + if (table === "judgingProjects") + return { id: PROJECT, hackathonId: HACK_A }; + if (table === "judges") + return { id: "judge_1", userId: "judge_user", hackathonId: HACK_A }; + if (table === "hackathons") return { id: HACK_A }; + if (table === "judgeQueue") { + queueLookups += 1; + if (skip && queueLookups === 1) + return { id: QUEUE_A, hackathonId: HACK_A }; + if (queueLookups === skip + 1) return opts.queueItem; + return opts.next; + } + if (table === "judgeAssignments") return undefined; + return undefined; + }); + return appRouter.createCaller(createMockCtx("judge_user")); + }; + + const vote = { + queueId: QUEUE_A, + projectId: PROJECT, + scoreCreativity: 5, + scoreImpact: 5, + scoreScope: 5, + scoreClarity: 5, + scoreSoundness: 5, + }; + + it("completes the current project and hands back the next one", async () => { + const caller = queueCaller({ + queueItem: { id: QUEUE_A, hackathonId: HACK_A }, + next: { + id: "queue_b", + hackathonId: HACK_A, + project: { id: "project_b", name: "Next Project" }, + }, + }); + + const res = await caller.judge.completeAndNext(vote); + expect(res).toMatchObject({ + done: false, + nextQueueId: "queue_b", + }); + }); + + it("reports done when nothing is left in the queue", async () => { + const caller = queueCaller({ + queueItem: { id: QUEUE_A, hackathonId: HACK_A }, + next: undefined, + }); + + const res = await caller.judge.completeAndNext(vote); + expect(res).toMatchObject({ done: true, nextProject: null }); + }); + + it("moves a skipped project to the end and returns the next", async () => { + const caller = queueCaller({ + middlewareHitsQueue: true, + queueItem: { id: QUEUE_A, hackathonId: HACK_A }, + next: { + id: "queue_b", + hackathonId: HACK_A, + project: { id: "project_b" }, + }, + }); + + const res = await caller.judge.skipProject({ queueId: QUEUE_A }); + expect(res).toMatchObject({ skippedToEnd: false, queueId: "queue_b" }); + }); + + it("cannot skip past the last remaining project", async () => { + const caller = queueCaller({ + middlewareHitsQueue: true, + queueItem: { id: QUEUE_A, hackathonId: HACK_A }, + next: undefined, + }); + + const res = await caller.judge.skipProject({ queueId: QUEUE_A }); + expect(res).toMatchObject({ skippedToEnd: true, queueId: QUEUE_A }); + }); + + it("errors when skipping a queue item that does not exist", async () => { + const caller = queueCaller({ + middlewareHitsQueue: true, + queueItem: undefined, + next: undefined, + }); + + await expect( + caller.judge.skipProject({ queueId: QUEUE_A }), + ).rejects.toThrow(/Queue item not found/); + }); + + it("force-skips an overtime project without recording a vote", async () => { + const caller = queueCaller({ + middlewareHitsQueue: true, + queueItem: { + id: QUEUE_A, + hackathonId: HACK_A, + projectId: PROJECT, + project: { id: PROJECT, tracks: [] }, + }, + }); + mockInsert.mockClear(); + + await caller.judge.forceSkipOvertime({ queueId: QUEUE_A }); + + // No vote row should be written for a forced skip. + expect(mockInsert).not.toHaveBeenCalled(); + }); + + it("errors when force-skipping a queue item that does not exist", async () => { + const caller = queueCaller({ + middlewareHitsQueue: true, + queueItem: undefined, + }); + + await expect( + caller.judge.forceSkipOvertime({ queueId: QUEUE_A }), + ).rejects.toThrow(/Queue item not found/); + }); + }); + + // --------------------------------------------------------------------- + describe("9. Rankings", () => { + it("ranks projects and normalizes across judges", async () => { + const caller = adminCaller(); + mockFindMany.mockImplementation((table) => { + if (table !== "judgingProjects") return []; + return [ + { + id: "p_low", + name: "Low", + hackathonId: HACK_A, + votes: [ + { judgeId: "j1", score: 20, judge: { user: { name: "J1" } } }, + { judgeId: "j2", score: 22, judge: { user: { name: "J2" } } }, + ], + }, + { + id: "p_high", + name: "High", + hackathonId: HACK_A, + votes: [ + { judgeId: "j1", score: 45, judge: { user: { name: "J1" } } }, + { judgeId: "j2", score: 48, judge: { user: { name: "J2" } } }, + ], + }, + ]; + }); + + const res = await caller.judge.getRankings({ hackathonId: HACK_A }); + + expect(res.rankings.length).toBe(2); + // The better-scored project must outrank the weaker one. + const ids = res.rankings.map((r: any) => r.project.id); + expect(ids[0]).toBe("p_high"); + expect(res.globalAvg).toBeGreaterThan(0); + }); + + it("returns an empty ranking when no projects exist", async () => { + const caller = adminCaller(); + mockFindMany.mockReturnValue([]); + + const res = await caller.judge.getRankings({ hackathonId: HACK_A }); + expect(res).toMatchObject({ + rankings: [], + globalAvg: 0, + hasTies: false, + }); + }); + + it("requires admin rights to read rankings", async () => { + mockFindFirst.mockImplementation(() => undefined); + const caller = appRouter.createCaller(createMockCtx("random_user")); + + await expect( + caller.judge.getRankings({ hackathonId: HACK_A }), + ).rejects.toThrow(/Admin access required/); + }); + }); +}); diff --git a/packages/api/src/.internal-tests/resilience.test.ts b/packages/api/src/.internal-tests/resilience.test.ts index 1c310bd4..109a581b 100644 --- a/packages/api/src/.internal-tests/resilience.test.ts +++ b/packages/api/src/.internal-tests/resilience.test.ts @@ -1,124 +1,136 @@ -import { describe, it, expect, vi } from 'vitest'; -import { sanitizeInput } from '../middleware/security'; +import { describe, it, expect, vi } from "vitest"; +import { sanitizeInput } from "../middleware/security"; -vi.mock('@query/db', () => ({ - db: {} +vi.mock("@query/db", () => ({ + db: {}, })); -describe('Resilience and Domain Edge Cases Verification Suite', () => { - - describe('1. Zalgo Character Abuse and Regex Performance Limits', () => { - it('should sanitize regular Zalgo text without hanging the event loop', () => { +describe("Resilience and Domain Edge Cases Verification Suite", () => { + describe("1. Zalgo Character Abuse and Regex Performance Limits", () => { + it("should sanitize regular Zalgo text without hanging the event loop", () => { // Combining character sequences - const zalgo = 'H\u033d\u0310\u0355e\u033d\u0310\u0355l\u033d\u0310\u0355l\u033d\u0310\u0355o\u033d\u0310\u0355'; + const zalgo = + "H\u033d\u0310\u0355e\u033d\u0310\u0355l\u033d\u0310\u0355l\u033d\u0310\u0355o\u033d\u0310\u0355"; const start = performance.now(); const result = sanitizeInput(zalgo); const duration = performance.now() - start; expect(duration).toBeLessThan(50); - expect(typeof result).toBe('string'); + expect(typeof result).toBe("string"); }); - it('should handle massive combined character strings efficiently', () => { - const hugeZalgo = 'A' + '\u0301'.repeat(5000); + it("should handle massive combined character strings efficiently", () => { + const hugeZalgo = "A" + "\u0301".repeat(5000); const start = performance.now(); const result = sanitizeInput(hugeZalgo); const duration = performance.now() - start; expect(duration).toBeLessThan(100); - expect(typeof result).toBe('string'); + expect(typeof result).toBe("string"); }); - it('should handle long plain strings up to the maximum slice length', () => { - const normalLongString = 'b'.repeat(15000); + it("should handle long plain strings up to the maximum slice length", () => { + const normalLongString = "b".repeat(15000); const result = sanitizeInput(normalLongString) as string; expect(result.length).toBe(10000); // Truncation limit }); }); - describe('2. Malicious File Names and Character Overrides', () => { - it('should strip right-to-left override character U+202E from file paths', () => { - const maliciousName = 'photo-display\u202Egpj.exe'; - const cleanName = maliciousName.replace(/[\u200E\u200F\u202A-\u202E]/g, ''); - expect(cleanName).toBe('photo-displaygpj.exe'); + describe("2. Malicious File Names and Character Overrides", () => { + it("should strip right-to-left override character U+202E from file paths", () => { + const maliciousName = "photo-display\u202Egpj.exe"; + const cleanName = maliciousName.replace( + /[\u200E\u200F\u202A-\u202E]/g, + "", + ); + expect(cleanName).toBe("photo-displaygpj.exe"); }); - it('should strip right-to-left embedding character U+202B from string inputs', () => { - const payload = 'team-name\u202Bsecret.pdf'; - const clean = payload.replace(/[\u200E\u200F\u202A-\u202E]/g, ''); - expect(clean).toBe('team-namesecret.pdf'); + it("should strip right-to-left embedding character U+202B from string inputs", () => { + const payload = "team-name\u202Bsecret.pdf"; + const clean = payload.replace(/[\u200E\u200F\u202A-\u202E]/g, ""); + expect(clean).toBe("team-namesecret.pdf"); }); - it('should handle double file extensions safely without modifications', () => { - const name = 'document.pdf.png'; + it("should handle double file extensions safely without modifications", () => { + const name = "document.pdf.png"; const result = sanitizeInput(name); - expect(result).toBe('document.pdf.png'); + expect(result).toBe("document.pdf.png"); }); }); - describe('3. Webhook Ordering and Retries Idempotency', () => { - it('should reject outdated webhooks arriving out of chronological order', () => { - let currentSubscriptionStatus = 'active'; - let lastEventTimestamp = new Date('2026-06-10T12:00:00Z').getTime(); + describe("3. Webhook Ordering and Retries Idempotency", () => { + it("should reject outdated webhooks arriving out of chronological order", () => { + let currentSubscriptionStatus = "active"; + let lastEventTimestamp = new Date("2026-06-10T12:00:00Z").getTime(); - const processStripeWebhook = (eventType: string, eventTimestamp: number) => { + const processStripeWebhook = ( + eventType: string, + eventTimestamp: number, + ) => { if (eventTimestamp < lastEventTimestamp) { - return { status: 'ignored', reason: 'out of order' }; + return { status: "ignored", reason: "out of order" }; } lastEventTimestamp = eventTimestamp; - if (eventType === 'subscription.deleted') { - currentSubscriptionStatus = 'deleted'; - } else if (eventType === 'subscription.created') { - currentSubscriptionStatus = 'active'; + if (eventType === "subscription.deleted") { + currentSubscriptionStatus = "deleted"; + } else if (eventType === "subscription.created") { + currentSubscriptionStatus = "active"; } - return { status: 'processed' }; + return { status: "processed" }; }; // Delayed deletion webhook from earlier date arrives late - const oldEventTimestamp = new Date('2026-06-10T10:00:00Z').getTime(); - const r1 = processStripeWebhook('subscription.deleted', oldEventTimestamp); - expect(r1.status).toBe('ignored'); - expect(currentSubscriptionStatus).toBe('active'); + const oldEventTimestamp = new Date("2026-06-10T10:00:00Z").getTime(); + const r1 = processStripeWebhook( + "subscription.deleted", + oldEventTimestamp, + ); + expect(r1.status).toBe("ignored"); + expect(currentSubscriptionStatus).toBe("active"); // Newer deletion webhook arrives and gets processed - const newEventTimestamp = new Date('2026-06-10T14:00:00Z').getTime(); - const r2 = processStripeWebhook('subscription.deleted', newEventTimestamp); - expect(r2.status).toBe('processed'); - expect(currentSubscriptionStatus).toBe('deleted'); + const newEventTimestamp = new Date("2026-06-10T14:00:00Z").getTime(); + const r2 = processStripeWebhook( + "subscription.deleted", + newEventTimestamp, + ); + expect(r2.status).toBe("processed"); + expect(currentSubscriptionStatus).toBe("deleted"); }); - it('should prevent processing duplicate webhook event IDs', () => { + it("should prevent processing duplicate webhook event IDs", () => { const processedEventIds = new Set(); let transactionsProcessed = 0; const handlePaymentWebhook = (eventId: string) => { if (processedEventIds.has(eventId)) { - return { status: 'duplicate' }; + return { status: "duplicate" }; } processedEventIds.add(eventId); transactionsProcessed++; - return { status: 'success' }; + return { status: "success" }; }; - const id = 'evt_stripe_12345'; + const id = "evt_stripe_12345"; const res1 = handlePaymentWebhook(id); const res2 = handlePaymentWebhook(id); - expect(res1.status).toBe('success'); - expect(res2.status).toBe('duplicate'); + expect(res1.status).toBe("success"); + expect(res2.status).toBe("duplicate"); expect(transactionsProcessed).toBe(1); }); }); - describe('4. Poor Wifi Check-In Double Scan Handling', () => { - it('should prevent double check-ins under concurrent connection situations', async () => { + describe("4. Poor Wifi Check-In Double Scan Handling", () => { + it("should prevent double check-ins under concurrent connection situations", async () => { const inflightScans = new Set(); let recordsAdded = 0; const attemptCheckIn = async (scanToken: string) => { if (inflightScans.has(scanToken)) { - return { success: false, reason: 'in-flight' }; + return { success: false, reason: "in-flight" }; } inflightScans.add(scanToken); - await new Promise(r => setTimeout(r, 10)); // Network delay simulation + await new Promise((r) => setTimeout(r, 10)); // Network delay simulation recordsAdded++; inflightScans.delete(scanToken); return { success: true }; @@ -126,63 +138,64 @@ describe('Resilience and Domain Edge Cases Verification Suite', () => { // Concurrent execution simulating multiple button clicks in less than 5ms const results = await Promise.all([ - attemptCheckIn('scan_user_x'), - attemptCheckIn('scan_user_x'), - attemptCheckIn('scan_user_x') + attemptCheckIn("scan_user_x"), + attemptCheckIn("scan_user_x"), + attemptCheckIn("scan_user_x"), ]); expect(recordsAdded).toBe(1); - expect(results.filter(r => r.success).length).toBe(1); + expect(results.filter((r) => r.success).length).toBe(1); }); }); - describe('5. Discord Grapheme Safe Channel Name Truncation', () => { - it('should truncate channel names with multi-byte surrogate pairs safely', () => { + describe("5. Discord Grapheme Safe Channel Name Truncation", () => { + it("should truncate channel names with multi-byte surrogate pairs safely", () => { // 4-byte unicode values (using unicode escapes for emojis) - const compoundEmoji = 'A\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66'; // family emoji - + const compoundEmoji = + "A\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66"; // family emoji + const safeTruncateBytes = (str: string, maxBytes: number) => { const encoder = new TextEncoder(); - const decoder = new TextDecoder('utf-8'); + const decoder = new TextDecoder("utf-8"); const bytes = encoder.encode(str); if (bytes.length <= maxBytes) return str; const sliced = bytes.slice(0, maxBytes); const decoded = decoder.decode(sliced); // Clean trailing corrupted surrogate halves - return decoded.replace(/[\uFFFD\uD800-\uDBFF]$/, ''); + return decoded.replace(/[\uFFFD\uD800-\uDBFF]$/, ""); }; const truncated = safeTruncateBytes(compoundEmoji, 5); - expect(truncated.endsWith('\uFFFD')).toBe(false); + expect(truncated.endsWith("\uFFFD")).toBe(false); const lastCode = truncated.charCodeAt(truncated.length - 1); - expect(lastCode >= 0xD800 && lastCode <= 0xDBFF).toBe(false); + expect(lastCode >= 0xd800 && lastCode <= 0xdbff).toBe(false); }); }); - describe('6. Temporal and Calendar Rules', () => { - it('should calculate dates across leap year boundaries', () => { + describe("6. Temporal and Calendar Rules", () => { + it("should calculate dates across leap year boundaries", () => { // Leap day sign up - const leapDay = new Date('2024-02-29T12:00:00Z'); + const leapDay = new Date("2024-02-29T12:00:00Z"); const nextYear = new Date(leapDay); nextYear.setFullYear(leapDay.getFullYear() + 1); // JavaScript rolls Feb 29 to March 1 in non-leap year - expect(nextYear.toISOString()).toContain('2025-03-01'); + expect(nextYear.toISOString()).toContain("2025-03-01"); }); - it('should handle dates when leap year is in the future', () => { - const startingDate = new Date('2027-02-28T12:00:00Z'); + it("should handle dates when leap year is in the future", () => { + const startingDate = new Date("2027-02-28T12:00:00Z"); const nextLeapYear = new Date(startingDate); nextLeapYear.setFullYear(startingDate.getFullYear() + 1); // 2028 is a leap year, so Feb 28 + 1 year is Feb 28, 2028 - expect(nextLeapYear.toISOString()).toContain('2028-02-28'); + expect(nextLeapYear.toISOString()).toContain("2028-02-28"); }); - it('should flag requests with excessive clock skew', () => { + it("should flag requests with excessive clock skew", () => { const serverTime = Date.now(); - + const validateSkew = (clientTime: number) => { const diff = Math.abs(serverTime - clientTime); return diff < 15000; // max 15 seconds skew allowed @@ -194,7 +207,6 @@ describe('Resilience and Domain Edge Cases Verification Suite', () => { expect(validateSkew(serverTime + 20000)).toBe(false); // future skew blocked }); }); - }); // Helper for range checks @@ -210,7 +222,8 @@ expect.extend({ const pass = received >= low && received <= high; if (pass) { return { - message: () => `expected ${received} not to be between ${low} and ${high}`, + message: () => + `expected ${received} not to be between ${low} and ${high}`, pass: true, }; } else { diff --git a/packages/api/src/.internal-tests/routers.test.ts b/packages/api/src/.internal-tests/routers.test.ts index 0b31ccc9..85d00268 100644 --- a/packages/api/src/.internal-tests/routers.test.ts +++ b/packages/api/src/.internal-tests/routers.test.ts @@ -1,10 +1,10 @@ -import { describe, it, expect, vi, beforeEach } from 'vitest'; -import { appRouter } from '../root'; -import { TRPCError } from '@trpc/server'; -import { cache } from '../middleware/cache'; -import { db } from '@query/db'; -import { errorFormatter } from '../trpc'; -import { sanitizeInput } from '../middleware/security'; +import { describe, it, expect, vi, beforeEach } from "vitest"; +import { appRouter } from "../root"; +import { TRPCError } from "@trpc/server"; +import { cache } from "../middleware/cache"; +import { db } from "@query/db"; +import { errorFormatter } from "../trpc"; +import { sanitizeInput } from "../middleware/security"; // Fully mock the DB at the file level const mockFindFirst = vi.fn(); @@ -13,139 +13,296 @@ const mockInsert = vi.fn(); const mockUpdate = vi.fn(); const mockDelete = vi.fn(); -vi.mock('@query/db', () => { +vi.mock("@query/db", () => { return { db: { transaction: vi.fn().mockImplementation((callback) => callback(db)), query: { admins: { - findFirst: (...args: any[]) => mockFindFirst('admins', ...args), - findMany: (...args: any[]) => mockFindMany('admins', ...args), + findFirst: (...args: any[]) => mockFindFirst("admins", ...args), + findMany: (...args: any[]) => mockFindMany("admins", ...args), }, hackathons: { - findFirst: (...args: any[]) => mockFindFirst('hackathons', ...args), - findMany: (...args: any[]) => mockFindMany('hackathons', ...args), + findFirst: (...args: any[]) => mockFindFirst("hackathons", ...args), + findMany: (...args: any[]) => mockFindMany("hackathons", ...args), }, hackathonParticipants: { - findFirst: (...args: any[]) => mockFindFirst('hackathonParticipants', ...args), - findMany: (...args: any[]) => mockFindMany('hackathonParticipants', ...args), + findFirst: (...args: any[]) => + mockFindFirst("hackathonParticipants", ...args), + findMany: (...args: any[]) => + mockFindMany("hackathonParticipants", ...args), }, hackathonTeams: { - findFirst: (...args: any[]) => mockFindFirst('hackathonTeams', ...args), - findMany: (...args: any[]) => mockFindMany('hackathonTeams', ...args), + findFirst: (...args: any[]) => + mockFindFirst("hackathonTeams", ...args), + findMany: (...args: any[]) => mockFindMany("hackathonTeams", ...args), }, users: { - findFirst: (...args: any[]) => mockFindFirst('users', ...args), - findMany: (...args: any[]) => mockFindMany('users', ...args), + findFirst: (...args: any[]) => mockFindFirst("users", ...args), + findMany: (...args: any[]) => mockFindMany("users", ...args), }, members: { - findFirst: (...args: any[]) => mockFindFirst('members', ...args), - findMany: (...args: any[]) => mockFindMany('members', ...args), + findFirst: (...args: any[]) => mockFindFirst("members", ...args), + findMany: (...args: any[]) => mockFindMany("members", ...args), }, events: { - findFirst: (...args: any[]) => mockFindFirst('events', ...args), - findMany: (...args: any[]) => mockFindMany('events', ...args), + findFirst: (...args: any[]) => mockFindFirst("events", ...args), + findMany: (...args: any[]) => mockFindMany("events", ...args), }, judges: { - findFirst: (...args: any[]) => mockFindFirst('judges', ...args), - findMany: (...args: any[]) => mockFindMany('judges', ...args), + findFirst: (...args: any[]) => mockFindFirst("judges", ...args), + findMany: (...args: any[]) => mockFindMany("judges", ...args), }, judgeAssignments: { - findFirst: (...args: any[]) => mockFindFirst('judgeAssignments', ...args), - findMany: (...args: any[]) => mockFindMany('judgeAssignments', ...args), + findFirst: (...args: any[]) => + mockFindFirst("judgeAssignments", ...args), + findMany: (...args: any[]) => + mockFindMany("judgeAssignments", ...args), }, hackathonProjects: { - findFirst: (...args: any[]) => mockFindFirst('hackathonProjects', ...args), - findMany: (...args: any[]) => mockFindMany('hackathonProjects', ...args), - } + findFirst: (...args: any[]) => + mockFindFirst("hackathonProjects", ...args), + findMany: (...args: any[]) => + mockFindMany("hackathonProjects", ...args), + }, + userProfiles: { + findFirst: (...args: any[]) => mockFindFirst("userProfiles", ...args), + findMany: (...args: any[]) => mockFindMany("userProfiles", ...args), + }, + membershipHistory: { + findFirst: (...args: any[]) => + mockFindFirst("membershipHistory", ...args), + findMany: (...args: any[]) => + mockFindMany("membershipHistory", ...args), + }, + eventCheckIns: { + findFirst: (...args: any[]) => mockFindFirst("eventCheckIns", ...args), + findMany: (...args: any[]) => mockFindMany("eventCheckIns", ...args), + }, + hackathonEvents: { + findFirst: (...args: any[]) => + mockFindFirst("hackathonEvents", ...args), + findMany: (...args: any[]) => + mockFindMany("hackathonEvents", ...args), + }, + hackathonEventAttendees: { + findFirst: (...args: any[]) => + mockFindFirst("hackathonEventAttendees", ...args), + findMany: (...args: any[]) => + mockFindMany("hackathonEventAttendees", ...args), + }, + judgingProjects: { + findFirst: (...args: any[]) => + mockFindFirst("judgingProjects", ...args), + findMany: (...args: any[]) => + mockFindMany("judgingProjects", ...args), + }, + judgeVotes: { + findFirst: (...args: any[]) => mockFindFirst("judgeVotes", ...args), + findMany: (...args: any[]) => mockFindMany("judgeVotes", ...args), + }, + judgeQueue: { + findFirst: (...args: any[]) => mockFindFirst("judgeQueue", ...args), + findMany: (...args: any[]) => mockFindMany("judgeQueue", ...args), + }, + hackathonMaps: { + findFirst: (...args: any[]) => mockFindFirst("hackathonMaps", ...args), + findMany: (...args: any[]) => mockFindMany("hackathonMaps", ...args), + }, + stripePayments: { + findFirst: (...args: any[]) => + mockFindFirst("stripePayments", ...args), + findMany: (...args: any[]) => mockFindMany("stripePayments", ...args), + }, + userAccountLinks: { + findFirst: (...args: any[]) => + mockFindFirst("userAccountLinks", ...args), + findMany: (...args: any[]) => + mockFindMany("userAccountLinks", ...args), + }, + auditLogs: { + findFirst: (...args: any[]) => mockFindFirst("auditLogs", ...args), + findMany: (...args: any[]) => mockFindMany("auditLogs", ...args), + }, }, - insert: () => ({ - values: () => ({ - returning: mockInsert, - }), + insert: (...insertArgs: any[]) => ({ + values: (...valArgs: any[]) => { + const val = mockInsert("insert", insertArgs, valArgs); + return Object.assign(Promise.resolve(val), { + returning: vi.fn().mockResolvedValue(val), + onConflictDoUpdate: vi.fn().mockImplementation(() => ({ + returning: vi.fn().mockResolvedValue(val), + })), + }); + }, }), - update: () => ({ - set: () => ({ - where: mockUpdate, + update: (...updateArgs: any[]) => ({ + set: (...setArgs: any[]) => ({ + where: (...wArgs: any[]) => { + const val = mockUpdate("update", updateArgs, setArgs, wArgs); + return Object.assign(Promise.resolve(val), { + returning: vi.fn().mockResolvedValue(val), + }); + }, }), }), - delete: () => ({ - where: mockDelete, + delete: (...deleteArgs: any[]) => ({ + where: (...wArgs: any[]) => { + const val = mockDelete("delete", deleteArgs, wArgs); + return Object.assign(Promise.resolve(val), { + returning: vi.fn().mockResolvedValue(val), + }); + }, }), select: vi.fn().mockImplementation(() => ({ from: vi.fn().mockImplementation(() => ({ where: vi.fn().mockImplementation(() => ({ orderBy: vi.fn().mockResolvedValue([{ count: 0 }]), + groupBy: vi.fn().mockResolvedValue([]), + limit: vi.fn().mockResolvedValue([]), + offset: vi.fn().mockResolvedValue([]), })), orderBy: vi.fn().mockResolvedValue([{ count: 0 }]), + groupBy: vi.fn().mockResolvedValue([]), + innerJoin: vi.fn().mockImplementation(() => ({ + innerJoin: vi.fn().mockImplementation(() => ({ + where: vi.fn().mockResolvedValue([]), + })), + where: vi.fn().mockResolvedValue([]), + })), })), })), }, admins: { - userId: 'user_id', - isActive: 'is_active', - role: 'role', + userId: "user_id", + isActive: "is_active", + role: "role", }, users: { - id: 'id', - email: 'email', + id: "id", + email: "email", + }, + userProfiles: { + userId: "user_id", }, hackathons: { - id: 'id', - status: 'status', - isPublic: 'is_public', - startDate: 'start_date', - endDate: 'end_date', + id: "id", + status: "status", + isPublic: "is_public", + startDate: "start_date", + endDate: "end_date", + currentParticipants: "current_participants", + maxParticipants: "max_participants", }, hackathonParticipants: { - id: 'id', - hackathonId: 'hackathon_id', - userId: 'user_id', - status: 'status', + id: "id", + hackathonId: "hackathon_id", + userId: "user_id", + status: "status", + registrationStatus: "registration_status", }, hackathonTeams: { - id: 'id', - hackathonId: 'hackathon_id', - name: 'name', + id: "id", + hackathonId: "hackathon_id", + name: "name", }, members: { - userId: 'user_id', + id: "id", + userId: "user_id", + hackathonId: "hackathon_id", + }, + membershipHistory: { + id: "id", + memberId: "member_id", }, events: { - id: 'id', - title: 'title', - qrCode: 'qr_code', - checkInEnabled: 'check_in_enabled', - eventDate: 'event_date', + id: "id", + title: "title", + qrCode: "qr_code", + checkInEnabled: "check_in_enabled", + eventDate: "event_date", + currentCheckIns: "current_check_ins", + }, + eventCheckIns: { + id: "id", + eventId: "event_id", + userId: "user_id", + }, + hackathonEvents: { + id: "id", + hackathonId: "hackathon_id", + }, + hackathonEventAttendees: { + eventId: "event_id", + participantId: "participant_id", }, judges: { - id: 'id', - userId: 'user_id', + id: "id", + userId: "user_id", + hackathonId: "hackathon_id", }, judgeAssignments: { - judgeId: 'judge_id', - hackathonId: 'hackathon_id', + judgeId: "judge_id", + hackathonId: "hackathon_id", }, hackathonProjects: { - id: 'id', - hackathonId: 'hackathon_id', - } + id: "id", + hackathonId: "hackathon_id", + }, + judgingProjects: { + id: "id", + hackathonId: "hackathon_id", + tableNumber: "table_number", + }, + judgeVotes: { + judgeId: "judge_id", + projectId: "project_id", + score: "score", + }, + judgeQueue: { + id: "id", + judgeId: "judge_id", + hackathonId: "hackathon_id", + isCompleted: "is_completed", + }, + hackathonMaps: { + id: "id", + hackathonId: "hackathon_id", + }, + stripePayments: { + id: "id", + customerEmail: "customer_email", + stripePaymentIntentId: "stripe_payment_intent_id", + }, + userAccountLinks: { + userId: "user_id", + stripePaymentId: "stripe_payment_id", + }, + auditLogs: { + id: "id", + severity: "severity", + userId: "user_id", + }, }; }); -describe('Router Integration and Access Control Verification Suite', () => { +describe("Router Integration and Access Control Verification Suite", () => { beforeEach(() => { vi.clearAllMocks(); cache.clear(); }); - const createMockCtx = (userId?: string, extra: Record = {}, headers: Record = {}) => { + const createMockCtx = ( + userId?: string, + extra: Record = {}, + headers: Record = {}, + ) => { return { db, session: userId ? { user: { id: userId } } : null, userId: userId || undefined, cache: cache, - clientIp: '127.0.0.1', + clientIp: "127.0.0.1", req: { headers: { get: (name: string) => headers[name.toLowerCase()] || null, @@ -155,12 +312,18 @@ describe('Router Integration and Access Control Verification Suite', () => { } as any; }; - describe('1. Admin Permissions and Role Restrictons', () => { - it('should query the database on cache miss and verify admin status', async () => { - const ctx = createMockCtx('admin_user_id'); + describe("1. Admin Permissions and Role Restrictons", () => { + it("should query the database on cache miss and verify admin status", async () => { + const ctx = createMockCtx("admin_user_id"); mockFindFirst.mockImplementation((table) => { - if (table === 'admins') { - return { id: 'admin_1', userId: 'admin_user_id', role: 'admin', isActive: true, permissions: [] }; + if (table === "admins") { + return { + id: "admin_1", + userId: "admin_user_id", + role: "admin", + isActive: true, + permissions: [], + }; } return null; }); @@ -169,7 +332,7 @@ describe('Router Integration and Access Control Verification Suite', () => { const res = await caller.admin.isAdmin(); expect(res.isAdmin).toBe(true); - expect(res.role).toBe('admin'); + expect(res.role).toBe("admin"); expect(mockFindFirst).toHaveBeenCalledTimes(1); // Hit cache next time @@ -178,19 +341,26 @@ describe('Router Integration and Access Control Verification Suite', () => { expect(mockFindFirst).toHaveBeenCalledTimes(1); }); - it('should throw FORBIDDEN error when regular user calls admin endpoints', async () => { - const ctx = createMockCtx('regular_user_id'); + it("should throw FORBIDDEN error when regular user calls admin endpoints", async () => { + const ctx = createMockCtx("regular_user_id"); mockFindFirst.mockReturnValue(null); // Not an admin const caller = appRouter.createCaller(ctx); - await expect(caller.admin.analyticsOverview()).rejects.toThrowError('Admin access required'); + await expect(caller.admin.analyticsOverview()).rejects.toThrowError( + "Admin access required", + ); }); - it('should block non-super-admins from adding new admins', async () => { - const ctx = createMockCtx('admin_user_id'); + it("should block non-super-admins from adding new admins", async () => { + const ctx = createMockCtx("admin_user_id"); mockFindFirst.mockImplementation((table) => { - if (table === 'admins') { - return { id: 'admin_1', userId: 'admin_user_id', role: 'admin', isActive: true }; + if (table === "admins") { + return { + id: "admin_1", + userId: "admin_user_id", + role: "admin", + isActive: true, + }; } return null; }); @@ -198,78 +368,103 @@ describe('Router Integration and Access Control Verification Suite', () => { const caller = appRouter.createCaller(ctx); await expect( caller.admin.create({ - userId: 'target_user_id', - role: 'admin', - }) - ).rejects.toThrowError('Super admin access required'); + userId: "target_user_id", + role: "admin", + }), + ).rejects.toThrowError("Super admin access required"); }); }); - describe('2. Hackathon and Club Events Access Controls', () => { - it('should allow public listing of hackathons by unauthenticated users', async () => { + describe("2. Hackathon and Club Events Access Controls", () => { + it("should allow public listing of hackathons by unauthenticated users", async () => { const ctx = createMockCtx(); // No session mockFindMany.mockReturnValue([ - { id: 'h_1', name: 'Public Hackathon 2026', status: 'open', isPublic: true }, + { + id: "h_1", + name: "Public Hackathon 2026", + status: "open", + isPublic: true, + }, ]); const caller = appRouter.createCaller(ctx); const result = await caller.hackathon.list({ limit: 10 }); expect(result.length).toBe(1); - expect(result[0].name).toBe('Public Hackathon 2026'); + expect(result[0].name).toBe("Public Hackathon 2026"); }); - it('should separate hackathon event and club event category designations', () => { - const hackathonType = { id: 'type_1', category: 'hackathon' }; - const clubType = { id: 'type_2', category: 'club' }; + it("should separate hackathon event and club event category designations", () => { + const hackathonType = { id: "type_1", category: "hackathon" }; + const clubType = { id: "type_2", category: "club" }; expect(hackathonType.category).not.toBe(clubType.category); }); }); - describe('3. Over-Fetching and Leakage Protections', () => { - it('should strip secret qrCode from public events listing', async () => { + describe("3. Over-Fetching and Leakage Protections", () => { + it("should strip secret qrCode from public events listing", async () => { const ctx = createMockCtx(); // Public user mockFindMany.mockReturnValue([ - { id: 'event_1', title: 'Keynote Speech', qrCode: 'secret_qr_code_123', checkInEnabled: true, eventDate: new Date() } + { + id: "event_1", + title: "Keynote Speech", + qrCode: "secret_qr_code_123", + checkInEnabled: true, + eventDate: new Date(), + }, ]); const caller = appRouter.createCaller(ctx); const listResult = await caller.events.list(); - + expect(listResult.length).toBe(1); - expect(listResult[0].title).toBe('Keynote Speech'); + expect(listResult[0].title).toBe("Keynote Speech"); // Assert qrCode is stripped from returned object expect((listResult[0] as any).qrCode).toBeUndefined(); }); - it('should retain qrCode in admin listAll events endpoint', async () => { - const ctx = createMockCtx('admin_user_id'); + it("should retain qrCode in admin listAll events endpoint", async () => { + const ctx = createMockCtx("admin_user_id"); mockFindFirst.mockImplementation((table) => { - if (table === 'admins') { - return { id: 'admin_1', userId: 'admin_user_id', role: 'admin', isActive: true }; + if (table === "admins") { + return { + id: "admin_1", + userId: "admin_user_id", + role: "admin", + isActive: true, + }; } return null; }); mockFindMany.mockReturnValue([ - { id: 'event_1', title: 'Keynote Speech', qrCode: 'secret_qr_code_123', checkInEnabled: true, eventDate: new Date() } + { + id: "event_1", + title: "Keynote Speech", + qrCode: "secret_qr_code_123", + checkInEnabled: true, + eventDate: new Date(), + }, ]); const caller = appRouter.createCaller(ctx); const allResult = await caller.events.listAll(); - + expect(allResult.length).toBe(1); - expect(allResult[0].qrCode).toBe('secret_qr_code_123'); + expect(allResult[0].qrCode).toBe("secret_qr_code_123"); }); }); - describe('4. Secure Error Formatting', () => { - it('should mask database connection string credentials in production mode', () => { - const rawError = new Error('Fatal Postgres connection timeout: secret_password_value=xyz123'); - + describe("4. Secure Error Formatting", () => { + it("should mask database connection string credentials in production mode", () => { + const rawError = new Error( + "Fatal Postgres connection timeout: secret_password_value=xyz123", + ); + const originalEnv = process.env.NODE_ENV; - (process.env as Record).NODE_ENV = 'production'; + (process.env as Record).NODE_ENV = + "production"; const trpcError = new TRPCError({ - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", message: rawError.message, cause: rawError, }); @@ -279,27 +474,29 @@ describe('Router Integration and Access Control Verification Suite', () => { message: trpcError.message, code: -32603, data: { - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", httpStatus: 500, }, }, error: trpcError, }); - (process.env as Record).NODE_ENV = originalEnv; + (process.env as Record).NODE_ENV = + originalEnv; - expect(formatted.message).toBe('An unexpected error occurred'); - expect(formatted.message).not.toContain('secret_password_value'); + expect(formatted.message).toBe("An unexpected error occurred"); + expect(formatted.message).not.toContain("secret_password_value"); }); - it('should retain detailed error messages in development mode', () => { - const rawError = new Error('Database column missing error detail'); - + it("should retain detailed error messages in development mode", () => { + const rawError = new Error("Database column missing error detail"); + const originalEnv = process.env.NODE_ENV; - (process.env as Record).NODE_ENV = 'development'; + (process.env as Record).NODE_ENV = + "development"; const trpcError = new TRPCError({ - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", message: rawError.message, cause: rawError, }); @@ -309,73 +506,101 @@ describe('Router Integration and Access Control Verification Suite', () => { message: trpcError.message, code: -32603, data: { - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", httpStatus: 500, }, }, error: trpcError, }); - (process.env as Record).NODE_ENV = originalEnv; + (process.env as Record).NODE_ENV = + originalEnv; - expect(formatted.message).toBe('Database column missing error detail'); + expect(formatted.message).toBe("Database column missing error detail"); }); }); - describe('5. Content-Type Evasion and CSRF Protection', () => { - it('should allow mutation when Content-Type is application/json', async () => { - const ctx = createMockCtx('admin_user_id', {}, { 'content-type': 'application/json' }); + describe("5. Content-Type Evasion and CSRF Protection", () => { + it("should allow mutation when Content-Type is application/json", async () => { + const ctx = createMockCtx( + "admin_user_id", + {}, + { "content-type": "application/json" }, + ); mockFindFirst.mockImplementation((table, query) => { - if (table === 'admins') { - if (query && JSON.stringify(query).includes('target_user')) { + if (table === "admins") { + if (query && JSON.stringify(query).includes("target_user")) { return null; // Target user is not already admin } - return { id: 'admin_1', userId: 'admin_user_id', role: 'super_admin', isActive: true }; + return { + id: "admin_1", + userId: "admin_user_id", + role: "super_admin", + isActive: true, + }; } - if (table === 'users') { - return { id: 'target_user' }; + if (table === "users") { + return { id: "target_user" }; } return null; }); - mockInsert.mockReturnValue([{ id: 'new_admin' }]); + mockInsert.mockReturnValue([{ id: "new_admin" }]); const caller = appRouter.createCaller(ctx); const res = await caller.admin.create({ - userId: 'target_user', - role: 'admin', + userId: "target_user", + role: "admin", }); expect(res).toBeDefined(); }); - it('should block mutation when Content-Type is text/plain (CORS preflight bypass)', async () => { - const ctx = createMockCtx('admin_user_id', {}, { 'content-type': 'text/plain' }); - + it("should block mutation when Content-Type is text/plain (CORS preflight bypass)", async () => { + const ctx = createMockCtx( + "admin_user_id", + {}, + { "content-type": "text/plain" }, + ); + const caller = appRouter.createCaller(ctx); await expect( caller.admin.create({ - userId: 'target_user', - role: 'admin', - }) - ).rejects.toThrowError('Invalid Content-Type for mutation request'); + userId: "target_user", + role: "admin", + }), + ).rejects.toThrowError("Invalid Content-Type for mutation request"); }); - it('should block mutation when Content-Type is application/x-www-form-urlencoded', async () => { - const ctx = createMockCtx('admin_user_id', {}, { 'content-type': 'application/x-www-form-urlencoded' }); - + it("should block mutation when Content-Type is application/x-www-form-urlencoded", async () => { + const ctx = createMockCtx( + "admin_user_id", + {}, + { "content-type": "application/x-www-form-urlencoded" }, + ); + const caller = appRouter.createCaller(ctx); await expect( caller.admin.create({ - userId: 'target_user', - role: 'admin', - }) - ).rejects.toThrowError('Invalid Content-Type for mutation request'); + userId: "target_user", + role: "admin", + }), + ).rejects.toThrowError("Invalid Content-Type for mutation request"); }); - it('should allow queries even with text/plain Content-Type (safe side-effect free requests)', async () => { - const ctx = createMockCtx('admin_user_id', {}, { 'content-type': 'text/plain' }); + it("should allow queries even with text/plain Content-Type (safe side-effect free requests)", async () => { + const ctx = createMockCtx( + "admin_user_id", + {}, + { "content-type": "text/plain" }, + ); mockFindFirst.mockImplementation((table) => { - if (table === 'admins') { - return { id: 'admin_1', userId: 'admin_user_id', role: 'admin', isActive: true, permissions: [] }; + if (table === "admins") { + return { + id: "admin_1", + userId: "admin_user_id", + role: "admin", + isActive: true, + permissions: [], + }; } return null; }); @@ -386,15 +611,16 @@ describe('Router Integration and Access Control Verification Suite', () => { }); }); - describe('6. Postgres Connection Starvation and Parameter Safety', () => { - it('should format Postgres connection pool exhaustion errors safely in production', () => { - const pgError = new Error('sorry, too many clients already'); - + describe("6. Postgres Connection Starvation and Parameter Safety", () => { + it("should format Postgres connection pool exhaustion errors safely in production", () => { + const pgError = new Error("sorry, too many clients already"); + const originalEnv = process.env.NODE_ENV; - (process.env as Record).NODE_ENV = 'production'; + (process.env as Record).NODE_ENV = + "production"; const trpcError = new TRPCError({ - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", message: pgError.message, cause: pgError, }); @@ -404,48 +630,53 @@ describe('Router Integration and Access Control Verification Suite', () => { message: trpcError.message, code: -32603, data: { - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", httpStatus: 500, }, }, error: trpcError, }); - (process.env as Record).NODE_ENV = originalEnv; + (process.env as Record).NODE_ENV = + originalEnv; // Ensure error details about clients or connection exhaustion are masked - expect(formatted.message).toBe('An unexpected error occurred'); - expect(formatted.message).not.toContain('too many clients'); + expect(formatted.message).toBe("An unexpected error occurred"); + expect(formatted.message).not.toContain("too many clients"); }); - it('should ensure backslash escapes in sql queries are checked securely', () => { + it("should ensure backslash escapes in sql queries are checked securely", () => { // Drizzle handles parameterization automatically, so raw inputs are never interpolated directly. // We test that inputs containing backslashes are sanitized/passed as single literals. const dangerousValue = "value\\' OR \\'1\\'=\\'1"; const cleanValue = sanitizeInput(dangerousValue); - expect(typeof cleanValue).toBe('string'); + expect(typeof cleanValue).toBe("string"); }); }); - describe('7. Hackathon Teams, Judge and Project Submission Restrictions', () => { - it('should reject team creation if maxMembers is greater than 4', async () => { - const ctx = createMockCtx('user_id'); + describe("7. Hackathon Teams, Judge and Project Submission Restrictions", () => { + it("should reject team creation if maxMembers is greater than 4", async () => { + const ctx = createMockCtx("user_id"); const caller = appRouter.createCaller(ctx); await expect( caller.team.createTeam({ - hackathonId: '00000000-0000-0000-0000-000000000000', - name: 'Super Team', + hackathonId: "00000000-0000-0000-0000-000000000000", + name: "Super Team", maxMembers: 5, - }) + }), ).rejects.toThrow(); }); - it('should prevent registered participants from applying to be a judge', async () => { - const ctx = createMockCtx('participant_user_id'); - const hackathonId = '00000000-0000-0000-0000-000000000001'; + it("should prevent registered participants from applying to be a judge", async () => { + const ctx = createMockCtx("participant_user_id"); + const hackathonId = "00000000-0000-0000-0000-000000000001"; mockFindFirst.mockImplementation((table) => { - if (table === 'hackathonParticipants') { - return { id: 'participant_1', userId: 'participant_user_id', hackathonId }; + if (table === "hackathonParticipants") { + return { + id: "participant_1", + userId: "participant_user_id", + hackathonId, + }; } return null; }); @@ -454,28 +685,39 @@ describe('Router Integration and Access Control Verification Suite', () => { await expect( caller.judge.register({ hackathonId, - name: 'John Doe', - email: 'john@example.com', - }) - ).rejects.toThrowError('You cannot apply to be a judge because you are registered as a participant for this hackathon.'); + name: "John Doe", + email: "john@example.com", + }), + ).rejects.toThrowError( + "You cannot apply to be a judge because you are registered as a participant for this hackathon.", + ); }); - it('should prevent project submissions before 12 hours after the hacking begins', async () => { - const ctx = createMockCtx('captain_user_id'); - const hackathonId = '00000000-0000-0000-0000-000000000001'; - const teamId = '00000000-0000-0000-0000-000000000002'; - + it("should prevent project submissions before 12 hours after the hacking begins", async () => { + const ctx = createMockCtx("captain_user_id"); + const hackathonId = "00000000-0000-0000-0000-000000000001"; + const teamId = "00000000-0000-0000-0000-000000000002"; + const recentStartDate = new Date(Date.now() - 11 * 60 * 60 * 1000); // 11 hours ago mockFindFirst.mockImplementation((table) => { - if (table === 'hackathonParticipants') { - return { id: 'participant_1', userId: 'captain_user_id', hackathonId, teamId }; + if (table === "hackathonParticipants") { + return { + id: "participant_1", + userId: "captain_user_id", + hackathonId, + teamId, + }; } - if (table === 'hackathons') { - return { id: hackathonId, startDate: recentStartDate, hackingStartTime: null }; + if (table === "hackathons") { + return { + id: hackathonId, + startDate: recentStartDate, + hackingStartTime: null, + }; } - if (table === 'hackathonTeams') { - return { id: teamId, captainId: 'captain_user_id', hackathonId }; + if (table === "hackathonTeams") { + return { id: teamId, captainId: "captain_user_id", hackathonId }; } return null; }); @@ -485,31 +727,48 @@ describe('Router Integration and Access Control Verification Suite', () => { caller.team.submitProject({ hackathonId, teamId, - name: 'Awesome Project', - description: 'This is a long description of the awesome project.', - }) - ).rejects.toThrowError('Project submission is not open yet. It starts 12 hours after the hacking begins.'); + name: "Awesome Project", + description: "This is a long description of the awesome project.", + }), + ).rejects.toThrowError( + "Project submission is not open yet. It starts 12 hours after the hacking begins.", + ); }); - it('should prevent project edits (existing project) after 34 hours of starting hacking', async () => { - const ctx = createMockCtx('captain_user_id'); - const hackathonId = '00000000-0000-0000-0000-000000000001'; - const teamId = '00000000-0000-0000-0000-000000000002'; - + it("should prevent project edits (existing project) after 34 hours of starting hacking", async () => { + const ctx = createMockCtx("captain_user_id"); + const hackathonId = "00000000-0000-0000-0000-000000000001"; + const teamId = "00000000-0000-0000-0000-000000000002"; + const startDate35hAgo = new Date(Date.now() - 35 * 60 * 60 * 1000); // 35 hours ago mockFindFirst.mockImplementation((table) => { - if (table === 'hackathonParticipants') { - return { id: 'participant_1', userId: 'captain_user_id', hackathonId, teamId }; + if (table === "hackathonParticipants") { + return { + id: "participant_1", + userId: "captain_user_id", + hackathonId, + teamId, + }; } - if (table === 'hackathons') { - return { id: hackathonId, startDate: startDate35hAgo, hackingStartTime: null }; + if (table === "hackathons") { + return { + id: hackathonId, + startDate: startDate35hAgo, + hackingStartTime: null, + }; } - if (table === 'hackathonTeams') { - return { id: teamId, captainId: 'captain_user_id', hackathonId }; + if (table === "hackathonTeams") { + return { id: teamId, captainId: "captain_user_id", hackathonId }; } - if (table === 'hackathonProjects') { - return { id: 'project_1', hackathonId, teamId, name: 'Old Name', description: 'Old Description' }; + if (table === "hackathonProjects") { + return { + id: "project_1", + hackathonId, + teamId, + name: "Old Name", + description: "Old Description", + }; } return null; }); @@ -519,28 +778,39 @@ describe('Router Integration and Access Control Verification Suite', () => { caller.team.submitProject({ hackathonId, teamId, - name: 'Awesome Project', - description: 'This is a long description of the awesome project.', - }) - ).rejects.toThrowError('Project edits are closed. Devposts must be final 34 hours after the hacking starts.'); + name: "Awesome Project", + description: "This is a long description of the awesome project.", + }), + ).rejects.toThrowError( + "Project edits are closed. Devposts must be final 34 hours after the hacking starts.", + ); }); - it('should prevent project submissions more than 36 hours after hacking starts', async () => { - const ctx = createMockCtx('captain_user_id'); - const hackathonId = '00000000-0000-0000-0000-000000000001'; - const teamId = '00000000-0000-0000-0000-000000000002'; - + it("should prevent project submissions more than 36 hours after hacking starts", async () => { + const ctx = createMockCtx("captain_user_id"); + const hackathonId = "00000000-0000-0000-0000-000000000001"; + const teamId = "00000000-0000-0000-0000-000000000002"; + const pastStartDate = new Date(Date.now() - 37 * 60 * 60 * 1000); // 37 hours ago mockFindFirst.mockImplementation((table) => { - if (table === 'hackathonParticipants') { - return { id: 'participant_1', userId: 'captain_user_id', hackathonId, teamId }; + if (table === "hackathonParticipants") { + return { + id: "participant_1", + userId: "captain_user_id", + hackathonId, + teamId, + }; } - if (table === 'hackathons') { - return { id: hackathonId, startDate: pastStartDate, hackingStartTime: null }; + if (table === "hackathons") { + return { + id: hackathonId, + startDate: pastStartDate, + hackingStartTime: null, + }; } - if (table === 'hackathonTeams') { - return { id: teamId, captainId: 'captain_user_id', hackathonId }; + if (table === "hackathonTeams") { + return { id: teamId, captainId: "captain_user_id", hackathonId }; } return null; }); @@ -550,11 +820,796 @@ describe('Router Integration and Access Control Verification Suite', () => { caller.team.submitProject({ hackathonId, teamId, - name: 'Awesome Project', - description: 'This is a long description of the awesome project.', - }) - ).rejects.toThrowError('Project submission closed. The submission window ended 36 hours after the hacking started.'); + name: "Awesome Project", + description: "This is a long description of the awesome project.", + }), + ).rejects.toThrowError( + "Project submission closed. The submission window ended 36 hours after the hacking started.", + ); }); }); + describe("8. Hackathon Participant Registration (does it add users to the hackathon)", () => { + const hackathonId = "00000000-0000-0000-0000-000000000010"; + + it("should successfully register a user for an open hackathon and increment participant count", async () => { + const ctx = createMockCtx("new_user_id"); + + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") { + return { + id: hackathonId, + status: "open", + currentParticipants: 5, + maxParticipants: 100, + registrationDeadline: null, + }; + } + if (table === "hackathonParticipants") { + return null; // Not already registered + } + if (table === "members") { + return null; + } + return null; + }); + + mockInsert.mockReturnValue([ + { + id: "participant_new", + hackathonId, + userId: "new_user_id", + registrationStatus: "pending", + firstName: "John", + lastName: "Doe", + }, + ]); + + const caller = appRouter.createCaller(ctx); + const res = await caller.hackathon.register({ + hackathonId, + firstName: "John", + lastName: "Doe", + phone: "+14045550199", + age: 20, + school: "Georgia Tech", + major: "Computer Science", + graduationYear: 2026, + levelOfStudy: "Junior", + country: "United States", + agreeToCodeOfConduct: true, + }); + + expect(res.id).toBe("participant_new"); + expect(res.userId).toBe("new_user_id"); + expect(mockInsert).toHaveBeenCalled(); + expect(mockUpdate).toHaveBeenCalled(); + }); + + it("should reject registration if user is already registered", async () => { + const ctx = createMockCtx("existing_user_id"); + + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") { + return { id: hackathonId, status: "open" }; + } + if (table === "hackathonParticipants") { + return { id: "participant_existing", userId: "existing_user_id" }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + await expect( + caller.hackathon.register({ + hackathonId, + firstName: "John", + lastName: "Doe", + phone: "+14045550199", + age: 20, + school: "Georgia Tech", + major: "Computer Science", + graduationYear: 2026, + levelOfStudy: "Junior", + country: "United States", + agreeToCodeOfConduct: true, + }), + ).rejects.toThrowError("You are already registered for this hackathon"); + }); + + it("should reject registration if hackathon capacity is full", async () => { + const ctx = createMockCtx("user_id"); + + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") { + return { + id: hackathonId, + status: "open", + currentParticipants: 100, + maxParticipants: 100, + }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + await expect( + caller.hackathon.register({ + hackathonId, + firstName: "Jane", + lastName: "Smith", + phone: "+14045550199", + age: 21, + school: "Georgia Tech", + major: "Data Science", + graduationYear: 2025, + levelOfStudy: "Senior", + country: "United States", + agreeToCodeOfConduct: true, + }), + ).rejects.toThrowError("This hackathon is full"); + }); + + it("should reject registration if hackathon status is not open", async () => { + const ctx = createMockCtx("user_id"); + + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") { + return { id: hackathonId, status: "draft" }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + await expect( + caller.hackathon.register({ + hackathonId, + firstName: "Alice", + lastName: "Bob", + phone: "+14045550199", + age: 19, + school: "MIT", + major: "CS", + graduationYear: 2027, + levelOfStudy: "Sophomore", + country: "United States", + agreeToCodeOfConduct: true, + }), + ).rejects.toThrowError("Registration is not open for this hackathon"); + }); + + it("should return user's registrations via myRegistrations", async () => { + const ctx = createMockCtx("user_123"); + mockFindMany.mockReturnValue([ + { id: "participant_1", hackathonId, userId: "user_123" }, + ]); + + const caller = appRouter.createCaller(ctx); + const res = await caller.hackathon.myRegistrations(); + expect(res.length).toBe(1); + expect(res[0].id).toBe("participant_1"); + }); + + it("should return public participant list for a hackathon", async () => { + const ctx = createMockCtx(); + mockFindMany.mockReturnValue([ + { id: "p1", hackathonId, userId: "u1", registrationStatus: "approved" }, + ]); + + const caller = appRouter.createCaller(ctx); + const res = await caller.hackathon.participants({ hackathonId }); + expect(res.length).toBe(1); + expect(res[0].id).toBe("p1"); + }); + }); + + describe("9. Hackathon Creation, Updates and Admin Operations (does it create stuff)", () => { + const hackathonId = "00000000-0000-0000-0000-000000000020"; + + it("should allow admin to create a new hackathon with draft status", async () => { + const ctx = createMockCtx("admin_user_id"); + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + return null; + }); + + const startDate = new Date(Date.now() + 86400000); + const endDate = new Date(Date.now() + 172800000); + + mockInsert.mockReturnValue([ + { + id: hackathonId, + name: "Hacklytics 2027", + status: "draft", + startDate, + endDate, + }, + ]); + + const caller = appRouter.createCaller(ctx); + const created = await caller.hackathon.create({ + name: "Hacklytics 2027", + description: "Premier Data Science Hackathon", + startDate, + endDate, + }); + + expect(created.name).toBe("Hacklytics 2027"); + expect(created.status).toBe("draft"); + }); + + it("should allow admin to update an existing hackathon", async () => { + const ctx = createMockCtx("admin_user_id"); + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + if (table === "hackathons") { + return { + id: hackathonId, + name: "Old Name", + startDate: new Date(Date.now() + 86400000), + endDate: new Date(Date.now() + 172800000), + }; + } + return null; + }); + + mockUpdate.mockReturnValue([ + { id: hackathonId, name: "Updated Hackathon Name", status: "open" }, + ]); + + const caller = appRouter.createCaller(ctx); + const updated = await caller.hackathon.update({ + id: hackathonId, + name: "Updated Hackathon Name", + status: "open", + }); + + expect(updated.name).toBe("Updated Hackathon Name"); + expect(updated.status).toBe("open"); + }); + + it("should allow admin to delete a hackathon", async () => { + const ctx = createMockCtx("admin_user_id"); + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + const res = await caller.hackathon.delete({ hackathonId }); + expect(res.success).toBe(true); + expect(mockDelete).toHaveBeenCalled(); + }); + + it("should allow admin to update participant registration status", async () => { + const ctx = createMockCtx("admin_user_id"); + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + if (table === "hackathonParticipants") { + return { id: "part_1", hackathonId, registrationStatus: "pending" }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + const res = await caller.hackathon.updateParticipantStatus({ + hackathonId, + participantId: "00000000-0000-0000-0000-000000000099", + status: "approved", + }); + + expect(res.success).toBe(true); + expect(mockUpdate).toHaveBeenCalled(); + }); + + it("should scan participant event pass and prevent duplicate check-ins", async () => { + const ctx = createMockCtx("admin_user_id"); + const eventId = "00000000-0000-0000-0000-000000000030"; + const participantId = "00000000-0000-0000-0000-000000000031"; + + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + if (table === "hackathonParticipants") { + return { + id: participantId, + hackathonId, + registrationStatus: "approved", + user: { name: "Participant One", email: "p1@example.com" }, + }; + } + if (table === "hackathonEvents") { + return { id: eventId, hackathonId, name: "Keynote" }; + } + if (table === "hackathonEventAttendees") { + return null; // First scan + } + return null; + }); + + mockInsert.mockReturnValue([{ eventId, participantId }]); + + const caller = appRouter.createCaller(ctx); + const res = await caller.hackathon.scanParticipantPass({ + hackathonId, + eventId, + participantId, + }); + + expect(res.success).toBe(true); + + // Now test duplicate scan + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + if (table === "hackathonParticipants") { + return { + id: participantId, + hackathonId, + registrationStatus: "approved", + user: { name: "Participant One", email: "p1@example.com" }, + }; + } + if (table === "hackathonEvents") { + return { id: eventId, hackathonId, name: "Keynote" }; + } + if (table === "hackathonEventAttendees") { + return { eventId, participantId }; // Already scanned! + } + return null; + }); + + await expect( + caller.hackathon.scanParticipantPass({ + hackathonId, + eventId, + participantId, + }), + ).rejects.toThrowError("already checked into Keynote"); + }); + }); + + describe("10. Event Creation and QR Check-in System", () => { + it("should allow admin to create a general event and generate QR code", async () => { + const ctx = createMockCtx("admin_user_id"); + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + return null; + }); + + mockInsert.mockReturnValue([ + { + id: "event_100", + title: "General Meeting", + qrCode: "qr-12345-uuid", + checkInEnabled: true, + }, + ]); + + const caller = appRouter.createCaller(ctx); + const created = await caller.events.create({ + title: "General Meeting", + eventDate: new Date(), + }); + + expect(created.title).toBe("General Meeting"); + expect(created.qrCode).toBeDefined(); + }); + + it("should allow member to check in using valid event QR code", async () => { + const ctx = createMockCtx("member_user_id"); + const qrCode = "00000000-0000-0000-0000-000000000099"; + + mockFindFirst.mockImplementation((table) => { + if (table === "events") { + return { + id: "event_100", + title: "General Meeting", + qrCode, + checkInEnabled: true, + currentCheckIns: 0, + maxCheckIns: 50, + }; + } + if (table === "members") { + return { id: "member_1", userId: "member_user_id", isActive: true }; + } + if (table === "eventCheckIns") { + return null; // Not checked in yet + } + return null; + }); + + mockInsert.mockReturnValue([{ id: "checkin_1" }]); + + const caller = appRouter.createCaller(ctx); + const res = await caller.events.checkIn({ qrCode }); + + expect(res.success).toBe(true); + expect(res.eventTitle).toBe("General Meeting"); + }); + + it("should block non-members from checking into events", async () => { + const ctx = createMockCtx("non_member_user_id"); + const qrCode = "00000000-0000-0000-0000-000000000099"; + + mockFindFirst.mockImplementation((table) => { + if (table === "events") { + return { id: "event_100", qrCode, checkInEnabled: true }; + } + if (table === "members") { + return null; // Not a member + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + await expect( + caller.events.checkIn({ qrCode }), + ).rejects.toThrowError("Must be a member to check in"); + }); + }); + + describe("11. Member Registration, Renewal, and Status Tracking", () => { + const hackathonId = "00000000-0000-0000-0000-000000000040"; + + it("should register a user as a member for a hackathon", async () => { + const ctx = createMockCtx("user_member_1"); + + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") { + return { id: hackathonId }; + } + if (table === "members") { + return null; // Not yet a member + } + return null; + }); + + mockInsert.mockReturnValue([ + { + id: "member_new_id", + userId: "user_member_1", + hackathonId, + firstName: "John", + lastName: "Doe", + memberType: "new", + isActive: true, + }, + ]); + + const caller = appRouter.createCaller(ctx); + const member = await caller.member.register({ + hackathonId, + firstName: "John", + lastName: "Doe", + phoneNumber: "+14045550123", + }); + + expect(member.id).toBe("member_new_id"); + expect(member.memberType).toBe("new"); + expect(mockInsert).toHaveBeenCalledTimes(2); // member + membershipHistory + }); + + it("should reject duplicate member registration for the same hackathon", async () => { + const ctx = createMockCtx("user_member_1"); + + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") return { id: hackathonId }; + if (table === "members") return { id: "existing_member" }; + return null; + }); + + const caller = appRouter.createCaller(ctx); + await expect( + caller.member.register({ + hackathonId, + firstName: "John", + lastName: "Doe", + }), + ).rejects.toThrowError("You are already a member for this hackathon"); + }); + + it("should renew membership and increment renewal count", async () => { + const ctx = createMockCtx("user_member_1"); + + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") return { id: hackathonId }; + if (table === "members") { + return { + id: "member_1", + userId: "user_member_1", + hackathonId, + renewalCount: 1, + membershipEndDate: new Date(), + }; + } + return null; + }); + + mockUpdate.mockReturnValue([ + { + id: "member_1", + memberType: "continuous", + renewalCount: 2, + isActive: true, + }, + ]); + + const caller = appRouter.createCaller(ctx); + const renewed = await caller.member.renew({ hackathonId }); + + expect(renewed.renewalCount).toBe(2); + expect(renewed.memberType).toBe("continuous"); + }); + + it("should return correct membership status and days remaining", async () => { + const ctx = createMockCtx("user_member_1"); + const futureExpiry = new Date(Date.now() + 30 * 86400000); // 30 days from now + + mockFindFirst.mockImplementation((table) => { + if (table === "hackathons") return { id: hackathonId }; + if (table === "members") { + return { + id: "member_1", + userId: "user_member_1", + hackathonId, + isActive: true, + membershipEndDate: futureExpiry, + memberType: "new", + renewalCount: 0, + }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + const status = await caller.member.checkStatus({ hackathonId }); + + expect(status.isMember).toBe(true); + expect(status.isActive).toBe(true); + expect(status.daysRemaining).toBe(30); + }); + }); + + describe("12. Stripe Payments & Account Linking", () => { + it("should create checkout session in mock development mode", async () => { + const ctx = createMockCtx("stripe_user_id"); + const origKey = process.env.STRIPE_SECRET_KEY; + process.env.STRIPE_SECRET_KEY = "mk_test_123456"; + + mockFindFirst.mockImplementation((table) => { + if (table === "users") { + return { id: "stripe_user_id", email: "stripe@example.com", name: "Stripe User" }; + } + if (table === "hackathons") { + return { id: "h_latest", startDate: new Date() }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + const res = await caller.stripe.createCheckoutSession({ + returnUrl: "https://datasciencegt.org/portal", + }); + + process.env.STRIPE_SECRET_KEY = origKey; + expect(res.url).toContain("payment=success"); + }); + + it("should allow user to link Stripe payment to account", async () => { + const ctx = createMockCtx("user_to_link"); + + mockFindFirst.mockImplementation((table) => { + if (table === "stripePayments") { + return { + id: "payment_100", + customerEmail: "purchaser@example.com", + paymentStatus: "paid", + linkedUserId: null, + }; + } + if (table === "userAccountLinks") { + return null; // Not linked yet + } + if (table === "hackathons") { + return { id: "h_latest", startDate: new Date() }; + } + return null; + }); + + mockInsert.mockReturnValue([{ id: "link_1" }]); + + const caller = appRouter.createCaller(ctx); + const res = await caller.stripe.linkAccount({ + firstName: "Stripe", + lastName: "Payer", + email: "purchaser@example.com", + }); + + expect(res.success).toBe(true); + expect(res.message).toContain("Account linked successfully"); + }); + }); + + describe("13. Judging System, Queue & Live Rankings", () => { + const hackathonId = "00000000-0000-0000-0000-000000000050"; + + it("should allow admin to create a judge profile", async () => { + const ctx = createMockCtx("admin_user_id"); + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + if (table === "users") { + return { id: "judge_user_id", name: "Judge Dread", email: "judge@example.com" }; + } + if (table === "judges") { + return null; + } + return null; + }); + + mockInsert.mockReturnValue([ + { id: "judge_1", userId: "judge_user_id", hackathonId, name: "Judge Dread" }, + ]); + + const caller = appRouter.createCaller(ctx); + const judge = await caller.judge.create({ + userId: "judge_user_id", + hackathonId, + name: "Judge Dread", + }); + + expect(judge.name).toBe("Judge Dread"); + }); + + it("should calculate bias-corrected Z-score and Bayesian rankings for hackathon projects", async () => { + const ctx = createMockCtx("admin_user_id"); + + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + return null; + }); + + mockFindMany.mockImplementation((table) => { + if (table === "judgingProjects") { + return [ + { + id: "proj_1", + name: "AI Health Assistant", + tableNumber: 1, + votes: [ + { + judgeId: "j1", + score: 45, + scoreCreativity: 9, + scoreImpact: 9, + scoreScope: 9, + scoreClarity: 9, + scoreSoundness: 9, + judge: { name: "Strict Judge", user: { name: "Strict Judge" } }, + }, + { + judgeId: "j2", + score: 48, + scoreCreativity: 10, + scoreImpact: 10, + scoreScope: 9, + scoreClarity: 10, + scoreSoundness: 9, + judge: { name: "Lenient Judge", user: { name: "Lenient Judge" } }, + }, + ], + }, + { + id: "proj_2", + name: "Simple Web App", + tableNumber: 2, + votes: [ + { + judgeId: "j1", + score: 25, + scoreCreativity: 5, + scoreImpact: 5, + scoreScope: 5, + scoreClarity: 5, + scoreSoundness: 5, + judge: { name: "Strict Judge", user: { name: "Strict Judge" } }, + }, + ], + }, + ]; + } + return []; + }); + + const caller = appRouter.createCaller(ctx); + const res = await caller.judge.getRankings({ hackathonId }); + + expect(res.rankings.length).toBe(2); + expect(res.rankings[0].project.name).toBe("AI Health Assistant"); + expect(res.rankings[0].weightedScore).toBeGreaterThan(res.rankings[1].weightedScore); + }); + }); + + describe("14. User Profile & Image Validation", () => { + it("should return user profile data via me procedure", async () => { + const ctx = createMockCtx("user_100"); + mockFindFirst.mockImplementation((table) => { + if (table === "users") { + return { + id: "user_100", + email: "user@example.com", + name: "Sample User", + image: "https://example.com/avatar.jpg", + profile: { bio: "Student", website: "https://example.com", location: "Atlanta" }, + }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + const profile = await caller.user.me(); + + expect(profile.id).toBe("user_100"); + expect(profile.email).toBe("user@example.com"); + expect(profile.bio).toBe("Student"); + }); + + it("should allow user to update profile details", async () => { + const ctx = createMockCtx("user_100"); + + const caller = appRouter.createCaller(ctx); + const res = await caller.user.updateProfile({ + name: "Updated Name", + bio: "New Bio", + location: "Atlanta, GA", + }); + + expect(res.success).toBe(true); + }); + }); + + describe("15. Audit Logs System", () => { + it("should allow admin to retrieve audit logs with filters", async () => { + const ctx = createMockCtx("admin_user_id"); + + mockFindFirst.mockImplementation((table) => { + if (table === "admins") { + return { id: "admin_1", userId: "admin_user_id", role: "admin", isActive: true }; + } + return null; + }); + + mockFindMany.mockReturnValue([ + { id: "log_1", severity: "critical", userId: "target_user", createdAt: new Date() }, + ]); + + const caller = appRouter.createCaller(ctx); + const res = await caller.audit.list({ + limit: 10, + offset: 0, + severity: "critical", + }); + + expect(res.logs.length).toBe(1); + expect(res.pagination.limit).toBe(10); + }); + }); }); + diff --git a/packages/api/src/.internal-tests/security.test.ts b/packages/api/src/.internal-tests/security.test.ts index 6ef2d8c9..c2068ec3 100644 --- a/packages/api/src/.internal-tests/security.test.ts +++ b/packages/api/src/.internal-tests/security.test.ts @@ -1,152 +1,169 @@ -import { describe, it, expect, vi } from 'vitest'; -import { - sanitizeInput, - validateRequestSize, - rateLimit, - ddosProtection -} from '../middleware/security'; -import { TRPCError } from '@trpc/server'; - -vi.mock('@query/db', () => ({ +import { describe, it, expect, vi } from "vitest"; +import { + sanitizeInput, + validateRequestSize, + rateLimit, + ddosProtection, +} from "../middleware/security"; +import { TRPCError } from "@trpc/server"; + +vi.mock("@query/db", () => ({ db: { insert: vi.fn().mockReturnThis(), values: vi.fn() }, - auditLogs: {} + auditLogs: {}, })); -describe('Security and Protection Verification Suite', () => { - - describe('1. Input Sanitization - XSS Vulnerability Protections', () => { - it('should drop script tags completely', () => { +describe("Security and Protection Verification Suite", () => { + describe("1. Input Sanitization - XSS Vulnerability Protections", () => { + it("should drop script tags completely", () => { const result = sanitizeInput('hello'); - expect(result).toBe('hello'); + expect(result).toBe("hello"); }); - it('should sanitize image tag onerror events', () => { + it("should sanitize image tag onerror events", () => { try { - const result = sanitizeInput(''); - expect(result).not.toContain('onerror'); + const result = sanitizeInput( + '', + ); + expect(result).not.toContain("onerror"); } catch (err) { expect(err).toBeInstanceOf(TRPCError); } }); - it('should sanitize svg onload actions', () => { + it("should sanitize svg onload actions", () => { try { const result = sanitizeInput(''); - expect(result).not.toContain('onload'); - expect(result).not.toContain('javascript'); + expect(result).not.toContain("onload"); + expect(result).not.toContain("javascript"); } catch (err) { expect(err).toBeInstanceOf(TRPCError); } }); - it('should block explicit javascript protocol references', () => { + it("should block explicit javascript protocol references", () => { const payload = 'javascript:alert("hacked")'; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); - it('should clean nested script evasion attempts', () => { + it("should clean nested script evasion attempts", () => { const result = sanitizeInput('<'); - expect(result).not.toContain(' { - const result = sanitizeInput('This is a text with < than and > than symbols.'); - expect(result).toBe('This is a text with < than and > than symbols.'); + it("should handle benign inputs with brackets safely", () => { + const result = sanitizeInput( + "This is a text with < than and > than symbols.", + ); + expect(result).toBe( + "This is a text with < than and > than symbols.", + ); }); }); - describe('2. Input Sanitization - SQL Injection Protections', () => { - it('should block classic union select injections', () => { - const payload = '1 UNION SELECT username, password FROM users'; + describe("2. Input Sanitization - SQL Injection Protections", () => { + it("should block classic union select injections", () => { + const payload = "1 UNION SELECT username, password FROM users"; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); - it('should block SQL query stacking comments', () => { - const payload = 'DROP TABLE hackathons; -- '; + it("should block SQL query stacking comments", () => { + const payload = "DROP TABLE hackathons; -- "; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); - it('should block block-comment SQL injection style', () => { - const payload = 'SELECT * FROM events /* check comments */ WHERE id = 1'; + it("should block block-comment SQL injection style", () => { + const payload = "SELECT * FROM events /* check comments */ WHERE id = 1"; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); - it('should block case-insensitive SQL keywords combinations', () => { - const payload = 'uNiOn SeLeCt secret FROM credentials'; + it("should block case-insensitive SQL keywords combinations", () => { + const payload = "uNiOn SeLeCt secret FROM credentials"; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); }); - describe('3. Input Sanitization - NoSQL Query Injection Protections', () => { - it('should filter out the where MongoDB operator', () => { + describe("3. Input Sanitization - NoSQL Query Injection Protections", () => { + it("should filter out the where MongoDB operator", () => { const payload = { $where: 'this.role == "admin"' }; const result = sanitizeInput(payload) as Record; expect(result.$where).toBeUndefined(); }); - it('should filter out gt and lt MongoDB operators', () => { - const payload = { $gt: '0', $lt: '100', validKey: 'data' }; + it("should filter out gt and lt MongoDB operators", () => { + const payload = { $gt: "0", $lt: "100", validKey: "data" }; const result = sanitizeInput(payload) as Record; expect(result.$gt).toBeUndefined(); expect(result.$lt).toBeUndefined(); - expect(result.validKey).toBe('data'); + expect(result.validKey).toBe("data"); }); - it('should filter out ne and eq MongoDB operators', () => { - const payload = { $ne: 'admin', $eq: 'user', username: 'guest' }; + it("should filter out ne and eq MongoDB operators", () => { + const payload = { $ne: "admin", $eq: "user", username: "guest" }; const result = sanitizeInput(payload) as Record; expect(result.$ne).toBeUndefined(); expect(result.$eq).toBeUndefined(); - expect(result.username).toBe('guest'); + expect(result.username).toBe("guest"); }); }); - describe('4. Input Sanitization - Prototype Pollution Protections', () => { - it('should drop proto key assignments', () => { - const payload = JSON.parse('{"__proto__": {"maliciousProperty": "injected"}}'); + describe("4. Input Sanitization - Prototype Pollution Protections", () => { + it("should drop proto key assignments", () => { + const payload = JSON.parse( + '{"__proto__": {"maliciousProperty": "injected"}}', + ); const result = sanitizeInput(payload) as Record; - expect(Object.prototype.hasOwnProperty.call(result, '__proto__')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(result, "__proto__")).toBe( + false, + ); expect(({} as any).maliciousProperty).toBeUndefined(); }); - it('should drop constructor key assignments', () => { - const payload = JSON.parse('{"constructor": {"prototype": {"polluted": "yes"}}}'); + it("should drop constructor key assignments", () => { + const payload = JSON.parse( + '{"constructor": {"prototype": {"polluted": "yes"}}}', + ); const result = sanitizeInput(payload) as Record; - expect(Object.prototype.hasOwnProperty.call(result, 'constructor')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(result, "constructor")).toBe( + false, + ); expect(({} as any).polluted).toBeUndefined(); }); - it('should drop prototype key assignments', () => { - const payload = { prototype: { admin: true }, username: 'normal' }; + it("should drop prototype key assignments", () => { + const payload = { prototype: { admin: true }, username: "normal" }; const result = sanitizeInput(payload) as Record; - expect(Object.prototype.hasOwnProperty.call(result, 'prototype')).toBe(false); - expect(result.username).toBe('normal'); + expect(Object.prototype.hasOwnProperty.call(result, "prototype")).toBe( + false, + ); + expect(result.username).toBe("normal"); }); }); - describe('5. Input Sanitization - Complexity & Deep Nesting Limits', () => { + describe("5. Input Sanitization - Complexity & Deep Nesting Limits", () => { const makeNestedObject = (depth: number): any => { - if (depth === 0) return 'leaf'; + if (depth === 0) return "leaf"; return { node: makeNestedObject(depth - 1) }; }; - it('should allow object nesting level equal to 9', () => { + it("should allow object nesting level equal to 9", () => { const payload = makeNestedObject(9); expect(sanitizeInput(payload)).toBeDefined(); }); - it('should allow object nesting level equal to 10', () => { + it("should allow object nesting level equal to 10", () => { const payload = makeNestedObject(10); expect(sanitizeInput(payload)).toBeDefined(); }); - it('should reject object nesting level equal to 11', () => { + it("should reject object nesting level equal to 11", () => { const payload = makeNestedObject(11); - expect(() => sanitizeInput(payload)).toThrowError('Input too deeply nested'); + expect(() => sanitizeInput(payload)).toThrowError( + "Input too deeply nested", + ); }); - it('should allow objects with exactly 50 keys', () => { + it("should allow objects with exactly 50 keys", () => { const payload: Record = {}; for (let i = 0; i < 50; i++) { payload[`key_${i}`] = i; @@ -154,71 +171,71 @@ describe('Security and Protection Verification Suite', () => { expect(sanitizeInput(payload)).toBeDefined(); }); - it('should reject objects with more than 50 keys', () => { + it("should reject objects with more than 50 keys", () => { const payload: Record = {}; for (let i = 0; i < 51; i++) { payload[`key_${i}`] = i; } - expect(() => sanitizeInput(payload)).toThrowError('Object too complex'); + expect(() => sanitizeInput(payload)).toThrowError("Object too complex"); }); - it('should allow arrays with exactly 500 elements', () => { - const payload = new Array(500).fill('valid'); + it("should allow arrays with exactly 500 elements", () => { + const payload = new Array(500).fill("valid"); expect(sanitizeInput(payload)).toBeDefined(); }); - it('should reject arrays with more than 500 elements', () => { - const payload = new Array(501).fill('invalid'); - expect(() => sanitizeInput(payload)).toThrowError('Array too large'); + it("should reject arrays with more than 500 elements", () => { + const payload = new Array(501).fill("invalid"); + expect(() => sanitizeInput(payload)).toThrowError("Array too large"); }); }); - describe('6. Payload Size Restrictions', () => { - it('should validate request size with default limit', () => { - const smallPayload = { test: 'a'.repeat(100) }; + describe("6. Payload Size Restrictions", () => { + it("should validate request size with default limit", () => { + const smallPayload = { test: "a".repeat(100) }; expect(validateRequestSize(smallPayload, 500)).toBe(true); }); - it('should reject requests exceeding size limit', () => { - const largePayload = { test: 'a'.repeat(600) }; + it("should reject requests exceeding size limit", () => { + const largePayload = { test: "a".repeat(600) }; expect(validateRequestSize(largePayload, 500)).toBe(false); }); - it('should calculate size properly with nested structures', () => { + it("should calculate size properly with nested structures", () => { const complexPayload = { - meta: { name: 'test', size: 123 }, - data: ['a', 'b', 'c', 'd'.repeat(200)] + meta: { name: "test", size: 123 }, + data: ["a", "b", "c", "d".repeat(200)], }; expect(validateRequestSize(complexPayload, 150)).toBe(false); }); }); - describe('7. Rate Limiting Token Bucket and Exponential Violations', () => { - it('should allow requests within limit capacity', () => { - const user = 'normal-user'; + describe("7. Rate Limiting Token Bucket and Exponential Violations", () => { + it("should allow requests within limit capacity", () => { + const user = "normal-user"; const r1 = rateLimit(user, 5, 1, 1); const r2 = rateLimit(user, 5, 1, 1); expect(r1.allowed).toBe(true); expect(r2.allowed).toBe(true); }); - it('should block requests when bucket runs out of tokens', () => { - const user = 'exhausted-user'; + it("should block requests when bucket runs out of tokens", () => { + const user = "exhausted-user"; rateLimit(user, 2, 0, 1); rateLimit(user, 2, 0, 1); - + const r3 = rateLimit(user, 2, 0, 1); expect(r3.allowed).toBe(false); expect(r3.retryAfter).toBe(1); }); - it('should exponentially increase retry duration upon repeated violations', () => { + it("should exponentially increase retry duration upon repeated violations", () => { vi.useFakeTimers(); - const user = 'violator-user'; - + const user = "violator-user"; + // Exhaust first rateLimit(user, 1, 0, 1); - + // 1st violation const v1 = rateLimit(user, 1, 0, 1); expect(v1.allowed).toBe(false); @@ -244,16 +261,16 @@ describe('Security and Protection Verification Suite', () => { }); }); - describe('8. DDoS Burst Interception', () => { - it('should allow burst requests up to threshold', () => { - const ip = '192.168.1.50'; + describe("8. DDoS Burst Interception", () => { + it("should allow burst requests up to threshold", () => { + const ip = "192.168.1.50"; for (let i = 0; i < 99; i++) { expect(ddosProtection(ip).allowed).toBe(true); } }); - it('should block burst requests above threshold', () => { - const ip = '192.168.1.100'; + it("should block burst requests above threshold", () => { + const ip = "192.168.1.100"; for (let i = 0; i < 100; i++) { ddosProtection(ip); } @@ -262,14 +279,14 @@ describe('Security and Protection Verification Suite', () => { expect(blockResult.retryAfter).toBeGreaterThan(0); }); - it('should release IP block after cooldown period', () => { + it("should release IP block after cooldown period", () => { vi.useFakeTimers(); - const ip = '192.168.1.200'; - + const ip = "192.168.1.200"; + for (let i = 0; i < 101; i++) { ddosProtection(ip); } - + // Verify blocked expect(ddosProtection(ip).allowed).toBe(false); @@ -281,5 +298,4 @@ describe('Security and Protection Verification Suite', () => { vi.useRealTimers(); }); }); - }); diff --git a/packages/api/src/context.ts b/packages/api/src/context.ts index 19e7196e..fff33d15 100644 --- a/packages/api/src/context.ts +++ b/packages/api/src/context.ts @@ -27,7 +27,10 @@ async function getAuth() { } export async function createContext( - opts?: Partial & { clientIp?: string; req?: Request } + opts?: Partial & { + clientIp?: string; + req?: Request; + }, ) { let session: Session = null; @@ -49,9 +52,12 @@ export async function createContext( session, userId: session?.user?.id, cache, - clientIp: opts?.clientIp || req?.headers.get("x-forwarded-for")?.split(",")[0] || 'unknown', - req + clientIp: + opts?.clientIp || + req?.headers.get("x-forwarded-for")?.split(",")[0] || + "unknown", + req, }; } -export type Context = Awaited>; \ No newline at end of file +export type Context = Awaited>; diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index 9b4587bf..f6d80007 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -1,6 +1,6 @@ - export { appRouter, type AppRouter } from "./root"; export { createContext, type Context } from "./context"; export { createTRPCRouter, publicProcedure, protectedProcedure } from "./trpc"; export { rateLimit, RATE_LIMITS } from "./middleware/security"; -export { cache, CacheKeys } from "./middleware/cache"; \ No newline at end of file +export { cache, CacheKeys, invalidatePortalContext } from "./middleware/cache"; +export type { PortalContext, MemberContext } from "./types/portal-context"; diff --git a/packages/api/src/middleware/cache.ts b/packages/api/src/middleware/cache.ts index 4db54814..8b9e711a 100644 --- a/packages/api/src/middleware/cache.ts +++ b/packages/api/src/middleware/cache.ts @@ -1,212 +1,213 @@ - - /** * In-Memory Cache Service * Provides TTL-based caching with automatic cleanup */ interface CacheEntry { - value: T; - expiresAt: number; + value: T; + expiresAt: number; } interface CacheStats { - hits: number; - misses: number; - size: number; + hits: number; + misses: number; + size: number; } export class CacheService { - private cache = new Map>(); - private stats: CacheStats = { hits: 0, misses: 0, size: 0 }; - private cleanupInterval: NodeJS.Timeout; - private maxCacheSize: number; - - constructor(private defaultTTL: number = 300, maxCacheSize: number = 10000) { - this.maxCacheSize = maxCacheSize; - // Cleanup expired entries every 60 seconds - this.cleanupInterval = setInterval(() => { - this.cleanup(); - }, 60 * 1000); - } - - /** - * Get a value from cache - */ - get(key: string): T | null { - const entry = this.cache.get(key) as CacheEntry | undefined; - - if (!entry) { - this.stats.misses++; - return null; - } - - if (Date.now() > entry.expiresAt) { - this.cache.delete(key); - this.stats.misses++; - this.stats.size = this.cache.size; - return null; - } - - this.stats.hits++; - return entry.value; - } - - /** - * Set a value in cache with optional TTL - */ - set(key: string, value: T, ttl?: number): void { - const expiresAt = Date.now() + (ttl || this.defaultTTL) * 1000; - this.cache.set(key, { value, expiresAt }); - this.stats.size = this.cache.size; - } - - /** - * Delete a specific key from cache - */ - delete(key: string): boolean { - const result = this.cache.delete(key); - this.stats.size = this.cache.size; - return result; - } - - /** - * Delete all keys matching a pattern (glob-style with * wildcard) - */ - deletePattern(pattern: string): number { - let count = 0; - // Escape regex special chars, then convert * to .* - const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, '\\$&'); - const regex = new RegExp(`^${escaped.replace(/\*/g, '.*')}$`); - - for (const key of this.cache.keys()) { - if (regex.test(key)) { - this.cache.delete(key); - count++; - } - } - - this.stats.size = this.cache.size; - return count; + private cache = new Map>(); + private stats: CacheStats = { hits: 0, misses: 0, size: 0 }; + private cleanupInterval: NodeJS.Timeout; + private maxCacheSize: number; + + constructor( + private defaultTTL: number = 300, + maxCacheSize: number = 10000, + ) { + this.maxCacheSize = maxCacheSize; + // Cleanup expired entries every 60 seconds + this.cleanupInterval = setInterval(() => { + this.cleanup(); + }, 60 * 1000); + } + + /** + * Get a value from cache + */ + get(key: string): T | null { + const entry = this.cache.get(key) as CacheEntry | undefined; + + if (!entry) { + this.stats.misses++; + return null; } - /** - * Clear all cache entries - */ - clear(): void { - this.cache.clear(); - this.stats = { hits: 0, misses: 0, size: 0 }; + if (Date.now() > entry.expiresAt) { + this.cache.delete(key); + this.stats.misses++; + this.stats.size = this.cache.size; + return null; } - /** - * Get cache statistics - */ - getStats(): CacheStats { - return { ...this.stats }; + this.stats.hits++; + return entry.value; + } + + /** + * Set a value in cache with optional TTL + */ + set(key: string, value: T, ttl?: number): void { + const expiresAt = Date.now() + (ttl || this.defaultTTL) * 1000; + this.cache.set(key, { value, expiresAt }); + this.stats.size = this.cache.size; + } + + /** + * Delete a specific key from cache + */ + delete(key: string): boolean { + const result = this.cache.delete(key); + this.stats.size = this.cache.size; + return result; + } + + /** + * Delete all keys matching a pattern (glob-style with * wildcard) + */ + deletePattern(pattern: string): number { + let count = 0; + // Escape regex special chars, then convert * to .* + const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&"); + const regex = new RegExp(`^${escaped.replace(/\*/g, ".*")}$`); + + for (const key of this.cache.keys()) { + if (regex.test(key)) { + this.cache.delete(key); + count++; + } } - /** - * Check if a key exists and is not expired - */ - has(key: string): boolean { - return this.get(key) !== null; + this.stats.size = this.cache.size; + return count; + } + + /** + * Clear all cache entries + */ + clear(): void { + this.cache.clear(); + this.stats = { hits: 0, misses: 0, size: 0 }; + } + + /** + * Get cache statistics + */ + getStats(): CacheStats { + return { ...this.stats }; + } + + /** + * Check if a key exists and is not expired + */ + has(key: string): boolean { + return this.get(key) !== null; + } + + /** + * Get or set pattern - fetch from cache or compute and cache + */ + async getOrSet( + key: string, + factory: () => Promise | T, + ttl?: number, + ): Promise { + const cached = this.get(key); + if (cached !== null) { + return cached; } - /** - * Get or set pattern - fetch from cache or compute and cache - */ - async getOrSet( - key: string, - factory: () => Promise | T, - ttl?: number - ): Promise { - const cached = this.get(key); - if (cached !== null) { - return cached; - } - - const value = await factory(); - this.set(key, value, ttl); - return value; + const value = await factory(); + this.set(key, value, ttl); + return value; + } + + /** + * Remove expired entries and evict oldest entries if cache is over max size (LRU) + */ + private cleanup(): void { + const now = Date.now(); + let removed = 0; + + // Remove expired entries first + for (const [key, entry] of this.cache.entries()) { + if (now > entry.expiresAt) { + this.cache.delete(key); + removed++; + } } - /** - * Remove expired entries and evict oldest entries if cache is over max size (LRU) - */ - private cleanup(): void { - const now = Date.now(); - let removed = 0; - - // Remove expired entries first - for (const [key, entry] of this.cache.entries()) { - if (now > entry.expiresAt) { - this.cache.delete(key); - removed++; - } - } - - // If cache is over max size, evict oldest entries (LRU - remove oldest by expiresAt as proxy) - while (this.cache.size > this.maxCacheSize) { - let oldestKey: string | null = null; - let oldestValue: CacheEntry | undefined = undefined; - - // Find the oldest entry - for (const [key, entry] of this.cache.entries()) { - if (!oldestValue || entry.expiresAt < oldestValue.expiresAt) { - oldestKey = key; - oldestValue = entry; - } - } - - if (oldestKey) { - this.cache.delete(oldestKey); - removed++; - } - } + // If cache is over max size, evict oldest entries (LRU - remove oldest by expiresAt as proxy) + while (this.cache.size > this.maxCacheSize) { + let oldestKey: string | null = null; + let oldestValue: CacheEntry | undefined = undefined; - if (removed > 0) { - this.stats.size = this.cache.size; + // Find the oldest entry + for (const [key, entry] of this.cache.entries()) { + if (!oldestValue || entry.expiresAt < oldestValue.expiresAt) { + oldestKey = key; + oldestValue = entry; } - } + } - /** - * Destroy the cache service and cleanup intervals - * - * @description - * Properly destroys the cache service by: - * 1. Clearing the cleanup interval to prevent memory leaks on module unload - * 2. Clearing all cached entries - * 3. Resetting statistics counters - * - * @example - * // On application shutdown - * app.close(() => { - * cache.destroy(); - * }); - * - * // Optional: Export stats before destruction - * const stats = cache.getStats(); - * console.log(`Cache hits: ${stats.hits}, misses: ${stats.misses}`); - * cache.destroy(); - */ - destroy(): void { - clearInterval(this.cleanupInterval); - this.cache.clear(); - this.stats = { hits: 0, misses: 0, size: 0 }; + if (oldestKey) { + this.cache.delete(oldestKey); + removed++; + } } - /** - * Get cache statistics for monitoring and metrics export - * - * @returns Object containing hits, misses, and current cache size - * - * @example - * const stats = cache.getStats(); - * // { hits: 150, misses: 23, size: 45 } - */ - exportStats(): CacheStats { - return { ...this.stats }; + if (removed > 0) { + this.stats.size = this.cache.size; } + } + + /** + * Destroy the cache service and cleanup intervals + * + * @description + * Properly destroys the cache service by: + * 1. Clearing the cleanup interval to prevent memory leaks on module unload + * 2. Clearing all cached entries + * 3. Resetting statistics counters + * + * @example + * // On application shutdown + * app.close(() => { + * cache.destroy(); + * }); + * + * // Optional: Export stats before destruction + * const stats = cache.getStats(); + * console.log(`Cache hits: ${stats.hits}, misses: ${stats.misses}`); + * cache.destroy(); + */ + destroy(): void { + clearInterval(this.cleanupInterval); + this.cache.clear(); + this.stats = { hits: 0, misses: 0, size: 0 }; + } + + /** + * Get cache statistics for monitoring and metrics export + * + * @returns Object containing hits, misses, and current cache size + * + * @example + * const stats = cache.getStats(); + * // { hits: 150, misses: 23, size: 45 } + */ + exportStats(): CacheStats { + return { ...this.stats }; + } } // Global cache instance @@ -218,28 +219,46 @@ export const cache = new CacheService(300, 10000); // 5 minutes default TTL, max */ export const cacheStats = cache.exportStats(); +/** + * TTL (seconds) for state an admin can flip mid-event — hackathon status, + * registration deadlines, capacity. + * + * This cache lives in a single Node process, and App Hosting runs up to 10 + * instances (see apphosting.yaml). A mutation only clears the cache on the + * instance that served it, so every other instance keeps serving stale data + * until its own entry expires. Keeping this short bounds that window to a few + * seconds instead of a couple of minutes. Cross-instance correctness needs a + * shared cache; this only limits the blast radius. + */ +export const VOLATILE_TTL = 5; + // Cache key builders for consistency export const CacheKeys = { - user: (userId: string) => `user:${userId}`, - userProfile: (userId: string) => `user:${userId}:profile`, - admin: (userId: string) => `admin:${userId}`, - hackathon: (id: string) => `hackathon:${id}`, - hackathons: () => `hackathons:list`, - event: (id: string) => `event:${id}`, - events: () => `events:list`, - judge: (userId: string) => `judge:${userId}`, - member: (userId: string) => `member:${userId}`, + user: (userId: string) => `user:${userId}`, + userProfile: (userId: string) => `user:${userId}:profile`, + admin: (userId: string) => `admin:${userId}`, + hackathon: (id: string) => `hackathon:${id}`, + hackathons: () => `hackathons:list`, + event: (id: string) => `event:${id}`, + events: () => `events:list`, + judge: (userId: string) => `judge:${userId}`, + member: (userId: string) => `member:${userId}`, + portalContext: (userId: string) => `user:${userId}:portal`, } as const; +export const invalidatePortalContext = (userId: string) => { + cache.delete(CacheKeys.portalContext(userId)); +}; + // Cache invalidation helpers export const invalidateUser = (userId: string) => { - cache.deletePattern(`user:${userId}*`); + cache.deletePattern(`user:${userId}*`); }; export const invalidateHackathons = () => { - cache.deletePattern('hackathon*'); + cache.deletePattern("hackathon*"); }; export const invalidateEvents = () => { - cache.deletePattern('event*'); + cache.deletePattern("event*"); }; diff --git a/packages/api/src/middleware/http-security.ts b/packages/api/src/middleware/http-security.ts index 39fc4915..e5a27d20 100644 --- a/packages/api/src/middleware/http-security.ts +++ b/packages/api/src/middleware/http-security.ts @@ -4,225 +4,232 @@ */ export interface SecurityHeaders { - 'X-Content-Type-Options': string; - 'X-Frame-Options': string; - 'X-XSS-Protection': string; - 'Strict-Transport-Security': string; - 'Content-Security-Policy': string; - 'Referrer-Policy': string; - 'Permissions-Policy': string; - 'X-Request-Id': string; + "X-Content-Type-Options": string; + "X-Frame-Options": string; + "X-XSS-Protection": string; + "Strict-Transport-Security": string; + "Content-Security-Policy": string; + "Referrer-Policy": string; + "Permissions-Policy": string; + "X-Request-Id": string; } export interface CacheHeaders { - 'Cache-Control': string; - 'Vary': string; + "Cache-Control": string; + Vary: string; } export interface RateLimitHeaders { - 'X-RateLimit-Limit': string; - 'X-RateLimit-Remaining': string; - 'X-RateLimit-Reset': string; - 'Retry-After'?: string; + "X-RateLimit-Limit": string; + "X-RateLimit-Remaining": string; + "X-RateLimit-Reset": string; + "Retry-After"?: string; } /** * Generate strict security headers for API responses */ export async function getSecurityHeaders(): Promise { - const crypto = await import('crypto'); - const generateRequestId = () => crypto.randomUUID(); + const crypto = await import("crypto"); + const generateRequestId = () => crypto.randomUUID(); - return { - // Prevent MIME type sniffing - 'X-Content-Type-Options': 'nosniff', + return { + // Prevent MIME type sniffing + "X-Content-Type-Options": "nosniff", - // Prevent clickjacking - 'X-Frame-Options': 'DENY', + // Prevent clickjacking + "X-Frame-Options": "DENY", - // Enable XSS protection (legacy but still useful) - 'X-XSS-Protection': '1; mode=block', + // Enable XSS protection (legacy but still useful) + "X-XSS-Protection": "1; mode=block", - // Force HTTPS for 1 year - 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', + // Force HTTPS for 1 year + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", - // Content Security Policy - strict for API - // Relaxed to allow API responses (script-src for CSP nonce support) - 'Content-Security-Policy': "default-src 'none'; script-src 'self'; frame-ancestors 'none'", + // Content Security Policy - strict for API + // Relaxed to allow API responses (script-src for CSP nonce support) + "Content-Security-Policy": + "default-src 'none'; script-src 'self'; frame-ancestors 'none'", - // Referrer policy - 'Referrer-Policy': 'strict-origin-when-cross-origin', + // Referrer policy + "Referrer-Policy": "strict-origin-when-cross-origin", - // Permissions policy - disable all features - 'Permissions-Policy': 'geolocation=(), microphone=(), camera=(), usb=(), midi=()', + // Permissions policy - disable all features + "Permissions-Policy": + "geolocation=(), microphone=(), camera=(), usb=(), midi=()", - // Request ID for observability - 'X-Request-Id': generateRequestId(), - }; + // Request ID for observability + "X-Request-Id": generateRequestId(), + }; } /** * Generate cache control headers based on cacheability */ export function getCacheHeaders(options: { - cacheable: boolean; - maxAge?: number; - private?: boolean; - mustRevalidate?: boolean; + cacheable: boolean; + maxAge?: number; + private?: boolean; + mustRevalidate?: boolean; }): CacheHeaders { - const { cacheable, maxAge = 300, private: isPrivate = true, mustRevalidate = true } = options; - - if (!cacheable) { - return { - 'Cache-Control': 'no-store, no-cache, must-revalidate, private', - 'Vary': 'Accept-Encoding, Authorization', - }; - } + const { + cacheable, + maxAge = 300, + private: isPrivate = true, + mustRevalidate = true, + } = options; + + if (!cacheable) { + return { + "Cache-Control": "no-store, no-cache, must-revalidate, private", + Vary: "Accept-Encoding, Authorization", + }; + } - const directives = [ - isPrivate ? 'private' : 'public', - `max-age=${maxAge}`, - ]; + const directives = [isPrivate ? "private" : "public", `max-age=${maxAge}`]; - if (mustRevalidate) { - directives.push('must-revalidate'); - } + if (mustRevalidate) { + directives.push("must-revalidate"); + } - return { - 'Cache-Control': directives.join(', '), - 'Vary': 'Accept-Encoding, Authorization', - }; + return { + "Cache-Control": directives.join(", "), + Vary: "Accept-Encoding, Authorization", + }; } /** * Generate rate limit headers */ export function getRateLimitHeaders( - limit: number, - remaining: number, - resetTimestamp: number, - retryAfter?: number + limit: number, + remaining: number, + resetTimestamp: number, + retryAfter?: number, ): RateLimitHeaders { - const headers: RateLimitHeaders = { - 'X-RateLimit-Limit': limit.toString(), - 'X-RateLimit-Remaining': Math.max(0, remaining).toString(), - 'X-RateLimit-Reset': resetTimestamp.toString(), - }; + const headers: RateLimitHeaders = { + "X-RateLimit-Limit": limit.toString(), + "X-RateLimit-Remaining": Math.max(0, remaining).toString(), + "X-RateLimit-Reset": resetTimestamp.toString(), + }; - if (retryAfter !== undefined) { - headers['Retry-After'] = retryAfter.toString(); - } + if (retryAfter !== undefined) { + headers["Retry-After"] = retryAfter.toString(); + } - return headers; + return headers; } /** * Get client IP address from request, considering proxies */ export function getClientIp(request: Request): string { - // Check X-Forwarded-For header (from proxies/load balancers) - const forwardedFor = request.headers.get('x-forwarded-for'); - if (forwardedFor) { - // Take the first IP in the chain - return forwardedFor.split(',')[0]?.trim() || 'unknown'; - } - - // Check X-Real-IP header - const realIp = request.headers.get('x-real-ip'); - if (realIp) { - return realIp.trim(); - } - - // Fallback to unknown - return 'unknown'; + // Check X-Forwarded-For header (from proxies/load balancers) + const forwardedFor = request.headers.get("x-forwarded-for"); + if (forwardedFor) { + // Take the first IP in the chain + return forwardedFor.split(",")[0]?.trim() || "unknown"; + } + + // Check X-Real-IP header + const realIp = request.headers.get("x-real-ip"); + if (realIp) { + return realIp.trim(); + } + + // Fallback to unknown + return "unknown"; } /** * Generate a fingerprint for rate limiting * Combines IP, user agent, and other factors */ -export function getRequestFingerprint(request: Request, userId?: string): string { - const ip = getClientIp(request); - const userAgent = request.headers.get('user-agent') || 'unknown'; +export function getRequestFingerprint( + request: Request, + userId?: string, +): string { + const ip = getClientIp(request); + const userAgent = request.headers.get("user-agent") || "unknown"; - // Hash the user agent to keep fingerprint shorter - const uaHash = simpleHash(userAgent); + // Hash the user agent to keep fingerprint shorter + const uaHash = simpleHash(userAgent); - if (userId) { - return `user:${userId}:${ip}`; - } + if (userId) { + return `user:${userId}:${ip}`; + } - return `anon:${ip}:${uaHash}`; + return `anon:${ip}:${uaHash}`; } /** * Simple hash function for strings */ function simpleHash(str: string): string { - let hash = 0; - for (let i = 0; i < str.length; i++) { - const char = str.charCodeAt(i); - hash = ((hash << 5) - hash) + char; - hash = hash & hash; // Convert to 32-bit integer - } - return Math.abs(hash).toString(36); + let hash = 0; + for (let i = 0; i < str.length; i++) { + const char = str.charCodeAt(i); + hash = (hash << 5) - hash + char; + hash = hash & hash; // Convert to 32-bit integer + } + return Math.abs(hash).toString(36); } /** * Apply all headers to a Response object */ export async function applySecurityHeaders( - response: Response, - options?: { - cacheable?: boolean; - maxAge?: number; - rateLimit?: { - limit: number; - remaining: number; - reset: number; - retryAfter?: number; - }; - request?: Request; // Optional request for X-Request-Id - } + response: Response, + options?: { + cacheable?: boolean; + maxAge?: number; + rateLimit?: { + limit: number; + remaining: number; + reset: number; + retryAfter?: number; + }; + request?: Request; // Optional request for X-Request-Id + }, ): Promise { - const headers = new Headers(response.headers); - - // Apply security headers - const securityHeaders = await getSecurityHeaders(); - Object.entries(securityHeaders).forEach(([key, value]) => { + const headers = new Headers(response.headers); + + // Apply security headers + const securityHeaders = await getSecurityHeaders(); + Object.entries(securityHeaders).forEach(([key, value]) => { + headers.set(key, value); + }); + + // Apply cache headers + const cacheHeaders = getCacheHeaders({ + cacheable: options?.cacheable ?? false, + maxAge: options?.maxAge, + }); + Object.entries(cacheHeaders).forEach(([key, value]) => { + headers.set(key, value); + }); + + // Apply rate limit headers if provided + if (options?.rateLimit) { + const rateLimitHeaders = getRateLimitHeaders( + options.rateLimit.limit, + options.rateLimit.remaining, + options.rateLimit.reset, + options.rateLimit.retryAfter, + ); + Object.entries(rateLimitHeaders).forEach(([key, value]) => { + if (value !== undefined) { headers.set(key, value); + } }); + } - // Apply cache headers - const cacheHeaders = getCacheHeaders({ - cacheable: options?.cacheable ?? false, - maxAge: options?.maxAge, - }); - Object.entries(cacheHeaders).forEach(([key, value]) => { - headers.set(key, value); - }); + // Clone and read the body to avoid "body already consumed" errors + const body = await response.clone().arrayBuffer(); - // Apply rate limit headers if provided - if (options?.rateLimit) { - const rateLimitHeaders = getRateLimitHeaders( - options.rateLimit.limit, - options.rateLimit.remaining, - options.rateLimit.reset, - options.rateLimit.retryAfter - ); - Object.entries(rateLimitHeaders).forEach(([key, value]) => { - if (value !== undefined) { - headers.set(key, value); - } - }); - } - - // Clone and read the body to avoid "body already consumed" errors - const body = await response.clone().arrayBuffer(); - - return new Response(body, { - status: response.status, - statusText: response.statusText, - headers, - }); + return new Response(body, { + status: response.status, + statusText: response.statusText, + headers, + }); } diff --git a/packages/api/src/middleware/procedures.ts b/packages/api/src/middleware/procedures.ts index dcd917ad..fe25dab5 100644 --- a/packages/api/src/middleware/procedures.ts +++ b/packages/api/src/middleware/procedures.ts @@ -1,6 +1,6 @@ import { TRPCError } from "@trpc/server"; import { protectedProcedure } from "../trpc"; -import { admins, judges } from "@query/db"; +import { admins, judges, judgingProjects, judgeQueue } from "@query/db"; import { eq, and } from "drizzle-orm"; import { CacheKeys } from "./cache"; @@ -13,12 +13,14 @@ export const isAdmin = protectedProcedure.use(async ({ ctx, next }) => { let admin = ctx.cache.get(cacheKey); if (!admin) { - admin = (await (ctx.db as NonNullable).query.admins.findFirst({ // try catch for ctx.db - where: and( - eq(admins.userId, ctx.userId as string), - eq(admins.isActive, true) - ), - })) ?? null; + admin = + (await (ctx.db as NonNullable).query.admins.findFirst({ + // try catch for ctx.db + where: and( + eq(admins.userId, ctx.userId as string), + eq(admins.isActive, true), + ), + })) ?? null; if (admin) ctx.cache.set(cacheKey, admin, 60); } @@ -48,20 +50,62 @@ export const isSuperAdmin = isAdmin.use(async ({ ctx, next }) => { }); /** - * Middleware that verifies the current user is an active judge. - * Result is cached for 60s per user to avoid a DB round-trip on every request. + * Middleware that verifies the current user is an active judge for a specific hackathon. + * Result is cached for 60s per user per hackathon to avoid a DB round-trip on every request. */ -export const isJudge = protectedProcedure.use(async ({ ctx, next }) => { - const cacheKey = `${CacheKeys.judge(ctx.userId as string)}:role`; +export const isJudge = protectedProcedure.use(async ({ ctx, next, getRawInput }) => { + const db = ctx.db as NonNullable; + + // Try to resolve hackathonId from rawInput + const rawInput = await getRawInput(); + let hackathonId: string | undefined; + if (rawInput && typeof rawInput === "object") { + const inputObj = rawInput as Record; + if (typeof inputObj.hackathonId === "string") { + hackathonId = inputObj.hackathonId; + } else if (typeof inputObj.projectId === "string") { + const project = await db.query.judgingProjects.findFirst({ + where: eq(judgingProjects.id, inputObj.projectId), + columns: { hackathonId: true }, + }); + hackathonId = project?.hackathonId; + } else if (typeof inputObj.queueId === "string") { + const queue = await db.query.judgeQueue.findFirst({ + where: eq(judgeQueue.id, inputObj.queueId), + columns: { hackathonId: true }, + }); + hackathonId = queue?.hackathonId; + } + } + + // Fallback to the latest hackathon if not specified in input + if (!hackathonId) { + const latest = await db.query.hackathons.findFirst({ + orderBy: (h, { desc }) => [desc(h.startDate)], + columns: { id: true }, + }); + hackathonId = latest?.id; + } + + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for judging", + }); + } + + const cacheKey = `${CacheKeys.judge(ctx.userId as string)}:${hackathonId}:role`; let judge = ctx.cache.get(cacheKey); if (!judge) { - judge = (await (ctx.db as NonNullable).query.judges.findFirst({ - where: and( - eq(judges.userId, ctx.userId as string), - eq(judges.isActive, true) - ), - })) ?? null; + judge = + (await db.query.judges.findFirst({ + where: and( + eq(judges.userId, ctx.userId as string), + eq(judges.hackathonId, hackathonId), + eq(judges.isActive, true), + ), + })) ?? null; if (judge) ctx.cache.set(cacheKey, judge, 60); } @@ -69,7 +113,7 @@ export const isJudge = protectedProcedure.use(async ({ ctx, next }) => { if (!judge) { throw new TRPCError({ code: "FORBIDDEN", - message: "Judge access required", + message: "Judge access required for this hackathon", }); } diff --git a/packages/api/src/middleware/security.ts b/packages/api/src/middleware/security.ts index cf81e36f..e0a759d1 100644 --- a/packages/api/src/middleware/security.ts +++ b/packages/api/src/middleware/security.ts @@ -46,7 +46,10 @@ const enforceSizeLimit = () => { let oldestKey: string | null = null; let oldestTime = Infinity; for (const [ip, record] of ipTrackingStore.entries()) { - if (now - record.firstRequest > 5 * 60 * 1000 && now < record.blockedUntil) { + if ( + now - record.firstRequest > 5 * 60 * 1000 && + now < record.blockedUntil + ) { if (record.firstRequest < oldestTime) { oldestTime = record.firstRequest; oldestKey = ip; @@ -80,7 +83,8 @@ setInterval(enforceSizeLimit, 60 * 1000); // These thresholds are intentionally lower than the absolute limits to allow headroom const DDOS_CONFIG = { // Rate limits are configurable via environment variables - maxRequestsPerMinute: Number(process.env.DDOS_MAX_REQUESTS_PER_MINUTE) || 1000, // Adjusted for safe operation + maxRequestsPerMinute: + Number(process.env.DDOS_MAX_REQUESTS_PER_MINUTE) || 1000, // Adjusted for safe operation suspiciousThreshold: Number(process.env.DDOS_SUSPICIOUS_THRESHOLD) || 700, // Lower threshold for safety blockDurationMs: Number(process.env.DDOS_BLOCK_DURATION_MS) || 5 * 60 * 1000, burstThreshold: Number(process.env.DDOS_BURST_THRESHOLD) || 100, // Reduced for safety @@ -115,7 +119,7 @@ export function rateLimit( identifier: string, maxTokens: number, refillRatePerSecond: number, - tokensToConsume: number = 1 + tokensToConsume: number = 1, ): { allowed: boolean; retryAfter?: number } { const now = Date.now(); let record = rateLimitStore.get(identifier); @@ -170,8 +174,8 @@ export const RATE_LIMITS = { mutationTokens: 3, }, authenticated: { - maxTokens: 300, // Raised from 100 to prevent legitimate multi-step form users from being blocked - refillRate: 5, // Raised from 2 to recover faster between form steps + maxTokens: 300, // Raised from 100 to prevent legitimate multi-step form users from being blocked + refillRate: 5, // Raised from 2 to recover faster between form steps queryTokens: 1, mutationTokens: 2, }, @@ -192,8 +196,8 @@ export const RATE_LIMITS = { const SANITIZE_OPTIONS: sanitizeHtml.IOptions = { allowedTags: [], allowedAttributes: {}, - disallowedTagsMode: 'discard', - nonTextTags: ['style', 'script', 'textarea', 'noscript', 'option', 'xmp'], + disallowedTagsMode: "discard", + nonTextTags: ["style", "script", "textarea", "noscript", "option", "xmp"], }; export function sanitizeInput(input: unknown, depth: number = 0): unknown { @@ -208,7 +212,7 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { return input; } - if (typeof input === 'string') { + if (typeof input === "string") { const sanitized = sanitizeHtml(input, SANITIZE_OPTIONS) .trim() .slice(0, 10000); @@ -223,7 +227,7 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { return sanitized; } - if (typeof input === 'number') { + if (typeof input === "number") { if (!Number.isFinite(input)) { throw new TRPCError({ code: "BAD_REQUEST", @@ -233,7 +237,7 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { return input; } - if (typeof input === 'boolean') { + if (typeof input === "boolean") { return input; } @@ -244,10 +248,10 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { message: "Array too large", }); } - return input.map(item => sanitizeInput(item, depth + 1)); + return input.map((item) => sanitizeInput(item, depth + 1)); } - if (typeof input === 'object') { + if (typeof input === "object") { const keys = Object.keys(input as object); if (keys.length > 50) { throw new TRPCError({ @@ -258,7 +262,7 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { const sanitized: Record = {}; for (const [key, value] of Object.entries(input as object)) { - if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + if (key === "__proto__" || key === "constructor" || key === "prototype") { continue; } if (!/^[\w.-]{1,100}$/.test(key)) { @@ -292,33 +296,39 @@ function hasInjectionPattern(str: string): boolean { /on\w+\s*=/i, ]; - return patterns.some(pattern => pattern.test(str)); + return patterns.some((pattern) => pattern.test(str)); } export function validateEmail(email: string): boolean { - if (typeof email !== 'string') return false; - const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; + if (typeof email !== "string") return false; + const emailRegex = + /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; return emailRegex.test(email) && email.length <= 254; } export function validateUrl(url: string): boolean { - if (typeof url !== 'string') return false; + if (typeof url !== "string") return false; try { const parsed = new URL(url); - return ['http:', 'https:'].includes(parsed.protocol) && url.length <= 2048; + return ["http:", "https:"].includes(parsed.protocol) && url.length <= 2048; } catch { return false; } } export function validateUUID(uuid: string): boolean { - if (typeof uuid !== 'string') return false; - const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; + if (typeof uuid !== "string") return false; + const uuidRegex = + /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; return uuidRegex.test(uuid); } export type SecurityEvent = { - type: 'rate_limit' | 'injection_attempt' | 'auth_failure' | 'validation_error'; + type: + | "rate_limit" + | "injection_attempt" + | "auth_failure" + | "validation_error"; identifier: string; details?: string; timestamp: number; @@ -329,7 +339,7 @@ const MAX_LOG_SIZE = 1000; import { db, auditLogs } from "@query/db"; -const flushQueue: Omit[] = []; +const flushQueue: Omit[] = []; const FLUSH_INTERVAL = 5000; // Keep batch size small enough that PG parameter count (5 cols × N rows) never approaches the 65535 limit const MAX_BATCH_SIZE = 25; @@ -352,7 +362,12 @@ async function flushLogs() { try { const fs = await import("fs"); const errorLog = `[${new Date().toISOString()}] [Security] CRITICAL: DB unavailable, ${batch.length} security logs affected.\n`; - fs.appendFile("packages/api/src/.security-errors.log", errorLog, { encoding: "utf8" }, () => {}); + fs.appendFile( + "packages/api/src/.security-errors.log", + errorLog, + { encoding: "utf8" }, + () => {}, + ); } catch { // Ignore fs errors } @@ -360,19 +375,33 @@ async function flushLogs() { } try { - const values = batch.map(event => { - const safeDetails = event.details ? event.details.replace(/(password|token|secret)=[^&]*/gi, '$1=***') : undefined; - const severity = event.type === 'injection_attempt' ? 'critical' : - event.type === 'auth_failure' ? 'warn' : 'info'; + const values = batch.map((event) => { + const safeDetails = event.details + ? event.details.replace(/(password|token|secret)=[^&]*/gi, "$1=***") + : undefined; + const severity = + event.type === "injection_attempt" + ? "critical" + : event.type === "auth_failure" + ? "warn" + : "info"; // identifier can be a raw userId UUID, 'user:UUID', or an IP address let resolvedUserId: string | null = null; - if (event.identifier.startsWith('user:')) { - resolvedUserId = event.identifier.split(':')[1] ?? null; - } else if (event.identifier.startsWith('ip-') || event.identifier.includes('.') || event.identifier.includes(':')) { + if (event.identifier.startsWith("user:")) { + resolvedUserId = event.identifier.split(":")[1] ?? null; + } else if ( + event.identifier.startsWith("ip-") || + event.identifier.includes(".") || + event.identifier.includes(":") + ) { // IP address — no userId resolvedUserId = null; - } else if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(event.identifier)) { + } else if ( + /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test( + event.identifier, + ) + ) { // Raw UUID — treat as userId resolvedUserId = event.identifier; } @@ -405,7 +434,12 @@ async function flushLogs() { try { const fs = await import("fs"); const errorLog = new Date().toISOString() + "\n" + errorMsg + "\n"; - fs.appendFile("packages/api/src/.security-errors.log", errorLog, { encoding: "utf8" }, () => {}); + fs.appendFile( + "packages/api/src/.security-errors.log", + errorLog, + { encoding: "utf8" }, + () => {}, + ); } catch { // Ignore fs errors } @@ -417,12 +451,12 @@ setInterval(() => { void flushLogs(); }, FLUSH_INTERVAL); -export function logSecurityEvent(event: Omit) { +export function logSecurityEvent(event: Omit) { const now = Date.now(); // Deduplicate rate_limit events: suppress repeat logs for the same identifier // within the cooldown window to prevent audit log storms under heavy rate limiting. - if (event.type === 'rate_limit') { + if (event.type === "rate_limit") { const lastLogged = rateLimitLogCooldown.get(event.identifier); if (lastLogged && now - lastLogged < RATE_LIMIT_LOG_COOLDOWN_MS) { return; // Suppressed — already logged recently for this identifier @@ -432,7 +466,8 @@ export function logSecurityEvent(event: Omit) { // Prune cooldown map periodically to prevent memory leak if (rateLimitLogCooldown.size > 10000) { for (const [id, ts] of rateLimitLogCooldown.entries()) { - if (now - ts > RATE_LIMIT_LOG_COOLDOWN_MS) rateLimitLogCooldown.delete(id); + if (now - ts > RATE_LIMIT_LOG_COOLDOWN_MS) + rateLimitLogCooldown.delete(id); } } } @@ -451,17 +486,23 @@ export function logSecurityEvent(event: Omit) { } // Instant flush if critical or queue is at batch threshold - if (event.type === 'injection_attempt' || flushQueue.length >= MAX_BATCH_SIZE) { + if ( + event.type === "injection_attempt" || + flushQueue.length >= MAX_BATCH_SIZE + ) { void flushLogs(); } } export function getRecentSecurityEvents(minutes: number = 60): SecurityEvent[] { const cutoff = Date.now() - minutes * 60 * 1000; - return securityLog.filter(e => e.timestamp > cutoff); + return securityLog.filter((e) => e.timestamp > cutoff); } -export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter?: number } { +export function ddosProtection(clientIp: string): { + allowed: boolean; + retryAfter?: number; +} { const now = Date.now(); // Get or create IP record @@ -480,7 +521,7 @@ export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter // Check if IP is blocked if (record.isBlocked && now < record.blockedUntil) { logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier: clientIp, details: `Blocked IP attempted access`, }); @@ -501,13 +542,16 @@ export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter record.requests++; // Check for burst (too many requests in short window) - if (elapsed < DDOS_CONFIG.burstWindowMs && record.requests > DDOS_CONFIG.burstThreshold) { + if ( + elapsed < DDOS_CONFIG.burstWindowMs && + record.requests > DDOS_CONFIG.burstThreshold + ) { record.suspiciousActivity++; record.isBlocked = true; record.blockedUntil = now + DDOS_CONFIG.blockDurationMs; logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier: clientIp, details: `Burst attack detected: ${record.requests} requests in ${elapsed}ms`, }); @@ -525,7 +569,7 @@ export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter record.blockedUntil = now + DDOS_CONFIG.blockDurationMs; logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier: clientIp, details: `Sustained attack: ${record.requests} requests/minute`, }); @@ -544,7 +588,10 @@ export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter return { allowed: true }; } -export function validateRequestSize(payload: unknown, maxSizeBytes: number = 1024 * 100): boolean { +export function validateRequestSize( + payload: unknown, + maxSizeBytes: number = 1024 * 100, +): boolean { try { const jsonString = JSON.stringify(payload); return new TextEncoder().encode(jsonString).length <= maxSizeBytes; diff --git a/packages/api/src/root.ts b/packages/api/src/root.ts index c6982e9f..47909997 100644 --- a/packages/api/src/root.ts +++ b/packages/api/src/root.ts @@ -9,7 +9,6 @@ import { judgeRouter } from "./routers/judge"; import { stripeRouter } from "./routers/stripe"; import { auditRouter } from "./routers/audit"; import { teamRouter } from "./routers/team"; -import { settingsRouter } from "./routers/settings"; export const appRouter = createTRPCRouter({ hello: helloRouter, @@ -22,7 +21,6 @@ export const appRouter = createTRPCRouter({ stripe: stripeRouter, audit: auditRouter, team: teamRouter, - settings: settingsRouter, }); -export type AppRouter = typeof appRouter; \ No newline at end of file +export type AppRouter = typeof appRouter; diff --git a/packages/api/src/routers/admin.ts b/packages/api/src/routers/admin.ts index df94e1c3..6c0a089d 100644 --- a/packages/api/src/routers/admin.ts +++ b/packages/api/src/routers/admin.ts @@ -1,16 +1,23 @@ import { z } from "zod"; import { TRPCError } from "@trpc/server"; import { createTRPCRouter, protectedProcedure } from "../trpc"; -import { admins, users, events, eventCheckIns, hackathons, hackathonParticipants } from "@query/db"; +import { + admins, + users, + events, + eventCheckIns, + hackathons, + hackathonParticipants, +} from "@query/db"; import { eq, and, count, gte, inArray } from "drizzle-orm"; -import { CacheKeys } from "../middleware/cache"; +import { CacheKeys, invalidatePortalContext } from "../middleware/cache"; import { isAdmin, isSuperAdmin } from "../middleware/procedures"; import type { DrizzleDB } from "@query/db"; export const adminRouter = createTRPCRouter({ isAdmin: protectedProcedure.query(async ({ ctx }) => { if (!ctx.userId) { - throw new TRPCError ({ + throw new TRPCError({ code: "BAD_REQUEST", message: "Cannot create an admin", }); @@ -32,7 +39,7 @@ export const adminRouter = createTRPCRouter({ const admin = await (ctx.db as DrizzleDB).query.admins.findFirst({ where: and( eq(admins.userId, ctx.userId as string), - eq(admins.isActive, true) + eq(admins.isActive, true), ), }); @@ -51,17 +58,21 @@ export const adminRouter = createTRPCRouter({ const startOfToday = new Date(); startOfToday.setHours(0, 0, 0, 0); - const [ - participantsResult, - eventsResult, - hackathonsResult, - checkinsResult - ] = await Promise.all([ - (ctx.db as DrizzleDB).select({ count: count() }).from(hackathonParticipants), - (ctx.db as DrizzleDB).select({ count: count() }).from(events), - (ctx.db as DrizzleDB).select({ count: count() }).from(hackathons).where(inArray(hackathons.status, ["open", "in_progress"])), - (ctx.db as DrizzleDB).select({ count: count() }).from(eventCheckIns).where(gte(eventCheckIns.checkedInAt, startOfToday)), - ]); + const [participantsResult, eventsResult, hackathonsResult, checkinsResult] = + await Promise.all([ + (ctx.db as DrizzleDB) + .select({ count: count() }) + .from(hackathonParticipants), + (ctx.db as DrizzleDB).select({ count: count() }).from(events), + (ctx.db as DrizzleDB) + .select({ count: count() }) + .from(hackathons) + .where(inArray(hackathons.status, ["open", "in_progress"])), + (ctx.db as DrizzleDB) + .select({ count: count() }) + .from(eventCheckIns) + .where(gte(eventCheckIns.checkedInAt, startOfToday)), + ]); return { totalParticipants: participantsResult[0]?.count ?? 0, @@ -72,23 +83,25 @@ export const adminRouter = createTRPCRouter({ }), list: isAdmin.query(async ({ ctx }) => { - const fetchAdmins = () => (ctx.db as DrizzleDB).query.admins.findMany({ - with: { - user: { - columns: { - id: true, - name: true, - email: true, - image: true, + const fetchAdmins = () => + (ctx.db as DrizzleDB).query.admins.findMany({ + with: { + user: { + columns: { + id: true, + name: true, + email: true, + image: true, + }, }, }, - }, - orderBy: (admins, { desc }) => [desc(admins.createdAt)], - limit: 100, - }); + orderBy: (admins, { desc }) => [desc(admins.createdAt)], + limit: 100, + }); const cacheKey = `admins:list`; - const cached = ctx.cache.get>>(cacheKey); + const cached = + ctx.cache.get>>(cacheKey); if (cached) return cached; const allAdmins = await fetchAdmins(); @@ -103,7 +116,7 @@ export const adminRouter = createTRPCRouter({ userId: z.string().min(1).max(255), role: z.enum(["super_admin", "admin", "moderator"]), permissions: z.array(z.string().max(100)).max(50).optional(), - }) + }), ) .mutation(async ({ ctx, input }) => { // Parallel check: user exists AND not already admin @@ -122,7 +135,10 @@ export const adminRouter = createTRPCRouter({ throw new TRPCError({ code: "NOT_FOUND", message: "User not found" }); } if (existingAdmin) { - throw new TRPCError({ code: "BAD_REQUEST", message: "User is already an admin" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "User is already an admin", + }); } const result = await (ctx.db as DrizzleDB) @@ -136,12 +152,16 @@ export const adminRouter = createTRPCRouter({ const newAdmin = result[0]; if (!newAdmin) { - throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", message: "Failed to create admin" }); + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: "Failed to create admin", + }); } // Invalidate admin caches after creation ctx.cache.deletePattern(`${CacheKeys.admin(input.userId)}*`); ctx.cache.delete(`admins:list`); + invalidatePortalContext(input.userId); return newAdmin; }), @@ -153,7 +173,7 @@ export const adminRouter = createTRPCRouter({ role: z.enum(["super_admin", "admin", "moderator"]).optional(), permissions: z.array(z.string().max(100)).max(50).optional(), isActive: z.boolean().optional(), - }) + }), ) .mutation(async ({ ctx, input }) => { const targetAdmin = await (ctx.db as DrizzleDB).query.admins.findFirst({ @@ -164,23 +184,35 @@ export const adminRouter = createTRPCRouter({ throw new TRPCError({ code: "NOT_FOUND", message: "Admin not found" }); } if (targetAdmin.userId === ctx.userId && input.isActive === false) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Cannot deactivate your own admin account" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Cannot deactivate your own admin account", + }); } const result = await (ctx.db as DrizzleDB) .update(admins) - .set({ role: input.role, permissions: input.permissions, isActive: input.isActive, updatedAt: new Date() }) + .set({ + role: input.role, + permissions: input.permissions, + isActive: input.isActive, + updatedAt: new Date(), + }) .where(eq(admins.id, input.adminId)) .returning(); const updatedAdmin = result[0]; if (!updatedAdmin) { - throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", message: "Failed to update admin" }); + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: "Failed to update admin", + }); } // Bust the affected user's admin cache so next request re-checks ctx.cache.deletePattern(`${CacheKeys.admin(targetAdmin.userId)}*`); ctx.cache.delete(`admins:list`); + invalidatePortalContext(targetAdmin.userId); return updatedAdmin; }), @@ -196,14 +228,20 @@ export const adminRouter = createTRPCRouter({ throw new TRPCError({ code: "NOT_FOUND", message: "Admin not found" }); } if (targetAdmin.userId === ctx.userId) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Cannot remove your own admin account" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Cannot remove your own admin account", + }); } - await (ctx.db as DrizzleDB).delete(admins).where(eq(admins.id, input.adminId)); + await (ctx.db as DrizzleDB) + .delete(admins) + .where(eq(admins.id, input.adminId)); ctx.cache.deletePattern(`${CacheKeys.admin(targetAdmin.userId)}*`); ctx.cache.delete(`admins:list`); + invalidatePortalContext(targetAdmin.userId); return { success: true }; }), -}); \ No newline at end of file +}); diff --git a/packages/api/src/routers/audit.ts b/packages/api/src/routers/audit.ts index c0eb46b1..d378f506 100644 --- a/packages/api/src/routers/audit.ts +++ b/packages/api/src/routers/audit.ts @@ -5,43 +5,43 @@ import { isAdmin } from "../middleware/procedures"; import { desc, eq, and, sql } from "drizzle-orm"; export const auditRouter = createTRPCRouter({ - list: isAdmin - .input( - z.object({ - limit: z.number().min(1).max(100).default(50), - offset: z.number().min(0).default(0), - severity: z.enum(["info", "warn", "critical"]).optional(), - userId: z.string().optional(), - }) - ) - .query(async ({ ctx, input }) => { - const filters = and( - input.severity ? eq(auditLogs.severity, input.severity) : undefined, - input.userId ? eq(auditLogs.userId, input.userId) : undefined - ); + list: isAdmin + .input( + z.object({ + limit: z.number().min(1).max(100).default(50), + offset: z.number().min(0).default(0), + severity: z.enum(["info", "warn", "critical"]).optional(), + userId: z.string().optional(), + }), + ) + .query(async ({ ctx, input }) => { + const filters = and( + input.severity ? eq(auditLogs.severity, input.severity) : undefined, + input.userId ? eq(auditLogs.userId, input.userId) : undefined, + ); - const logs = await ctx.db!.query.auditLogs.findMany({ - where: filters, - orderBy: [desc(auditLogs.createdAt)], - limit: input.limit, - offset: input.offset, - }); + const logs = await ctx.db!.query.auditLogs.findMany({ + where: filters, + orderBy: [desc(auditLogs.createdAt)], + limit: input.limit, + offset: input.offset, + }); - const totalResult = await ctx.db! - .select({ count: sql`count(*)` }) - .from(auditLogs) - .where(filters); + const totalResult = await ctx + .db!.select({ count: sql`count(*)` }) + .from(auditLogs) + .where(filters); - const total = Number(totalResult[0]?.count || 0); + const total = Number(totalResult[0]?.count || 0); - return { - logs, - pagination: { - total, - limit: input.limit, - offset: input.offset, - hasMore: input.offset + input.limit < total, - } - }; - }), + return { + logs, + pagination: { + total, + limit: input.limit, + offset: input.offset, + hasMore: input.offset + input.limit < total, + }, + }; + }), }); diff --git a/packages/api/src/routers/events.ts b/packages/api/src/routers/events.ts index bf13ab03..9aac0c48 100644 --- a/packages/api/src/routers/events.ts +++ b/packages/api/src/routers/events.ts @@ -15,7 +15,7 @@ export const eventRouter = createTRPCRouter({ location: z.string().max(200).optional(), eventDate: z.date(), maxCheckIns: z.number().int().positive().optional(), - }) + }), ) .mutation(async ({ ctx, input }) => { const qrCode = randomUUID(); @@ -30,7 +30,7 @@ export const eventRouter = createTRPCRouter({ .returning(); // Invalidate all event-related cache entries after creation - ctx.cache.deletePattern('event*'); + ctx.cache.deletePattern("event*"); return newEvent; }), @@ -58,24 +58,26 @@ export const eventRouter = createTRPCRouter({ // Invalidate event and related caches after QR regeneration ctx.cache.deletePattern(`event:${input.eventId}`); - ctx.cache.deletePattern('event*'); + ctx.cache.deletePattern("event*"); return updatedEvent; }), listAll: isAdmin.query(async ({ ctx }) => { - const fetchEvents = () => (ctx.db as NonNullable).query.events.findMany({ - orderBy: (events, { desc }) => [desc(events.eventDate)], - with: { - createdBy: { - columns: { name: true, email: true }, + const fetchEvents = () => + (ctx.db as NonNullable).query.events.findMany({ + orderBy: (events, { desc }) => [desc(events.eventDate)], + with: { + createdBy: { + columns: { name: true, email: true }, + }, }, - }, - limit: 100, - }); + limit: 100, + }); const cacheKey = `events:list:all`; - const cached = ctx.cache.get>>(cacheKey); + const cached = + ctx.cache.get>>(cacheKey); if (cached !== null) return cached; const allEvents = await fetchEvents(); @@ -84,26 +86,32 @@ export const eventRouter = createTRPCRouter({ }), list: publicProcedure.query(async ({ ctx }) => { - const fetchEvents = () => (ctx.db as NonNullable).query.events.findMany({ - orderBy: (events, { desc }) => [desc(events.eventDate)], - limit: 50, - }); + const fetchEvents = () => + (ctx.db as NonNullable).query.events.findMany({ + orderBy: (events, { desc }) => [desc(events.eventDate)], + limit: 50, + }); const cacheKey = `events:list:public`; - const cached = ctx.cache.get>>(cacheKey); + const cached = + ctx.cache.get>>(cacheKey); let allEvents = cached; - + if (!allEvents) { allEvents = await fetchEvents(); ctx.cache.set(cacheKey, allEvents, 30); } const now = new Date(); - return allEvents.map(event => { + return allEvents.map((event) => { const { qrCode: _qrCode, ...safeEvent } = event; return { ...safeEvent, - status: (event.checkInEnabled && event.eventDate >= new Date(now.getTime() - 24 * 60 * 60 * 1000)) ? "open" : "closed", + status: + event.checkInEnabled && + event.eventDate >= new Date(now.getTime() - 24 * 60 * 60 * 1000) + ? "open" + : "closed", }; }); }), @@ -111,7 +119,9 @@ export const eventRouter = createTRPCRouter({ getById: isAdmin .input(z.object({ id: z.string().uuid() })) .query(async ({ ctx, input }) => { - const event = await (ctx.db as NonNullable).query.events.findFirst({ + const event = await ( + ctx.db as NonNullable + ).query.events.findFirst({ where: eq(events.id, input.id), with: { checkIns: { @@ -131,7 +141,9 @@ export const eventRouter = createTRPCRouter({ }, }, }, - orderBy: (eventCheckIns, { desc }) => [desc(eventCheckIns.checkedInAt)], + orderBy: (eventCheckIns, { desc }) => [ + desc(eventCheckIns.checkedInAt), + ], }, }, }); @@ -151,7 +163,7 @@ export const eventRouter = createTRPCRouter({ z.object({ eventId: z.string().uuid(), enabled: z.boolean(), - }) + }), ) .mutation(async ({ ctx, input }) => { const [updatedEvent] = await (ctx.db as NonNullable) @@ -165,7 +177,7 @@ export const eventRouter = createTRPCRouter({ // Invalidate event and check-in related caches ctx.cache.deletePattern(`event:${input.eventId}`); - ctx.cache.deletePattern('event*'); + ctx.cache.deletePattern("event*"); return updatedEvent; }), @@ -174,13 +186,17 @@ export const eventRouter = createTRPCRouter({ .input(z.object({ eventId: z.string().uuid() })) .mutation(async ({ ctx, input }) => { // Also delete associated check-ins before removing the event - await (ctx.db as NonNullable).delete(eventCheckIns).where(eq(eventCheckIns.eventId, input.eventId)); + await (ctx.db as NonNullable) + .delete(eventCheckIns) + .where(eq(eventCheckIns.eventId, input.eventId)); - await (ctx.db as NonNullable).delete(events).where(eq(events.id, input.eventId)); + await (ctx.db as NonNullable) + .delete(events) + .where(eq(events.id, input.eventId)); // Invalidate all event-related cache entries after deletion ctx.cache.deletePattern(`event:${input.eventId}`); - ctx.cache.deletePattern('event*'); + ctx.cache.deletePattern("event*"); return { success: true }; }), @@ -188,98 +204,117 @@ export const eventRouter = createTRPCRouter({ checkIn: protectedProcedure .input(z.object({ qrCode: z.string().uuid() })) .mutation(async ({ ctx, input }) => { - return await (ctx.db as NonNullable).transaction(async (tx) => { - const event = await tx.query.events.findFirst({ - where: eq(events.qrCode, input.qrCode), - }); - - if (!event) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Invalid QR code", - }); - } - - if (!event.checkInEnabled) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Check-in not enabled for this event", + return await (ctx.db as NonNullable).transaction( + async (tx) => { + const event = await tx.query.events.findFirst({ + where: eq(events.qrCode, input.qrCode), }); - } - if (event.maxCheckIns && event.currentCheckIns >= event.maxCheckIns) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Event is full", - }); - } - - const [member, existingCheckIn] = await Promise.all([ - tx.query.members.findFirst({ - where: eq(members.userId, ctx.userId as string), - }), - tx.query.eventCheckIns.findFirst({ - where: and( - eq(eventCheckIns.eventId, event.id), - eq(eventCheckIns.userId, ctx.userId as string) - ), - }), - ]); - - if (!member) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Must be a member to check in", - }); - } - - if (existingCheckIn) { - throw new TRPCError({ - code: "CONFLICT", - message: "Already checked in", - }); - } - - await Promise.all([ - tx.insert(eventCheckIns).values({ - eventId: event.id, - userId: ctx.userId as string, - memberId: member.id, - checkInMethod: "qr_code", - }), - tx - .update(events) - .set({ - currentCheckIns: sql`${events.currentCheckIns} + 1`, - }) - .where(eq(events.id, event.id)), - ]); - - // Invalidate event and related caches after successful check-in - ctx.cache.deletePattern(`event:${event.id}`); - ctx.cache.deletePattern('event*'); - - return { - success: true, - eventTitle: event.title, - }; - }); + if (!event) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Invalid QR code", + }); + } + + if (!event.checkInEnabled) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Check-in not enabled for this event", + }); + } + + if (event.maxCheckIns && event.currentCheckIns >= event.maxCheckIns) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Event is full", + }); + } + + const [member, existingCheckIn] = await Promise.all([ + tx.query.members.findFirst({ + where: eq(members.userId, ctx.userId as string), + }), + tx.query.eventCheckIns.findFirst({ + where: and( + eq(eventCheckIns.eventId, event.id), + eq(eventCheckIns.userId, ctx.userId as string), + ), + }), + ]); + + if (!member) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "Must be a member to check in", + }); + } + + // Org events have no registration status of their own; an active + // membership is the equivalent gate. + if (!member.isActive) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "Your membership is not active", + }); + } + + if (existingCheckIn) { + throw new TRPCError({ + code: "CONFLICT", + message: "Already checked in", + }); + } + + await Promise.all([ + tx.insert(eventCheckIns).values({ + eventId: event.id, + userId: ctx.userId as string, + memberId: member.id, + checkInMethod: "qr_code", + }), + tx + .update(events) + .set({ + currentCheckIns: sql`${events.currentCheckIns} + 1`, + }) + .where(eq(events.id, event.id)), + ]); + + // Invalidate event and related caches after successful check-in + ctx.cache.deletePattern(`event:${event.id}`); + ctx.cache.deletePattern("event*"); + + return { + success: true, + eventTitle: event.title, + }; + }, + ); }), myEvents: protectedProcedure.query(async ({ ctx }) => { - const fetchCheckIns = () => (ctx.db as NonNullable).query.eventCheckIns.findMany({ - where: eq(eventCheckIns.userId, ctx.userId as string), - with: { - event: { - columns: { id: true, title: true, description: true, location: true, eventDate: true }, + const fetchCheckIns = () => + (ctx.db as NonNullable).query.eventCheckIns.findMany({ + where: eq(eventCheckIns.userId, ctx.userId as string), + with: { + event: { + columns: { + id: true, + title: true, + description: true, + location: true, + eventDate: true, + }, + }, }, - }, - orderBy: (eventCheckIns, { desc }) => [desc(eventCheckIns.checkedInAt)], - limit: 50, - }); + orderBy: (eventCheckIns, { desc }) => [desc(eventCheckIns.checkedInAt)], + limit: 50, + }); const cacheKey = `events:my:${ctx.userId}`; - const cached = ctx.cache.get>>(cacheKey); + const cached = + ctx.cache.get>>(cacheKey); if (cached) return cached; const checkIns = await fetchCheckIns(); @@ -301,4 +336,4 @@ export const eventRouter = createTRPCRouter({ ctx.cache.set(cacheKey, stats, 60); return stats; }), -}); \ No newline at end of file +}); diff --git a/packages/api/src/routers/hackathon.ts b/packages/api/src/routers/hackathon.ts deleted file mode 100644 index b7b1b93e..00000000 --- a/packages/api/src/routers/hackathon.ts +++ /dev/null @@ -1,859 +0,0 @@ -import { z } from "zod"; -import { TRPCError } from "@trpc/server"; -import { createTRPCRouter, protectedProcedure, publicProcedure } from "../trpc"; -import { - hackathons, - hackathonParticipants, - hackathonProjects, - hackathonTeams, - members, - hackathonEvents, - hackathonEventAttendees, -} from "@query/db"; -import { eq, and, gte, sql, inArray } from "drizzle-orm"; -import { isAdmin } from "../middleware/procedures"; -import { CacheKeys } from "../middleware/cache"; -import type { DrizzleDB } from "@query/db"; - -export const hackathonRouter = createTRPCRouter({ - list: publicProcedure - .input( - z.object({ - status: z.enum(["draft", "open", "closed", "in_progress", "completed", "cancelled"]).optional(), - upcoming: z.boolean().optional(), - limit: z.number().min(1).max(100).default(20), - offset: z.number().min(0).default(0), - }) - ) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathons:list:${input.status || 'all'}:${input.upcoming ? 'upcoming' : 'all'}:${input.limit}:${input.offset}`; - - type DB = DrizzleDB; - type HackathonList = Awaited>; - // Check cache first - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const now = new Date(); - - const allHackathons = await (ctx.db as DrizzleDB).query.hackathons.findMany({ - where: and( - eq(hackathons.isPublic, true), - input.status ? eq(hackathons.status, input.status) : undefined, - input.upcoming ? gte(hackathons.startDate, now) : undefined - ), - limit: input.limit, - offset: input.offset, - orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)], - }); - - ctx.cache.set(cacheKey, allHackathons, 60); - - return allHackathons; - }), - - listAll: isAdmin - .query(async ({ ctx }) => { - const cacheKey = "hackathons:list:all"; - - const fetchAll = async () => { - return await (ctx.db as DrizzleDB).query.hackathons.findMany({ - orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)], - }); - }; - - const cached = ctx.cache.get>>(cacheKey); - if (cached !== null) return cached; - - const allHackathons = await fetchAll(); - - ctx.cache.set(cacheKey, allHackathons, 60); - - return allHackathons; - }), - - - getById: publicProcedure - .input(z.object({ id: z.string() })) - .query(async ({ ctx, input }) => { - // Check cache first - const cacheKey = CacheKeys.hackathon(input.id); - type DB = DrizzleDB; - type HackathonItem = Awaited>; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const isUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(input.id); - const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: isUuid ? eq(hackathons.id, input.id) : eq(hackathons.name, input.id), - }); - - if (!hackathon) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Hackathon not found", - }); - } - - ctx.cache.set(cacheKey, hackathon, 120); - - return hackathon; - }), - - create: isAdmin - .input( - z.object({ - name: z.string().min(1).max(200), - description: z.string().max(5000).optional(), - location: z.string().max(500).optional(), - startDate: z.date(), - endDate: z.date(), - registrationDeadline: z.date().optional(), - hackingStartTime: z.date().optional(), - maxParticipants: z.number().int().positive().max(10000).optional(), - prizes: z.array( - z.object({ - place: z.string().max(50), - amount: z.number().nonnegative(), - description: z.string().max(500).optional(), - }) - ).max(20).optional(), - rules: z.string().max(10000).optional(), - theme: z.string().max(200).optional(), - tracks: z.array(z.string().max(100)).max(50).optional(), - challenges: z.array(z.string().max(100)).max(50).optional(), - websiteUrl: z.string().url().max(500).optional(), - }).refine(data => data.endDate > data.startDate, { - message: "End date must be after start date", - }).refine(data => !data.registrationDeadline || data.registrationDeadline <= data.startDate, { - message: "Registration deadline must be before start date", - }).refine(data => !data.hackingStartTime || data.hackingStartTime >= data.startDate, { - message: "Hacking start time must be after or equal to hackathon start date", - }) - ) - .mutation(async ({ ctx, input }) => { - const [newHackathon] = await (ctx.db as DrizzleDB) - .insert(hackathons) - .values({ - ...input, - status: "draft", - }) - .returning(); - - ctx.cache.deletePattern('hackathons:*'); - - return newHackathon; - }), - - update: isAdmin - .input( - z.object({ - id: z.string().uuid("Invalid hackathon ID"), - name: z.string().min(1).max(200).optional(), - description: z.string().max(5000).optional(), - location: z.string().max(500).optional(), - startDate: z.date().optional(), - endDate: z.date().optional(), - registrationDeadline: z.date().optional(), - hackingStartTime: z.date().nullable().optional(), - maxParticipants: z.number().int().positive().max(10000).optional(), - status: z.enum(["draft", "open", "closed", "in_progress", "completed", "cancelled"]).optional(), - prizes: z.array( - z.object({ - place: z.string().max(50), - amount: z.number().nonnegative(), - description: z.string().max(500).optional(), - }) - ).max(20).optional(), - rules: z.string().max(10000).optional(), - theme: z.string().max(200).optional(), - tracks: z.array(z.string().max(100)).max(50).optional(), - challenges: z.array(z.string().max(100)).max(50).optional(), - websiteUrl: z.string().url().max(500).optional(), - isPublic: z.boolean().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const { id, ...updateData } = input; - - const existing = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: eq(hackathons.id, id), - }); - - if (!existing) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Hackathon not found", - }); - } - - const [updatedHackathon] = await (ctx.db as DrizzleDB) - .update(hackathons) - .set({ - ...updateData, - updatedAt: new Date(), - }) - .where(eq(hackathons.id, id)) - .returning(); - - ctx.cache.delete(CacheKeys.hackathon(id)); - ctx.cache.deletePattern('hackathons:*'); - - return updatedHackathon; - }), - - delete: isAdmin - .input(z.object({ hackathonId: z.string().uuid() })) - .mutation(async ({ ctx, input }) => { - const { hackathonId } = input; - await (ctx.db as DrizzleDB).delete(hackathons).where(eq(hackathons.id, hackathonId)); - ctx.cache.delete(CacheKeys.hackathon(hackathonId)); - ctx.cache.deletePattern('hackathons:*'); - return { success: true }; - }), - - register: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - // Personal info - firstName: z.string().min(1).max(100), - lastName: z.string().min(1).max(100), - phone: z.string().min(1).max(30), - age: z.number().int().min(13).max(120), - gender: z.string().max(50).optional(), - pronouns: z.string().max(50).optional(), - race: z.string().max(100).optional(), - underrepresented: z.boolean().optional(), - // Academic info - school: z.string().min(1).max(300), - major: z.string().min(1).max(300), - graduationYear: z.number().int().min(2020).max(2035), - levelOfStudy: z.enum(["Freshman", "Sophomore", "Junior", "Senior", "Graduate", "PhD", "Other"]), - country: z.string().min(1).max(100), - firstGeneration: z.boolean().optional(), - // Experience - hackathonsAttended: z.number().int().min(0).max(100).optional(), - resumeUrl: z.string().url().max(500).optional().or(z.literal("")), - linkedinUrl: z.string().url().max(500).optional().or(z.literal("")), - githubUrl: z.string().url().max(500).optional().or(z.literal("")), - whyAttend: z.string().max(2000).optional(), - // Logistics - shirtSize: z.enum(["XS", "S", "M", "L", "XL", "XXL"]).optional(), - dietaryRestrictions: z.array(z.string().max(100)).max(10).optional(), - emergencyContact: z.string().max(200).optional(), - emergencyPhone: z.string().max(20).optional(), - needsHardware: z.boolean().optional(), - // Consent - agreeToCodeOfConduct: z.boolean().refine(v => v === true, { message: "You must agree to the Code of Conduct" }), - mlhCodeOfConduct: z.boolean().optional(), - mlhDataSharing: z.boolean().optional(), - mlhInformationalEmails: z.boolean().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - try { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - const hackathon = await tx.query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - }); - - if (!hackathon) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Hackathon not found", - }); - } - - if (hackathon.status !== "open") { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Registration is not open for this hackathon", - }); - } - - if (hackathon.registrationDeadline && new Date() > hackathon.registrationDeadline) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Registration deadline has passed", - }); - } - - const existingParticipant = await tx.query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - }); - - if (existingParticipant) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "You are already registered for this hackathon", - }); - } - - if (hackathon.maxParticipants && hackathon.currentParticipants >= hackathon.maxParticipants) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "This hackathon is full", - }); - } - - const member = await tx.query.members.findFirst({ - where: eq(members.userId, ctx.userId as string), - }); - - const [participant] = await tx - .insert(hackathonParticipants) - .values({ - hackathonId: input.hackathonId, - userId: ctx.userId as string, - memberId: member?.id, - // Personal - firstName: input.firstName, - lastName: input.lastName, - phone: input.phone, - age: input.age, - gender: input.gender, - pronouns: input.pronouns, - race: input.race, - underrepresented: input.underrepresented, - // Academic - school: input.school, - major: input.major, - graduationYear: input.graduationYear, - levelOfStudy: input.levelOfStudy, - country: input.country, - firstGeneration: input.firstGeneration, - // Experience - hackathonsAttended: input.hackathonsAttended, - resumeUrl: input.resumeUrl || undefined, - linkedinUrl: input.linkedinUrl || undefined, - githubUrl: input.githubUrl || undefined, - whyAttend: input.whyAttend, - // Logistics - shirtSize: input.shirtSize, - dietaryRestrictions: input.dietaryRestrictions || [], - emergencyContact: input.emergencyContact, - emergencyPhone: input.emergencyPhone, - needsHardware: input.needsHardware, - // Consent - agreeToCodeOfConduct: input.agreeToCodeOfConduct, - mlhCodeOfConduct: input.mlhCodeOfConduct, - mlhDataSharing: input.mlhDataSharing, - mlhInformationalEmails: input.mlhInformationalEmails, - registrationStatus: "pending", - }) - .returning(); - - await tx - .update(hackathons) - .set({ - currentParticipants: sql`${hackathons.currentParticipants} + 1`, - }) - .where(eq(hackathons.id, input.hackathonId)); - - // Invalidate all hackathon caches after successful registration - ctx.cache.deletePattern('hackathon*'); - - return participant; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - // Unexpected error during registration - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Registration failed: ${message}`, - }); - } - }), - - myRegistrations: protectedProcedure.query(async ({ ctx }) => { - const cacheKey = `hackathon:registrations:${ctx.userId}`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const registrations = await (ctx.db as DrizzleDB).query.hackathonParticipants.findMany({ - where: eq(hackathonParticipants.userId, ctx.userId as string), - with: { - hackathon: true, - team: { - with: { - projects: true, - }, - }, - }, - orderBy: (hackathonParticipants, { desc }) => [desc(hackathonParticipants.registeredAt)], - }); - - ctx.cache.set(cacheKey, registrations, 30); - return registrations; - }), - - participants: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:participants`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const participants = await (ctx.db as DrizzleDB).query.hackathonParticipants.findMany({ - where: eq(hackathonParticipants.hackathonId, input.hackathonId), - columns: { - id: true, - hackathonId: true, - userId: true, - teamId: true, - registrationStatus: true, - }, - with: { - user: { - columns: { - id: true, - name: true, - image: true, - }, - }, - team: true, - }, - }); - - ctx.cache.set(cacheKey, participants, 60); - - return participants; - }), - - getTeams: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const teams = await (ctx.db as DrizzleDB).query.hackathonTeams.findMany({ - where: eq(hackathonTeams.hackathonId, input.hackathonId), - with: { - captain: { - columns: { id: true, name: true, image: true }, - }, - participants: { - columns: { - id: true, - userId: true, - registrationStatus: true, - }, - with: { - user: { - columns: { id: true, name: true, image: true }, - }, - }, - }, - }, - orderBy: (hackathonTeams, { desc }) => [desc(hackathonTeams.createdAt)], - }); - - return teams; - }), - - projects: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:projects`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const projects = await (ctx.db as DrizzleDB).query.hackathonProjects.findMany({ - where: eq(hackathonProjects.hackathonId, input.hackathonId), - with: { - team: { - with: { - participants: { - columns: { - id: true, - hackathonId: true, - userId: true, - teamId: true, - registrationStatus: true, - }, - with: { - user: { - columns: { - id: true, - name: true, - image: true, - }, - }, - }, - }, - }, - }, - }, - orderBy: (hackathonProjects, { desc }) => [desc(hackathonProjects.submittedAt)], - }); - - ctx.cache.set(cacheKey, projects, 120); - - return projects; - }), - - - - - - - - adminGetAttendees: isAdmin - .input(z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - })) - .query(async ({ ctx, input }) => { - const attendees = await (ctx.db as DrizzleDB).query.hackathonParticipants.findMany({ - where: eq(hackathonParticipants.hackathonId, input.hackathonId), - with: { - user: { - columns: { - id: true, - name: true, - email: true, - image: true, - } - }, - team: { - columns: { - id: true, - name: true, - } - } - }, - orderBy: (participants, { desc }) => [desc(participants.registeredAt)], - }); - - return attendees; - }), - - updateParticipantStatus: isAdmin - .input(z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - participantId: z.string().uuid("Invalid participant ID"), - status: z.enum(["pending", "approved", "rejected", "waitlisted", "checked_in"]), - })) - .mutation(async ({ ctx, input }) => { - const participant = await (ctx.db as DrizzleDB).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.id, input.participantId), - eq(hackathonParticipants.hackathonId, input.hackathonId) - ), - }); - - if (!participant) { - throw new TRPCError({ code: "NOT_FOUND", message: "Participant not found" }); - } - - await (ctx.db as DrizzleDB) - .update(hackathonParticipants) - .set({ registrationStatus: input.status }) - .where(eq(hackathonParticipants.id, input.participantId)); - - ctx.cache.deletePattern('hackathon*'); - - return { success: true }; - }), - - batchUpdateParticipantStatus: isAdmin - .input(z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - participantIds: z.array(z.string().uuid()).min(1).max(500), - status: z.enum(["pending", "approved", "rejected", "waitlisted", "checked_in"]), - })) - .mutation(async ({ ctx, input }) => { - const { hackathonId, participantIds, status } = input; - - await (ctx.db as DrizzleDB).transaction(async (tx) => { - for (const participantId of participantIds) { - await tx - .update(hackathonParticipants) - .set({ registrationStatus: status, updatedAt: new Date() }) - .where( - and( - eq(hackathonParticipants.id, participantId), - eq(hackathonParticipants.hackathonId, hackathonId) - ) - ); - } - }); - - ctx.cache.deletePattern('hackathon*'); - - return { success: true, updated: participantIds.length }; - }), - - analytics: isAdmin - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const participants = await (ctx.db as DrizzleDB).query.hackathonParticipants.findMany({ - where: eq(hackathonParticipants.hackathonId, input.hackathonId), - }); - - const stats = { - totalRegistrations: participants.length, - statusBreakdown: { - approved: 0, - pending: 0, - rejected: 0, - waitlisted: 0, - checked_in: 0, - }, - shirtSizes: {} as Record, - dietaryRestrictions: {} as Record, - }; - - participants.forEach((p) => { - // Status breakdown - if (p.registrationStatus in stats.statusBreakdown) { - stats.statusBreakdown[p.registrationStatus as keyof typeof stats.statusBreakdown]++; - } - - // Shirt sizes - if (p.shirtSize) { - stats.shirtSizes[p.shirtSize] = (stats.shirtSizes[p.shirtSize] || 0) + 1; - } - - // Dietary restrictions - if (p.dietaryRestrictions && p.dietaryRestrictions.length > 0) { - p.dietaryRestrictions.forEach((restriction) => { - const normalized = restriction.trim(); - if (normalized) { - stats.dietaryRestrictions[normalized] = (stats.dietaryRestrictions[normalized] || 0) + 1; - } - }); - } - }); - - return stats; - }), - - scanParticipantPass: isAdmin - .input(z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - eventId: z.string().uuid("Invalid event ID"), - participantId: z.string().uuid("Invalid participant ID"), - })) - .mutation(async ({ ctx, input }) => { - // 1. Verify participant exists and belongs to this hackathon - const participant = await (ctx.db as DrizzleDB).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.id, input.participantId), - eq(hackathonParticipants.hackathonId, input.hackathonId) - ), - with: { user: true } - }); - - if (!participant) { - throw new TRPCError({ code: "NOT_FOUND", message: "Participant not found or not registered for this hackathon." }); - } - - // 2. Verify event exists and belongs to this hackathon - const event = await (ctx.db as DrizzleDB).query.hackathonEvents.findFirst({ - where: and( - eq(hackathonEvents.id, input.eventId), - eq(hackathonEvents.hackathonId, input.hackathonId) - ) - }); - - if (!event) { - throw new TRPCError({ code: "NOT_FOUND", message: "Event not found." }); - } - - // 3. Check for existing check-in to prevent duplicates - const existingScan = await (ctx.db as DrizzleDB).query.hackathonEventAttendees.findFirst({ - where: and( - eq(hackathonEventAttendees.eventId, input.eventId), - eq(hackathonEventAttendees.participantId, input.participantId) - ) - }); - - if (existingScan) { - throw new TRPCError({ code: "CONFLICT", message: `${participant.user.name || participant.user.email} is already checked into ${event.name}.` }); - } - - // 4. Record attendance - await (ctx.db as DrizzleDB).insert(hackathonEventAttendees).values({ - eventId: input.eventId, - participantId: input.participantId, - }); - - // Invalidate hackathon caches after attendance scan - ctx.cache.deletePattern('hackathon*'); - - return { success: true, message: `Successfully checked in ${participant.user.name || participant.user.email}!` }; - }), - - createEvent: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - name: z.string().min(1).max(200), - description: z.string().max(2000).optional(), - type: z.enum(["workshop", "meal", "ceremony", "activity", "sponsor_session"]), - location: z.string().min(1).max(500), - startTime: z.date(), - endTime: z.date(), - points: z.number().int().min(0).max(1000).default(0), - }).refine(data => data.endTime > data.startTime, { - message: "End time must be after start time", - }) - ) - .mutation(async ({ ctx, input }) => { - const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - }); - - if (!hackathon) { - throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found" }); - } - - const [newEvent] = await (ctx.db as DrizzleDB) - .insert(hackathonEvents) - .values({ - hackathonId: input.hackathonId, - name: input.name, - description: input.description, - type: input.type, - location: input.location, - startTime: input.startTime, - endTime: input.endTime, - points: input.points, - }) - .returning(); - - ctx.cache.deletePattern('hackathon*'); - - return newEvent; - }), - - updateEvent: isAdmin - .input( - z.object({ - eventId: z.string().uuid("Invalid event ID"), - name: z.string().min(1).max(200).optional(), - description: z.string().max(2000).optional(), - type: z.enum(["workshop", "meal", "ceremony", "activity", "sponsor_session"]).optional(), - location: z.string().min(1).max(500).optional(), - startTime: z.date().optional(), - endTime: z.date().optional(), - points: z.number().int().min(0).max(1000).optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const { eventId, ...updateData } = input; - - const existing = await (ctx.db as DrizzleDB).query.hackathonEvents.findFirst({ - where: eq(hackathonEvents.id, eventId), - }); - - if (!existing) { - throw new TRPCError({ code: "NOT_FOUND", message: "Event not found" }); - } - - const [updatedEvent] = await (ctx.db as DrizzleDB) - .update(hackathonEvents) - .set({ - ...updateData, - updatedAt: new Date(), - }) - .where(eq(hackathonEvents.id, eventId)) - .returning(); - - ctx.cache.deletePattern('hackathon*'); - - return updatedEvent; - }), - - deleteEvent: isAdmin - .input(z.object({ - eventId: z.string().uuid("Invalid event ID"), - })) - .mutation(async ({ ctx, input }) => { - const existing = await (ctx.db as DrizzleDB).query.hackathonEvents.findFirst({ - where: eq(hackathonEvents.id, input.eventId), - }); - - if (!existing) { - throw new TRPCError({ code: "NOT_FOUND", message: "Event not found" }); - } - - await (ctx.db as DrizzleDB) - .delete(hackathonEvents) - .where(eq(hackathonEvents.id, input.eventId)); - - ctx.cache.deletePattern('hackathon*'); - - return { success: true }; - }), - - getEvents: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:events`; - - const fetchEvents = async () => { - const eventsData = await (ctx.db as DrizzleDB).query.hackathonEvents.findMany({ - where: eq(hackathonEvents.hackathonId, input.hackathonId), - orderBy: (events, { asc }) => [asc(events.startTime)], - with: { - attendees: { - columns: { id: true } - } - } - }); - - return eventsData.map(e => ({ - ...e, - attendeeCount: e.attendees.length - })); - }; - - const cached = ctx.cache.get>>(cacheKey); - if (cached !== null) return cached; - - const events = await fetchEvents(); - - ctx.cache.set(cacheKey, events, 60); - - return events; - }), - - myParticipantRecord: protectedProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - with: { - team: true, - } - }); - }), - - getPublicProjects: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const projects = await (ctx.db as DrizzleDB).query.hackathonProjects.findMany({ - where: and( - eq(hackathonProjects.hackathonId, input.hackathonId), - // We only show projects that are submitted, judging, or winner. Drafts stay hidden. - inArray(hackathonProjects.status, ["submitted", "judging", "winner"]) - ), - with: { - team: { - columns: { - id: true, - name: true, - } - }, - }, - orderBy: (projects, { desc }) => [desc(projects.submittedAt)], - }); - return projects; - }), -}); \ No newline at end of file diff --git a/packages/api/src/routers/hackathon/admin.ts b/packages/api/src/routers/hackathon/admin.ts new file mode 100644 index 00000000..a7a85214 --- /dev/null +++ b/packages/api/src/routers/hackathon/admin.ts @@ -0,0 +1,327 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter } from "../../trpc"; +import { isAdmin } from "../../middleware/procedures"; +import { + hackathons, + hackathonParticipants, + hackathonEvents, + hackathonEventAttendees, +} from "@query/db"; +import { eq, and, inArray } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonAdminRouter = createTRPCRouter({ + adminGetAttendees: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + }), + ) + .query(async ({ ctx, input }) => { + const attendees = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findMany({ + where: eq(hackathonParticipants.hackathonId, input.hackathonId), + with: { + user: { + columns: { + id: true, + name: true, + email: true, + image: true, + }, + }, + team: { + columns: { + id: true, + name: true, + }, + }, + }, + orderBy: (participants, { desc }) => [desc(participants.registeredAt)], + }); + + return attendees; + }), + + + updateParticipantStatus: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + participantId: z.string().uuid("Invalid participant ID"), + status: z.enum([ + "pending", + "approved", + "rejected", + "waitlisted", + "checked_in", + ]), + }), + ) + .mutation(async ({ ctx, input }) => { + const participant = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.id, input.participantId), + eq(hackathonParticipants.hackathonId, input.hackathonId), + ), + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Participant not found", + }); + } + + await (ctx.db as DrizzleDB) + .update(hackathonParticipants) + .set({ registrationStatus: input.status }) + .where(eq(hackathonParticipants.id, input.participantId)); + + ctx.cache.deletePattern("hackathon*"); + + return { success: true }; + }), + + + sendMassAcceptanceEmails: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + participantIds: z.array(z.string().uuid()).min(1), + }), + ) + .mutation(async ({ ctx, input }) => { + const { hackathonId, participantIds } = input; + const db = ctx.db as DrizzleDB; + + const hackathon = await db.query.hackathons.findFirst({ + where: eq(hackathons.id, hackathonId), + columns: { name: true } + }); + + if (!hackathon) { + throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found" }); + } + + const participants = await db.query.hackathonParticipants.findMany({ + where: inArray(hackathonParticipants.id, participantIds), + with: { user: { columns: { email: true } } } + }); + + await db.transaction(async (tx) => { + for (const participantId of participantIds) { + await tx + .update(hackathonParticipants) + .set({ registrationStatus: "approved", updatedAt: new Date() }) + .where( + and( + eq(hackathonParticipants.id, participantId), + eq(hackathonParticipants.hackathonId, hackathonId), + ), + ); + } + }); + + for (const participant of participants) { + if (participant.user?.email) { + try { + const { sendAcceptanceEmail } = await import("@query/auth/email"); + await sendAcceptanceEmail({ + email: participant.user.email, + hackathonName: hackathon.name, + host: process.env.NEXTAUTH_URL || "https://datasciencegt.org" + }); + console.log(`[Email Service] Sent acceptance email to ${participant.user.email} for hackathon ${hackathon.name}.`); + } catch (error) { + console.error(`[Email Service] Failed to send acceptance email to ${participant.user.email}:`, error); + } + } + } + + ctx.cache.deletePattern("hackathon*"); + + return { success: true, count: participantIds.length, message: `Successfully approved and sent acceptance emails to ${participantIds.length} participants.` }; + }), + + + batchUpdateParticipantStatus: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + participantIds: z.array(z.string().uuid()).min(1).max(500), + status: z.enum([ + "pending", + "approved", + "rejected", + "waitlisted", + "checked_in", + ]), + }), + ) + .mutation(async ({ ctx, input }) => { + const { hackathonId, participantIds, status } = input; + + await (ctx.db as DrizzleDB).transaction(async (tx) => { + for (const participantId of participantIds) { + await tx + .update(hackathonParticipants) + .set({ registrationStatus: status, updatedAt: new Date() }) + .where( + and( + eq(hackathonParticipants.id, participantId), + eq(hackathonParticipants.hackathonId, hackathonId), + ), + ); + } + }); + + ctx.cache.deletePattern("hackathon*"); + + return { success: true, updated: participantIds.length }; + }), + + + analytics: isAdmin + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const participants = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findMany({ + where: eq(hackathonParticipants.hackathonId, input.hackathonId), + }); + + const stats = { + totalRegistrations: participants.length, + statusBreakdown: { + approved: 0, + pending: 0, + rejected: 0, + waitlisted: 0, + checked_in: 0, + }, + shirtSizes: {} as Record, + dietaryRestrictions: {} as Record, + }; + + participants.forEach((p) => { + // Status breakdown + if (p.registrationStatus in stats.statusBreakdown) { + stats.statusBreakdown[ + p.registrationStatus as keyof typeof stats.statusBreakdown + ]++; + } + + // Shirt sizes + if (p.shirtSize) { + stats.shirtSizes[p.shirtSize] = + (stats.shirtSizes[p.shirtSize] || 0) + 1; + } + + // Dietary restrictions + if (p.dietaryRestrictions && p.dietaryRestrictions.length > 0) { + p.dietaryRestrictions.forEach((restriction) => { + const normalized = restriction.trim(); + if (normalized) { + stats.dietaryRestrictions[normalized] = + (stats.dietaryRestrictions[normalized] || 0) + 1; + } + }); + } + }); + + return stats; + }), + + + scanParticipantPass: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + eventId: z.string().uuid("Invalid event ID"), + participantId: z.string().uuid("Invalid participant ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + // 1. Verify participant exists and belongs to this hackathon + const participant = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.id, input.participantId), + eq(hackathonParticipants.hackathonId, input.hackathonId), + ), + with: { user: true }, + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: + "Participant not found or not registered for this hackathon.", + }); + } + + // 1b. Only accepted participants may check in. Pending and waitlisted + // registrations are not yet admitted; rejected ones never are. + if ( + participant.registrationStatus !== "approved" && + participant.registrationStatus !== "checked_in" + ) { + throw new TRPCError({ + code: "FORBIDDEN", + message: `${participant.user.name || participant.user.email} is not accepted for this hackathon (status: ${participant.registrationStatus}).`, + }); + } + + // 2. Verify event exists and belongs to this hackathon + const event = await (ctx.db as DrizzleDB).query.hackathonEvents.findFirst( + { + where: and( + eq(hackathonEvents.id, input.eventId), + eq(hackathonEvents.hackathonId, input.hackathonId), + ), + }, + ); + + if (!event) { + throw new TRPCError({ code: "NOT_FOUND", message: "Event not found." }); + } + + // 3. Check for existing check-in to prevent duplicates + const existingScan = await ( + ctx.db as DrizzleDB + ).query.hackathonEventAttendees.findFirst({ + where: and( + eq(hackathonEventAttendees.eventId, input.eventId), + eq(hackathonEventAttendees.participantId, input.participantId), + ), + }); + + if (existingScan) { + throw new TRPCError({ + code: "CONFLICT", + message: `${participant.user.name || participant.user.email} is already checked into ${event.name}.`, + }); + } + + // 4. Record attendance + await (ctx.db as DrizzleDB).insert(hackathonEventAttendees).values({ + eventId: input.eventId, + participantId: input.participantId, + }); + + // Invalidate hackathon caches after attendance scan + ctx.cache.deletePattern("hackathon*"); + + return { + success: true, + message: `Successfully checked in ${participant.user.name || participant.user.email}!`, + }; + }), + +}); diff --git a/packages/api/src/routers/hackathon/content.ts b/packages/api/src/routers/hackathon/content.ts new file mode 100644 index 00000000..70a67f02 --- /dev/null +++ b/packages/api/src/routers/hackathon/content.ts @@ -0,0 +1,125 @@ +import { z } from "zod"; +import { createTRPCRouter, protectedProcedure, publicProcedure } from "../../trpc"; +import { + hackathonParticipants, + hackathonProjects, + hackathonTeams, +} from "@query/db"; +import { eq, and, inArray } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonContentRouter = createTRPCRouter({ + getTeams: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const teams = await (ctx.db as DrizzleDB).query.hackathonTeams.findMany({ + where: eq(hackathonTeams.hackathonId, input.hackathonId), + with: { + captain: { + columns: { id: true, name: true, image: true }, + }, + participants: { + columns: { + id: true, + userId: true, + registrationStatus: true, + }, + with: { + user: { + columns: { id: true, name: true, image: true }, + }, + }, + }, + }, + orderBy: (hackathonTeams, { desc }) => [desc(hackathonTeams.createdAt)], + }); + + return teams; + }), + + + projects: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:projects`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const projects = await ( + ctx.db as DrizzleDB + ).query.hackathonProjects.findMany({ + where: eq(hackathonProjects.hackathonId, input.hackathonId), + with: { + team: { + with: { + participants: { + columns: { + id: true, + hackathonId: true, + userId: true, + teamId: true, + registrationStatus: true, + }, + with: { + user: { + columns: { + id: true, + name: true, + image: true, + }, + }, + }, + }, + }, + }, + }, + orderBy: (hackathonProjects, { desc }) => [ + desc(hackathonProjects.submittedAt), + ], + }); + + ctx.cache.set(cacheKey, projects, 120); + + return projects; + }), + + + myParticipantRecord: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + with: { + team: true, + }, + }); + }), + + + getPublicProjects: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const projects = await ( + ctx.db as DrizzleDB + ).query.hackathonProjects.findMany({ + where: and( + eq(hackathonProjects.hackathonId, input.hackathonId), + // We only show projects that are submitted, judging, or winner. Drafts stay hidden. + inArray(hackathonProjects.status, ["submitted", "judging", "winner"]), + ), + with: { + team: { + columns: { + id: true, + name: true, + }, + }, + }, + orderBy: (projects, { desc }) => [desc(projects.submittedAt)], + }); + return projects; + }), +}); diff --git a/packages/api/src/routers/hackathon/crud.ts b/packages/api/src/routers/hackathon/crud.ts new file mode 100644 index 00000000..3aa43f92 --- /dev/null +++ b/packages/api/src/routers/hackathon/crud.ts @@ -0,0 +1,298 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, publicProcedure } from "../../trpc"; +import { + hackathons, +} from "@query/db"; +import { eq, and, gte } from "drizzle-orm"; +import { isAdmin } from "../../middleware/procedures"; +import { CacheKeys, VOLATILE_TTL } from "../../middleware/cache"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonCrudRouter = createTRPCRouter({ + list: publicProcedure + .input( + z.object({ + status: z + .enum([ + "draft", + "open", + "closed", + "in_progress", + "completed", + "cancelled", + ]) + .optional(), + upcoming: z.boolean().optional(), + limit: z.number().min(1).max(100).default(20), + offset: z.number().min(0).default(0), + }), + ) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathons:list:${input.status || "all"}:${input.upcoming ? "upcoming" : "all"}:${input.limit}:${input.offset}`; + + type DB = DrizzleDB; + type HackathonList = Awaited< + ReturnType + >; + // Check cache first + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const now = new Date(); + + const allHackathons = await ( + ctx.db as DrizzleDB + ).query.hackathons.findMany({ + where: and( + eq(hackathons.isPublic, true), + input.status ? eq(hackathons.status, input.status) : undefined, + input.upcoming ? gte(hackathons.startDate, now) : undefined, + ), + limit: input.limit, + offset: input.offset, + orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)], + }); + + ctx.cache.set(cacheKey, allHackathons, VOLATILE_TTL); + + return allHackathons; + }), + + + listAll: isAdmin.query(async ({ ctx }) => { + const cacheKey = "hackathons:list:all"; + + const fetchAll = async () => { + return await (ctx.db as DrizzleDB).query.hackathons.findMany({ + orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)], + }); + }; + + const cached = + ctx.cache.get>>(cacheKey); + if (cached !== null) return cached; + + const allHackathons = await fetchAll(); + + ctx.cache.set(cacheKey, allHackathons, VOLATILE_TTL); + + return allHackathons; + }), + + + getById: publicProcedure + .input(z.object({ id: z.string() })) + .query(async ({ ctx, input }) => { + // Check cache first + const cacheKey = CacheKeys.hackathon(input.id); + type DB = DrizzleDB; + type HackathonItem = Awaited< + ReturnType + >; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const isUuid = + /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test( + input.id, + ); + const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: isUuid + ? eq(hackathons.id, input.id) + : eq(hackathons.name, input.id), + }); + + if (!hackathon) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + } + + ctx.cache.set(cacheKey, hackathon, VOLATILE_TTL); + + return hackathon; + }), + + + create: isAdmin + .input( + z + .object({ + name: z.string().min(1).max(200), + description: z.string().max(5000).optional(), + location: z.string().max(500).optional(), + startDate: z.date(), + endDate: z.date(), + registrationDeadline: z.date().optional(), + hackingStartTime: z.date().optional(), + maxParticipants: z.number().int().positive().max(10000).optional(), + prizes: z + .array( + z.object({ + place: z.string().max(50), + amount: z.number().nonnegative(), + description: z.string().max(500).optional(), + }), + ) + .max(20) + .optional(), + rules: z.string().max(10000).optional(), + theme: z.string().max(200).optional(), + tracks: z.array(z.string().max(100)).max(50).optional(), + challenges: z.array(z.string().max(100)).max(50).optional(), + websiteUrl: z.string().url().max(500).optional(), + // Draft keeps the hackathon invisible to participants; open lets them + // register straight away without a second trip to the admin panel. + status: z.enum(["draft", "open"]).default("draft"), + }) + .refine((data) => data.endDate > data.startDate, { + message: "End date must be after start date", + }) + .refine( + (data) => + !data.registrationDeadline || + data.registrationDeadline <= data.startDate, + { + message: "Registration deadline must be before or equal to the event start date", + }, + ) + .refine( + (data) => + !data.hackingStartTime || + (data.hackingStartTime >= data.startDate && + data.hackingStartTime <= data.endDate), + { + message: + "Hacking start time must be within the event window (between start date and end date)", + }, + ), + ) + .mutation(async ({ ctx, input }) => { + const [newHackathon] = await (ctx.db as DrizzleDB) + .insert(hackathons) + .values({ + ...input, + }) + .returning(); + + ctx.cache.deletePattern("hackathons:*"); + + return newHackathon; + }), + + + update: isAdmin + .input( + z.object({ + id: z.string().uuid("Invalid hackathon ID"), + name: z.string().min(1).max(200).optional(), + description: z.string().max(5000).optional(), + location: z.string().max(500).optional(), + startDate: z.date().optional(), + endDate: z.date().optional(), + registrationDeadline: z.date().optional(), + hackingStartTime: z.date().nullable().optional(), + maxParticipants: z.number().int().positive().max(10000).optional(), + status: z + .enum([ + "draft", + "open", + "closed", + "in_progress", + "completed", + "cancelled", + ]) + .optional(), + prizes: z + .array( + z.object({ + place: z.string().max(50), + amount: z.number().nonnegative(), + description: z.string().max(500).optional(), + }), + ) + .max(20) + .optional(), + rules: z.string().max(10000).optional(), + theme: z.string().max(200).optional(), + tracks: z.array(z.string().max(100)).max(50).optional(), + challenges: z.array(z.string().max(100)).max(50).optional(), + websiteUrl: z.string().url().max(500).optional(), + isPublic: z.boolean().optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const { id, ...updateData } = input; + + const existing = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: eq(hackathons.id, id), + }); + + if (!existing) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + } + + // Merge with existing dates for partial-update validation + const resolvedStart = updateData.startDate ?? existing.startDate; + const resolvedEnd = updateData.endDate ?? existing.endDate; + + if (resolvedEnd <= resolvedStart) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "End date must be after start date", + }); + } + + // hackingStartTime: null clears it; undefined leaves it unchanged + const resolvedHackingStart = + updateData.hackingStartTime === null + ? null + : (updateData.hackingStartTime ?? existing.hackingStartTime); + + if ( + resolvedHackingStart !== null && + resolvedHackingStart !== undefined && + (resolvedHackingStart < resolvedStart || + resolvedHackingStart > resolvedEnd) + ) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: + "Hacking start time must be within the event window (between start date and end date)", + }); + } + + const [updatedHackathon] = await (ctx.db as DrizzleDB) + .update(hackathons) + .set({ + ...updateData, + updatedAt: new Date(), + }) + .where(eq(hackathons.id, id)) + .returning(); + + ctx.cache.delete(CacheKeys.hackathon(id)); + ctx.cache.deletePattern("hackathons:*"); + + return updatedHackathon; + }), + + + delete: isAdmin + .input(z.object({ hackathonId: z.string().uuid() })) + .mutation(async ({ ctx, input }) => { + const { hackathonId } = input; + await (ctx.db as DrizzleDB) + .delete(hackathons) + .where(eq(hackathons.id, hackathonId)); + ctx.cache.delete(CacheKeys.hackathon(hackathonId)); + ctx.cache.deletePattern("hackathons:*"); + return { success: true }; + }), + +}); diff --git a/packages/api/src/routers/hackathon/events.ts b/packages/api/src/routers/hackathon/events.ts new file mode 100644 index 00000000..c97b0e4d --- /dev/null +++ b/packages/api/src/routers/hackathon/events.ts @@ -0,0 +1,173 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, publicProcedure } from "../../trpc"; +import { + hackathons, + hackathonEvents, +} from "@query/db"; +import { eq } from "drizzle-orm"; +import { isAdmin } from "../../middleware/procedures"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonEventsRouter = createTRPCRouter({ + createEvent: isAdmin + .input( + z + .object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + name: z.string().min(1).max(200), + description: z.string().max(2000).optional(), + type: z.enum([ + "workshop", + "meal", + "ceremony", + "activity", + "sponsor_session", + ]), + location: z.string().min(1).max(500), + startTime: z.date(), + endTime: z.date(), + points: z.number().int().min(0).max(1000).default(0), + }) + .refine((data) => data.endTime > data.startTime, { + message: "End time must be after start time", + }), + ) + .mutation(async ({ ctx, input }) => { + const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + }); + + if (!hackathon) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + } + + const [newEvent] = await (ctx.db as DrizzleDB) + .insert(hackathonEvents) + .values({ + hackathonId: input.hackathonId, + name: input.name, + description: input.description, + type: input.type, + location: input.location, + startTime: input.startTime, + endTime: input.endTime, + points: input.points, + }) + .returning(); + + ctx.cache.deletePattern("hackathon*"); + + return newEvent; + }), + + + updateEvent: isAdmin + .input( + z.object({ + eventId: z.string().uuid("Invalid event ID"), + name: z.string().min(1).max(200).optional(), + description: z.string().max(2000).optional(), + type: z + .enum(["workshop", "meal", "ceremony", "activity", "sponsor_session"]) + .optional(), + location: z.string().min(1).max(500).optional(), + startTime: z.date().optional(), + endTime: z.date().optional(), + points: z.number().int().min(0).max(1000).optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const { eventId, ...updateData } = input; + + const existing = await ( + ctx.db as DrizzleDB + ).query.hackathonEvents.findFirst({ + where: eq(hackathonEvents.id, eventId), + }); + + if (!existing) { + throw new TRPCError({ code: "NOT_FOUND", message: "Event not found" }); + } + + const [updatedEvent] = await (ctx.db as DrizzleDB) + .update(hackathonEvents) + .set({ + ...updateData, + updatedAt: new Date(), + }) + .where(eq(hackathonEvents.id, eventId)) + .returning(); + + ctx.cache.deletePattern("hackathon*"); + + return updatedEvent; + }), + + + deleteEvent: isAdmin + .input( + z.object({ + eventId: z.string().uuid("Invalid event ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + const existing = await ( + ctx.db as DrizzleDB + ).query.hackathonEvents.findFirst({ + where: eq(hackathonEvents.id, input.eventId), + }); + + if (!existing) { + throw new TRPCError({ code: "NOT_FOUND", message: "Event not found" }); + } + + await (ctx.db as DrizzleDB) + .delete(hackathonEvents) + .where(eq(hackathonEvents.id, input.eventId)); + + ctx.cache.deletePattern("hackathon*"); + + return { success: true }; + }), + + + getEvents: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:events`; + + const fetchEvents = async () => { + const eventsData = await ( + ctx.db as DrizzleDB + ).query.hackathonEvents.findMany({ + where: eq(hackathonEvents.hackathonId, input.hackathonId), + orderBy: (events, { asc }) => [asc(events.startTime)], + with: { + attendees: { + columns: { id: true }, + }, + }, + }); + + return eventsData.map((e) => ({ + ...e, + attendeeCount: e.attendees.length, + })); + }; + + const cached = + ctx.cache.get>>(cacheKey); + if (cached !== null) return cached; + + const events = await fetchEvents(); + + ctx.cache.set(cacheKey, events, 60); + + return events; + }), + +}); diff --git a/packages/api/src/routers/hackathon/index.ts b/packages/api/src/routers/hackathon/index.ts new file mode 100644 index 00000000..950d4e3e --- /dev/null +++ b/packages/api/src/routers/hackathon/index.ts @@ -0,0 +1,14 @@ +import { mergeRouters } from "../../trpc"; +import { hackathonCrudRouter } from "./crud"; +import { hackathonRegistrationRouter } from "./registration"; +import { hackathonAdminRouter } from "./admin"; +import { hackathonEventsRouter } from "./events"; +import { hackathonContentRouter } from "./content"; + +export const hackathonRouter = mergeRouters( + hackathonCrudRouter, + hackathonRegistrationRouter, + hackathonAdminRouter, + hackathonEventsRouter, + hackathonContentRouter, +); diff --git a/packages/api/src/routers/hackathon/registration.ts b/packages/api/src/routers/hackathon/registration.ts new file mode 100644 index 00000000..b2eaf917 --- /dev/null +++ b/packages/api/src/routers/hackathon/registration.ts @@ -0,0 +1,257 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, protectedProcedure, publicProcedure } from "../../trpc"; +import { + hackathons, + hackathonParticipants, + members, +} from "@query/db"; +import { eq, and, sql } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonRegistrationRouter = createTRPCRouter({ + register: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + // Personal info + firstName: z.string().min(1).max(100), + lastName: z.string().min(1).max(100), + phone: z.string().min(1).max(30), + age: z.number().int().min(13).max(120), + gender: z.string().max(50).optional(), + pronouns: z.string().max(50).optional(), + race: z.string().max(100).optional(), + underrepresented: z.boolean().optional(), + // Academic info + school: z.string().min(1).max(300), + major: z.string().min(1).max(300), + graduationYear: z.number().int().min(2020).max(2035), + levelOfStudy: z.enum([ + "Freshman", + "Sophomore", + "Junior", + "Senior", + "Graduate", + "PhD", + "Other", + ]), + country: z.string().min(1).max(100), + firstGeneration: z.boolean().optional(), + // Experience + hackathonsAttended: z.number().int().min(0).max(100).optional(), + resumeUrl: z.string().url().max(500).optional().or(z.literal("")), + linkedinUrl: z.string().url().max(500).optional().or(z.literal("")), + githubUrl: z.string().url().max(500).optional().or(z.literal("")), + whyAttend: z.string().max(2000).optional(), + // Logistics + shirtSize: z.enum(["XS", "S", "M", "L", "XL", "XXL"]).optional(), + dietaryRestrictions: z.array(z.string().max(100)).max(10).optional(), + emergencyContact: z.string().max(200).optional(), + emergencyPhone: z.string().max(20).optional(), + needsHardware: z.boolean().optional(), + // Consent + agreeToCodeOfConduct: z + .boolean() + .refine((v) => v === true, { + message: "You must agree to the Code of Conduct", + }), + mlhCodeOfConduct: z.boolean().optional(), + mlhDataSharing: z.boolean().optional(), + mlhInformationalEmails: z.boolean().optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + try { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + const hackathon = await tx.query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + }); + + if (!hackathon) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + } + + if (hackathon.status !== "open") { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Registration is not open for this hackathon", + }); + } + + if ( + hackathon.registrationDeadline && + new Date() > hackathon.registrationDeadline + ) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Registration deadline has passed", + }); + } + + const existingParticipant = + await tx.query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (existingParticipant) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "You are already registered for this hackathon", + }); + } + + if ( + hackathon.maxParticipants && + hackathon.currentParticipants >= hackathon.maxParticipants + ) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "This hackathon is full", + }); + } + + const member = await tx.query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId as string), + eq(members.hackathonId, input.hackathonId), + ), + }); + + const [participant] = await tx + .insert(hackathonParticipants) + .values({ + hackathonId: input.hackathonId, + userId: ctx.userId as string, + memberId: member?.id, + // Personal + firstName: input.firstName, + lastName: input.lastName, + phone: input.phone, + age: input.age, + gender: input.gender, + pronouns: input.pronouns, + race: input.race, + underrepresented: input.underrepresented, + // Academic + school: input.school, + major: input.major, + graduationYear: input.graduationYear, + levelOfStudy: input.levelOfStudy, + country: input.country, + firstGeneration: input.firstGeneration, + // Experience + hackathonsAttended: input.hackathonsAttended, + resumeUrl: input.resumeUrl || undefined, + linkedinUrl: input.linkedinUrl || undefined, + githubUrl: input.githubUrl || undefined, + whyAttend: input.whyAttend, + // Logistics + shirtSize: input.shirtSize, + dietaryRestrictions: input.dietaryRestrictions || [], + emergencyContact: input.emergencyContact, + emergencyPhone: input.emergencyPhone, + needsHardware: input.needsHardware, + // Consent + agreeToCodeOfConduct: input.agreeToCodeOfConduct, + mlhCodeOfConduct: input.mlhCodeOfConduct, + mlhDataSharing: input.mlhDataSharing, + mlhInformationalEmails: input.mlhInformationalEmails, + registrationStatus: "pending", + }) + .returning(); + + await tx + .update(hackathons) + .set({ + currentParticipants: sql`${hackathons.currentParticipants} + 1`, + }) + .where(eq(hackathons.id, input.hackathonId)); + + // Invalidate all hackathon caches after successful registration + ctx.cache.deletePattern("hackathon*"); + + return participant; + }); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + // Unexpected error during registration + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Registration failed: ${message}`, + }); + } + }), + + + myRegistrations: protectedProcedure.query(async ({ ctx }) => { + const cacheKey = `hackathon:registrations:${ctx.userId}`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const registrations = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findMany({ + where: eq(hackathonParticipants.userId, ctx.userId as string), + with: { + hackathon: true, + team: { + with: { + projects: true, + }, + }, + }, + orderBy: (hackathonParticipants, { desc }) => [ + desc(hackathonParticipants.registeredAt), + ], + }); + + ctx.cache.set(cacheKey, registrations, 30); + return registrations; + }), + + + participants: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:participants`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const participants = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findMany({ + where: eq(hackathonParticipants.hackathonId, input.hackathonId), + columns: { + id: true, + hackathonId: true, + userId: true, + teamId: true, + registrationStatus: true, + }, + with: { + user: { + columns: { + id: true, + name: true, + image: true, + }, + }, + team: true, + }, + }); + + ctx.cache.set(cacheKey, participants, 60); + + return participants; + }), + +}); diff --git a/packages/api/src/routers/hello-procedures.ts b/packages/api/src/routers/hello-procedures.ts index b8e1ae9b..42055723 100644 --- a/packages/api/src/routers/hello-procedures.ts +++ b/packages/api/src/routers/hello-procedures.ts @@ -2,38 +2,38 @@ import { z } from "zod"; import { publicProcedure, protectedProcedure } from "../trpc"; export const sayHello = publicProcedure.mutation(() => { - return { - message: "You should sign in", - timestamp: new Date().toISOString(), - }; + return { + message: "You should sign in", + timestamp: new Date().toISOString(), + }; }); export const greetPublic = publicProcedure - .input(z.object({ name: z.string().min(1) })) - .query(({ input }) => { - return { - message: `Hello ${input.name}! Welcome to the app.`, - }; - }); + .input(z.object({ name: z.string().min(1) })) + .query(({ input }) => { + return { + message: `Hello ${input.name}! Welcome to the app.`, + }; + }); export const sayHelloAuth = protectedProcedure.mutation(({ ctx }) => { - const user = ctx.session!.user; + const user = ctx.session!.user; - return { - message: `Hello ${user?.name ?? user?.email}!`, - user: { - id: user?.id, - email: user?.email, - name: user?.name, - }, - }; + return { + message: `Hello ${user?.name ?? user?.email}!`, + user: { + id: user?.id, + email: user?.email, + name: user?.name, + }, + }; }); export const greet = protectedProcedure - .input(z.object({ name: z.string().min(1) })) - .mutation(({ ctx, input }) => { - return { - message: `Hello ${input.name}, from ${ctx.session!.user?.email}`, - userId: ctx.userId, - }; - }); + .input(z.object({ name: z.string().min(1) })) + .mutation(({ ctx, input }) => { + return { + message: `Hello ${input.name}, from ${ctx.session!.user?.email}`, + userId: ctx.userId, + }; + }); diff --git a/packages/api/src/routers/hello.ts b/packages/api/src/routers/hello.ts index fa48e795..96228d91 100644 --- a/packages/api/src/routers/hello.ts +++ b/packages/api/src/routers/hello.ts @@ -7,5 +7,3 @@ export const helloRouter = createTRPCRouter({ sayHelloAuth, greet, }); - - diff --git a/packages/api/src/routers/judge.ts b/packages/api/src/routers/judge.ts deleted file mode 100644 index 89bc8d4b..00000000 --- a/packages/api/src/routers/judge.ts +++ /dev/null @@ -1,1633 +0,0 @@ -import { z } from "zod"; -import { TRPCError } from "@trpc/server"; -import { createTRPCRouter, protectedProcedure } from "../trpc"; -import { - judges, - judgeAssignments, - judgeVotes, - judgingProjects, - judgeQueue, - hackathonMaps, - hackathons, - users, - hackathonParticipants, -} from "@query/db"; -import { eq, and, asc, sql } from "drizzle-orm"; -import { CacheKeys } from "../middleware/cache"; -import { isAdmin, isJudge } from "../middleware/procedures"; -import type { DrizzleDB } from "@query/db"; - -function shuffleArray(array: T[]): T[] { - const result = [...array]; - for (let i = result.length - 1; i > 0; i--) { - const j = Math.floor(Math.random() * (i + 1)); - const temp = result[i] as T; - result[i] = result[j] as T; - result[j] = temp; - } - return result; -} - -/** - * Z-score normalizes a judge's scores relative to their own mean/stddev. - * This removes per-judge harshness/leniency bias before aggregation. - * Returns null if fewer than 2 data points (can't compute meaningful stddev). - */ -function zNormalize(scores: number[], globalMean: number, globalStd: number): number[] { - if (scores.length < 2) return scores.map(() => globalMean); - const mean = scores.reduce((a, b) => a + b, 0) / scores.length; - const variance = scores.reduce((s, v) => s + (v - mean) ** 2, 0) / scores.length; - const std = Math.sqrt(variance); - if (std === 0) return scores.map(() => globalMean); // judge gave same score to everything - return scores.map((v) => globalMean + ((v - mean) / std) * globalStd); -} - -/** - * Coverage-maximizing round-robin assignment. - * Guarantees every project is seen at least `minCoverage` times before - * any project gets an extra judge. Respects track constraints. - */ -function buildCoverageQueues( - judgeAssignmentsList: { judgeId: string; track: string | null }[], - projects: { id: string; tracks: string[] | null; challenges: string[] | null; tableNumber: number }[], - mainTracks: Set, - opts: { minProjects: number; maxProjects: number; shuffle: boolean; groupSpecial: boolean } -): Map { - const queues = new Map(); - for (const a of judgeAssignmentsList) queues.set(a.judgeId, []); - - // Coverage counter: projectId -> how many judges are assigned - const coverage = new Map(projects.map((p) => [p.id, 0])); - - // For each judge, determine their eligible project pool - const eligiblePool = new Map(); - for (const a of judgeAssignmentsList) { - const track = a.track; - const isSpecial = track ? !mainTracks.has(track) : false; - const pool = track - ? projects.filter((p) => { - const inTracks = p.tracks?.includes(track) ?? false; - const inChallenges = p.challenges?.includes(track) ?? false; - const matchCreateX = track.toLowerCase() === "createx" && !!(p as { isCreateX?: boolean }).isCreateX; - return inTracks || inChallenges || matchCreateX; - }) - : projects; - - if (isSpecial) { - // Special judges always get their full pool - const ordered = opts.groupSpecial ? pool : shuffleArray(pool); - queues.set(a.judgeId, ordered.map((p) => p.id)); - for (const p of ordered) coverage.set(p.id, (coverage.get(p.id) ?? 0) + 1); - eligiblePool.set(a.judgeId, []); - } else { - eligiblePool.set(a.judgeId, opts.shuffle ? shuffleArray(pool) : pool); - } - } - - // Round-robin fill: prioritize under-covered projects - const mainJudges = judgeAssignmentsList.filter( - (a) => !a.track || mainTracks.has(a.track) - ); - - let anyChange = true; - while (anyChange) { - anyChange = false; - for (const a of mainJudges) { - const queue = queues.get(a.judgeId)!; - if (queue.length >= opts.maxProjects) continue; - const pool = eligiblePool.get(a.judgeId)!; - - // Find the next project with the lowest coverage that isn't already in this queue - const assigned = new Set(queue); - const candidate = pool - .filter((p) => !assigned.has(p.id)) - .sort((a, b) => (coverage.get(a.id) ?? 0) - (coverage.get(b.id) ?? 0))[0]; - - if (!candidate) continue; - if (queue.length >= opts.minProjects && (coverage.get(candidate.id) ?? 0) > 0) continue; - - queue.push(candidate.id); - coverage.set(candidate.id, (coverage.get(candidate.id) ?? 0) + 1); - anyChange = true; - } - } - - // Shift/rotate the generated queues to stagger sequences and reduce judge bias - for (let i = 0; i < judgeAssignmentsList.length; i++) { - const judgeId = judgeAssignmentsList[i].judgeId; - const q = queues.get(judgeId); - if (q && q.length > 1) { - const offset = i % q.length; - const rotated = [...q.slice(offset), ...q.slice(0, offset)]; - queues.set(judgeId, rotated); - } - } - - return queues; -} - -export const judgeRouter = createTRPCRouter({ - isJudge: protectedProcedure.query(async ({ ctx }) => { - const cacheKey = CacheKeys.judge(ctx.userId as string); - const cached = ctx.cache.get<{ - isJudge: boolean; - judgeId: string | null; - name: string | null; - }>(cacheKey); - if (cached) return cached; - - const judge = await (ctx.db as DrizzleDB).query.judges.findFirst({ - where: and( - eq(judges.userId, ctx.userId as string), - eq(judges.isActive, true) - ), - }); - - const result = { - isJudge: !!judge, - judgeId: judge?.id || null, - name: judge?.name || null, - }; - ctx.cache.set(cacheKey, result, 60); - - return result; - }), - - getMyAssignments: isJudge.query(async ({ ctx }) => { - const assignments = await (ctx.db as DrizzleDB).query.judgeAssignments.findMany({ - where: eq(judgeAssignments.judgeId, ctx.judge.id), - with: { - hackathon: true, - }, - orderBy: (assignments, { desc }) => [desc(assignments.assignedAt)], - }); - - return assignments; - }), - - getNextTable: isJudge - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - try { - const nextInQueue = await (ctx.db as DrizzleDB).query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, input.hackathonId), - eq(judgeQueue.isCompleted, false) - ), - with: { - project: true, - }, - orderBy: [asc(judgeQueue.order)], - }); - - if (!nextInQueue) { - return { done: true, project: null, remaining: 0 }; - } - - const remainingCount = await (ctx.db as DrizzleDB) - .select({ count: sql`count(*)` }) - .from(judgeQueue) - .where( - and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, input.hackathonId), - eq(judgeQueue.isCompleted, false) - ) - ); - - return { - done: false, - project: nextInQueue.project, - queueId: nextInQueue.id, - remaining: Number(remainingCount[0]?.count || 0), - }; - } catch (error) { - // getNextTable error - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: error instanceof Error ? error.message : "Failed to fetch next project", - }); - } - }), - - getProjects: isJudge - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const projects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - orderBy: [asc(judgingProjects.tableNumber)], - }); - - const myVotes = await (ctx.db as DrizzleDB).query.judgeVotes.findMany({ - where: eq(judgeVotes.judgeId, ctx.judge.id), - }); - - const votesMap = new Map(myVotes.map((v) => [v.projectId, v])); - - return projects.map((p) => ({ - ...p, - myVote: votesMap.get(p.id) || null, - hasVoted: votesMap.has(p.id), - })); - }), - - getMaps: isJudge - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const maps = await (ctx.db as DrizzleDB).query.hackathonMaps.findMany({ - where: eq(hackathonMaps.hackathonId, input.hackathonId), - orderBy: [asc(hackathonMaps.order)], - }); - - return maps; - }), - - getJudgingStatus: protectedProcedure - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - columns: { judgingActive: true }, - }); - return { active: hackathon?.judgingActive ?? false }; - }), - - toggleJudging: isAdmin - .input(z.object({ - hackathonId: z.string().uuid(), - active: z.boolean(), - })) - .mutation(async ({ ctx, input }) => { - const [updated] = await (ctx.db as DrizzleDB) - .update(hackathons) - .set({ judgingActive: input.active, updatedAt: new Date() }) - .where(eq(hackathons.id, input.hackathonId)) - .returning(); - return { success: true, judgingActive: updated?.judgingActive }; - }), - - submitVote: isJudge - .input( - z.object({ - projectId: z.string().uuid(), - scoreCreativity: z.number().min(1).max(10), - scoreImpact: z.number().min(1).max(10), - scoreScope: z.number().min(1).max(10), - scoreClarity: z.number().min(1).max(10), - scoreSoundness: z.number().min(1).max(10), - durationSeconds: z.number().int().min(0).optional(), - comment: z.string().max(1000).optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const totalScore = input.scoreCreativity + input.scoreImpact + input.scoreScope + input.scoreClarity + input.scoreSoundness; - - // Atomic upsert: INSERT or UPDATE if judge already voted on this project - const result = await (ctx.db as DrizzleDB) - .insert(judgeVotes) - .values({ - judgeId: ctx.judge.id, - projectId: input.projectId, - score: totalScore, - scoreCreativity: input.scoreCreativity, - scoreImpact: input.scoreImpact, - scoreScope: input.scoreScope, - scoreClarity: input.scoreClarity, - scoreSoundness: input.scoreSoundness, - durationSeconds: input.durationSeconds, - comment: input.comment, - }) - .onConflictDoUpdate({ - target: [judgeVotes.judgeId, judgeVotes.projectId], - set: { - score: sql`excluded.score`, - scoreCreativity: sql`excluded.score_creativity`, - scoreImpact: sql`excluded.score_impact`, - scoreScope: sql`excluded.score_scope`, - scoreClarity: sql`excluded.score_clarity`, - scoreSoundness: sql`excluded.score_soundness`, - durationSeconds: sql`excluded.duration_seconds`, - comment: sql`excluded.comment`, - updatedAt: new Date(), - }, - }) - .returning(); - - return result[0]; - }), - - completeAndNext: isJudge - .input( - z.object({ - queueId: z.string().uuid(), - projectId: z.string().uuid(), - scoreCreativity: z.number().min(1).max(10), - scoreImpact: z.number().min(1).max(10), - scoreScope: z.number().min(1).max(10), - scoreClarity: z.number().min(1).max(10), - scoreSoundness: z.number().min(1).max(10), - durationSeconds: z.number().int().min(0).optional(), - comment: z.string().max(1000).optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const totalScore = input.scoreCreativity + input.scoreImpact + input.scoreScope + input.scoreClarity + input.scoreSoundness; - - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - // 1. Atomic upsert vote - await tx - .insert(judgeVotes) - .values({ - judgeId: ctx.judge.id, - projectId: input.projectId, - score: totalScore, - scoreCreativity: input.scoreCreativity, - scoreImpact: input.scoreImpact, - scoreScope: input.scoreScope, - scoreClarity: input.scoreClarity, - scoreSoundness: input.scoreSoundness, - durationSeconds: input.durationSeconds, - comment: input.comment, - }) - .onConflictDoUpdate({ - target: [judgeVotes.judgeId, judgeVotes.projectId], - set: { - score: sql`excluded.score`, - scoreCreativity: sql`excluded.score_creativity`, - scoreImpact: sql`excluded.score_impact`, - scoreScope: sql`excluded.score_scope`, - scoreClarity: sql`excluded.score_clarity`, - scoreSoundness: sql`excluded.score_soundness`, - durationSeconds: sql`excluded.duration_seconds`, - comment: sql`excluded.comment`, - updatedAt: new Date(), - }, - }); - - // 2. Mark queue item as completed - await tx - .update(judgeQueue) - .set({ - isCompleted: true, - completedAt: new Date(), - }) - .where(eq(judgeQueue.id, input.queueId)); - - // 3. Get hackathonId from queue item - const queueItem = await tx.query.judgeQueue.findFirst({ - where: eq(judgeQueue.id, input.queueId), - }); - - if (!queueItem) { - return { done: true, nextProject: null }; - } - - // 4. Get next uncompleted queue item - const nextInQueue = await tx.query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, queueItem.hackathonId), - eq(judgeQueue.isCompleted, false) - ), - with: { - project: true, - }, - orderBy: [asc(judgeQueue.order)], - }); - - if (!nextInQueue) { - return { done: true, nextProject: null }; - } - - return { - done: false, - nextProject: nextInQueue.project, - nextQueueId: nextInQueue.id, - }; - }); - }), - - skipProject: isJudge - .input( - z.object({ - queueId: z.string().uuid(), - }) - ) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - // Get the queue item to find the hackathon - const queueItem = await tx.query.judgeQueue.findFirst({ - where: eq(judgeQueue.id, input.queueId), - }); - - if (!queueItem) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Queue item not found", - }); - } - - // Atomically move this item to the end of the queue using a subquery - await tx - .update(judgeQueue) - .set({ - order: sql`(SELECT COALESCE(MAX(${judgeQueue.order}), 0) + 1 FROM ${judgeQueue} WHERE ${judgeQueue.judgeId} = ${ctx.judge.id} AND ${judgeQueue.hackathonId} = ${queueItem.hackathonId})`, - }) - .where(eq(judgeQueue.id, input.queueId)); - - // Get the next uncompleted item - const nextInQueue = await tx.query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, queueItem.hackathonId), - eq(judgeQueue.isCompleted, false) - ), - with: { - project: true, - }, - orderBy: [asc(judgeQueue.order)], - }); - - if (!nextInQueue || nextInQueue.id === input.queueId) { - // Only this one project left — can't skip the last one - return { done: false, skippedToEnd: true, project: queueItem, queueId: input.queueId }; - } - - return { - done: false, - skippedToEnd: false, - project: nextInQueue.project, - queueId: nextInQueue.id, - }; - }); - }), - - forceSkipOvertime: isJudge - .input(z.object({ queueId: z.string().uuid() })) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - const queueItem = await tx.query.judgeQueue.findFirst({ - where: eq(judgeQueue.id, input.queueId), - with: { project: true }, - }); - if (!queueItem) throw new TRPCError({ code: "NOT_FOUND", message: "Queue item not found" }); - - // Mark completed (no vote submitted) - await tx - .update(judgeQueue) - .set({ isCompleted: true, completedAt: new Date() }) - .where(eq(judgeQueue.id, input.queueId)); - - // Try to reassign to another judge with the same track - const myAssignment = await tx.query.judgeAssignments.findFirst({ - where: eq(judgeAssignments.judgeId, ctx.judge.id), - }); - - if (myAssignment?.hackathonId) { - // Find other judges assigned to the same hackathon - const otherAssignments = await tx.query.judgeAssignments.findMany({ - where: and( - eq(judgeAssignments.hackathonId, myAssignment.hackathonId), - ), - }); - - // Get the project's tracks for matching - const projectTracks = queueItem.project?.tracks || []; - - // Build candidate list with workload info - const candidates: { judgeId: string; trackMatch: boolean; remaining: number }[] = []; - - for (const other of otherAssignments) { - if (other.judgeId === ctx.judge.id) continue; - - // Check if already has this project - const alreadyQueued = await tx.query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, other.judgeId), - eq(judgeQueue.projectId, queueItem.projectId), - ), - }); - if (alreadyQueued) continue; - - // Count remaining (uncompleted) projects for workload balancing - const remainingCount = await tx - .select({ count: sql`COUNT(*)` }) - .from(judgeQueue) - .where(and( - eq(judgeQueue.judgeId, other.judgeId), - eq(judgeQueue.hackathonId, myAssignment.hackathonId), - eq(judgeQueue.isCompleted, false), - )); - - // Check track match: judge's assigned track overlaps with project's tracks - const trackMatch = other.track - ? projectTracks.includes(other.track) - : false; - - candidates.push({ - judgeId: other.judgeId, - trackMatch, - remaining: remainingCount[0]?.count ?? 0, - }); - } - - // Sort: same-track first, then by fewest remaining projects (lightest load) - candidates.sort((a, b) => { - if (a.trackMatch !== b.trackMatch) return a.trackMatch ? -1 : 1; - return a.remaining - b.remaining; - }); - - const best = candidates[0]; - if (best) { - // Atomic order assignment via SQL subquery - await tx.insert(judgeQueue).values({ - judgeId: best.judgeId, - hackathonId: myAssignment.hackathonId, - projectId: queueItem.projectId, - order: sql`(SELECT COALESCE(MAX(${judgeQueue.order}), 0) + 1 FROM ${judgeQueue} WHERE ${judgeQueue.judgeId} = ${best.judgeId} AND ${judgeQueue.hackathonId} = ${myAssignment.hackathonId})`, - }); - } - } - - // Get next project for this judge - const nextInQueue = await tx.query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, queueItem.hackathonId), - eq(judgeQueue.isCompleted, false), - ), - with: { project: true }, - orderBy: [asc(judgeQueue.order)], - }); - - return { - done: !nextInQueue, - project: nextInQueue?.project ?? null, - queueId: nextInQueue?.id ?? null, - }; - }); - }), - - getProgress: isJudge - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - try { - const totalResult = await (ctx.db as DrizzleDB) - .select({ count: sql`count(*)` }) - .from(judgeQueue) - .where( - and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, input.hackathonId) - ) - ); - - const completedResult = await (ctx.db as DrizzleDB) - .select({ count: sql`count(*)` }) - .from(judgeQueue) - .where( - and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, input.hackathonId), - eq(judgeQueue.isCompleted, true) - ) - ); - - const total = Number(totalResult[0]?.count || 0); - const completed = Number(completedResult[0]?.count || 0); - - return { - total, - completed, - percentage: total > 0 ? Math.round((completed / total) * 100) : 0, - }; - } catch (error) { - // getProgress error - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: error instanceof Error ? error.message : "Failed to fetch progress", - }); - } - }), - - getRankings: isAdmin - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:rankings`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const projects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - with: { - votes: { - with: { - judge: { - with: { - user: { - columns: { name: true, email: true }, - }, - }, - }, - }, - }, - }, - }); - - const round2 = (n: number) => Math.round(n * 100) / 100; - - // ─── Step 1: Collect all raw scores grouped by judge ────────────────── - // We need per-judge score distributions to perform Z-score normalization, - // which eliminates the "harsh judge / lenient judge" bias problem. - type VoteWithJudge = (typeof projects)[number]["votes"][number]; - const scoresByJudge = new Map(); - for (const project of projects) { - for (const v of project.votes) { - const existing = scoresByJudge.get(v.judgeId) ?? []; - existing.push(v.score); - scoresByJudge.set(v.judgeId, existing); - } - } - - // ─── Step 2: Compute global score distribution ───────────────────────── - const allRawScores = [...scoresByJudge.values()].flat(); - const globalMean = allRawScores.length > 0 - ? allRawScores.reduce((a, b) => a + b, 0) / allRawScores.length - : 0; - const globalVariance = allRawScores.length > 0 - ? allRawScores.reduce((s, v) => s + (v - globalMean) ** 2, 0) / allRawScores.length - : 1; - const globalStd = Math.sqrt(globalVariance) || 1; - - // ─── Step 3: Build per-judge normalized score lookup ────────────────── - // For each judge, map their raw score index to a Z-normalized score. - const normalizedScoreLookup = new Map>(); - for (const [judgeId, rawScores] of scoresByJudge.entries()) { - const normalized = zNormalize(rawScores, globalMean, globalStd); - // Map raw score value -> normalized value (index-based, preserves order) - const lookup = new Map(); - rawScores.forEach((raw, i) => { - // If same raw score appears multiple times, average the normalized values - const existing = lookup.get(raw); - lookup.set(raw, existing !== undefined ? (existing + normalized[i]!) / 2 : normalized[i]!); - }); - normalizedScoreLookup.set(judgeId, lookup); - } - - const getNormalized = (judgeId: string, rawScore: number): number => { - const lookup = normalizedScoreLookup.get(judgeId); - return lookup?.get(rawScore) ?? rawScore; - }; - - // ─── Step 4: Build raw + normalized stats per project ───────────────── - const C = 2; // Bayesian confidence weight - - const rawRankings = projects.map((project) => { - const voteCount = project.votes.length; - - // Raw scores (unadjusted) - const totalScore = project.votes.reduce((sum, v) => sum + v.score, 0); - const avgScore = voteCount > 0 ? totalScore / voteCount : 0; - - // Z-score normalized scores (bias-corrected) - const normalizedScores = project.votes.map((v) => getNormalized(v.judgeId, v.score)); - const normalizedAvg = voteCount > 0 - ? round2(normalizedScores.reduce((a, b) => a + b, 0) / voteCount) - : 0; - - // Per-category averages (raw) - const sumCat = { creativity: 0, impact: 0, scope: 0, clarity: 0, soundness: 0 }; - project.votes.forEach((v) => { - sumCat.creativity += v.scoreCreativity ?? 0; - sumCat.impact += v.scoreImpact ?? 0; - sumCat.scope += v.scoreScope ?? 0; - sumCat.clarity += v.scoreClarity ?? 0; - sumCat.soundness += v.scoreSoundness ?? 0; - }); - - const categoryAvg = voteCount > 0 - ? { - creativity: round2(sumCat.creativity / voteCount), - impact: round2(sumCat.impact / voteCount), - scope: round2(sumCat.scope / voteCount), - clarity: round2(sumCat.clarity / voteCount), - soundness: round2(sumCat.soundness / voteCount), - } - : { creativity: 0, impact: 0, scope: 0, clarity: 0, soundness: 0 }; - - return { - project: { - id: project.id, - name: project.name, - tableNumber: project.tableNumber, - zone: project.zone, - category: project.category, - teamMembers: project.teamMembers, - tracks: project.tracks, - challenges: project.challenges, - isCreateX: project.isCreateX, - }, - totalScore, - voteCount, - avgScore: round2(avgScore), - normalizedAvg, - categoryAvg, - votes: project.votes.map((v, i) => ({ - score: v.score, - normalizedScore: round2(normalizedScores[i] ?? v.score), - scoreCreativity: v.scoreCreativity, - scoreImpact: v.scoreImpact, - scoreScope: v.scoreScope, - scoreClarity: v.scoreClarity, - scoreSoundness: v.scoreSoundness, - comment: v.comment, - durationSeconds: v.durationSeconds, - judgeName: (v as VoteWithJudge & { judge: { user?: { name?: string | null }; name?: string | null } }).judge.user?.name || (v as VoteWithJudge & { judge: { user?: { name?: string | null }; name?: string | null } }).judge.name || "Unknown", - })), - }; - }); - - // ─── Step 5: Compute global normalized average for Bayesian prior ────── - const votedProjects = rawRankings.filter((r) => r.voteCount > 0); - const globalAvg = votedProjects.length > 0 - ? round2(votedProjects.reduce((sum, r) => sum + r.normalizedAvg, 0) / votedProjects.length) - : 0; - - // ─── Step 6: Bayesian + Z-score combined final score ────────────────── - // weightedScore blends normalized avg toward the global mean when few judges voted. - const rankings = rawRankings.map((r) => { - const n = r.voteCount; - const weightedScore = n > 0 - ? round2((n / (n + C)) * r.normalizedAvg + (C / (n + C)) * globalAvg) - : 0; - const confidenceLevel: "NONE" | "LOW" | "MEDIUM" | "HIGH" = - n === 0 ? "NONE" : n === 1 ? "LOW" : n === 2 ? "MEDIUM" : "HIGH"; - const scoreShift = round2(r.normalizedAvg - r.avgScore); // how much bias-correction shifted this project - - return { ...r, weightedScore, confidenceLevel, scoreShift }; - }); - - // Sort by weighted score desc - rankings.sort((a, b) => b.weightedScore - a.weightedScore); - - // Weighted-score ties - const ties: { score: number; projects: { id: string; name: string; tableNumber: number; zone: string | null }[] }[] = []; - const scoreGroups = new Map(); - - rankings.forEach((r) => { - const existing = scoreGroups.get(r.weightedScore); - if (existing) { - existing.push(r); - } else { - scoreGroups.set(r.weightedScore, [r]); - } - }); - - scoreGroups.forEach((group, score) => { - if (group.length > 1) { - ties.push({ - score, - projects: group.map((g) => ({ id: g.project.id, name: g.project.name, tableNumber: g.project.tableNumber, zone: g.project.zone ?? null })), - }); - } - }); - - // Per-category ties (only among projects with votes) - const categoryNames = ["creativity", "impact", "scope", "clarity", "soundness"] as const; - const categoryLabels: Record = { - creativity: "Creativity", - impact: "Impact", - scope: "Scope", - clarity: "Clarity", - soundness: "Soundness", - }; - - const categoryTies: { category: string; avgScore: number; projects: { id: string; name: string; tableNumber: number; zone: string | null }[] }[] = []; - - for (const cat of categoryNames) { - const catGroups = new Map(); - rankings.forEach((r) => { - if (r.voteCount === 0) return; - const avg = r.categoryAvg[cat]; - const existing = catGroups.get(avg); - const projectInfo = { id: r.project.id, name: r.project.name, tableNumber: r.project.tableNumber, zone: r.project.zone ?? null }; - if (existing) { - existing.push(projectInfo); - } else { - catGroups.set(avg, [projectInfo]); - } - }); - catGroups.forEach((group, avg) => { - if (group.length > 1) { - categoryTies.push({ - category: categoryLabels[cat], - avgScore: avg, - projects: group, - }); - } - }); - } - - const result = { - rankings, - globalAvg, - ties, - hasTies: ties.length > 0, - categoryTies, - hasCategoryTies: categoryTies.length > 0, - }; - - ctx.cache.set(cacheKey, result, 30); // 30 second cache for live rankings - - return result; - }), - - list: isAdmin.query(async ({ ctx }) => { - const allJudges = await (ctx.db as DrizzleDB).query.judges.findMany({ - with: { - user: { - columns: { - id: true, - name: true, - email: true, - image: true, - }, - }, - assignments: { - with: { - hackathon: { - columns: { - id: true, - name: true, - }, - }, - }, - }, - }, - orderBy: (judges, { desc }) => [desc(judges.createdAt)], - }); - - return allJudges; - }), - - create: isAdmin - .input( - z.object({ - userId: z.string().min(1).max(255), - name: z.string().max(255).optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const user = await (ctx.db as DrizzleDB).query.users.findFirst({ - where: eq(users.id, input.userId), - }); - - if (!user) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "User not found", - }); - } - - const existing = await (ctx.db as DrizzleDB).query.judges.findFirst({ - where: eq(judges.userId, input.userId), - }); - - if (existing) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "User is already a judge", - }); - } - - const result = await (ctx.db as DrizzleDB) - .insert(judges) - .values({ - userId: input.userId, - name: input.name || user.name, - }) - .returning(); - - return result[0]; - }), - - assignToHackathon: isAdmin - .input( - z.object({ - judgeId: z.string().uuid(), - hackathonId: z.string().uuid(), - isLead: z.boolean().optional(), - track: z.string().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const existing = await (ctx.db as DrizzleDB).query.judgeAssignments.findFirst({ - where: and( - eq(judgeAssignments.judgeId, input.judgeId), - eq(judgeAssignments.hackathonId, input.hackathonId) - ), - }); - - if (existing) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Judge already assigned", - }); - } - - const result = await (ctx.db as DrizzleDB) - .insert(judgeAssignments) - .values({ - judgeId: input.judgeId, - hackathonId: input.hackathonId, - isLead: input.isLead || false, - track: input.track, - }) - .returning(); - - const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - columns: { tracks: true }, - }); - const mainTracks = new Set(hackathon?.tracks ?? []); - - const allProjects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - orderBy: [asc(judgingProjects.tableNumber)], - }); - - // Filter by track if assigned (fixes bug: previously assigned ALL projects regardless of track) - const track = input.track ?? null; - const isSpecial = track ? !mainTracks.has(track) : false; - const eligibleProjects = track - ? allProjects.filter((p) => { - const inTracks = p.tracks?.includes(track) ?? false; - const inChallenges = p.challenges?.includes(track) ?? false; - const matchCreateX = track.toLowerCase() === "createx" && !!p.isCreateX; - return inTracks || inChallenges || matchCreateX; - }) - : allProjects; - - // Special judges always get their full pool; main track judges get a shuffled subset - const assignedProjects = isSpecial - ? eligibleProjects - : shuffleArray(eligibleProjects); - - if (assignedProjects.length > 0) { - await (ctx.db as DrizzleDB).insert(judgeQueue).values( - assignedProjects.map((p, idx) => ({ - judgeId: input.judgeId, - hackathonId: input.hackathonId, - projectId: p.id, - order: idx + 1, - })) - ); - } - - return result[0]; - }), - - createProject: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - name: z.string().min(1).max(255), - description: z.string().max(1000).optional(), - tableNumber: z.number().min(1), - zone: z.string().optional(), - teamMembers: z.string().max(500).optional(), - projectUrl: z.string().url().optional(), - repoUrl: z.string().url().optional(), - tracks: z.array(z.string()).optional(), - challenges: z.array(z.string()).optional(), - isCreateX: z.boolean().default(false), - }) - ) - .mutation(async ({ ctx, input }) => { - const result = await (ctx.db as DrizzleDB) - .insert(judgingProjects) - .values(input) - .returning(); - - return result[0]; - }), - - bulkCreateProjects: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - projects: z.array( - z.object({ - name: z.string().min(1).max(255), - description: z.string().max(1000).optional(), - tableNumber: z.number().min(1), - zone: z.string().optional(), - category: z.string().max(100).optional(), - teamMembers: z.string().max(500).optional(), - tracks: z.array(z.string()).optional(), - challenges: z.array(z.string()).optional(), - isCreateX: z.boolean().default(false), - }) - ), - }) - ) - .mutation(async ({ ctx, input }) => { - const result = await (ctx.db as DrizzleDB) - .insert(judgingProjects) - .values( - input.projects.map((p) => ({ - ...p, - hackathonId: input.hackathonId, - })) - ) - .returning(); - - return result; - }), - - /** Bulk import judges from a parsed CSV. - * Creates user stubs for emails not yet in the system, - * creates judge records, and assigns to the hackathon. */ - bulkImportJudges: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - judges: z.array( - z.object({ - name: z.string().min(1).max(255), - email: z.string().email(), - track: z.string().optional(), - }) - ), - }) - ) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - const results = { created: 0, skipped: 0, errors: [] as string[] }; - - for (const j of input.judges) { - try { - // 1. Find or create user by email - let user = await tx.query.users.findFirst({ - where: eq(users.email, j.email), - }); - - if (!user) { - const id = crypto.randomUUID(); - const [newUser] = await tx - .insert(users) - .values({ id, name: j.name, email: j.email }) - .returning(); - user = newUser as NonNullable; - } - - // 2. Find or create judge record - let judge = await tx.query.judges.findFirst({ - where: eq(judges.userId, user.id), - }); - - if (!judge) { - const [newJudge] = await tx - .insert(judges) - .values({ userId: user.id, name: j.name }) - .returning(); - judge = newJudge as NonNullable; - } - - // 3. Assign to hackathon (skip if already assigned) - const existingAssignment = await tx.query.judgeAssignments.findFirst({ - where: and( - eq(judgeAssignments.judgeId, judge.id), - eq(judgeAssignments.hackathonId, input.hackathonId), - ), - }); - - if (!existingAssignment) { - await tx.insert(judgeAssignments).values({ - judgeId: judge.id, - hackathonId: input.hackathonId, - track: j.track || null, - }); - } - - results.created++; - } catch (e) { - results.skipped++; - results.errors.push(`${j.email}: ${e instanceof Error ? e.message : 'Unknown error'}`); - } - } - - return results; - }); - }), - - /** Bulk import projects from a parsed CSV. - * Auto-assigns incrementing table numbers starting from 1. */ - bulkImportProjects: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - projects: z.array( - z.object({ - name: z.string().min(1).max(255), - teamMembers: z.string().max(500).optional(), - mainTrack: z.string().optional(), - extraTracks: z.array(z.string()).optional(), - isCreateX: z.boolean().default(false), - }) - ), - }) - ) - .mutation(async ({ ctx, input }) => { - // Get the current max table number for this hackathon - const maxResult = await (ctx.db as DrizzleDB) - .select({ max: sql`COALESCE(MAX(${judgingProjects.tableNumber}), 0)` }) - .from(judgingProjects) - .where(eq(judgingProjects.hackathonId, input.hackathonId)); - - let nextTable = (maxResult[0]?.max ?? 0) + 1; - - const rows = input.projects.map((p) => { - const tracks = [ - ...(p.mainTrack ? [p.mainTrack] : []), - ...(p.extraTracks || []), - ].filter(Boolean); - - return { - hackathonId: input.hackathonId, - name: p.name, - teamMembers: p.teamMembers, - tableNumber: nextTable++, - tracks: tracks.length > 0 ? tracks : undefined, - isCreateX: p.isCreateX, - }; - }); - - const result = await (ctx.db as DrizzleDB) - .insert(judgingProjects) - .values(rows) - .returning(); - - return { created: result.length, startTable: rows[0]?.tableNumber, endTable: rows[rows.length - 1]?.tableNumber }; - }), - - addMap: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - imageUrl: z.string().url(), - name: z.string().max(100).optional(), - order: z.number().min(0).default(0), - }) - ) - .mutation(async ({ ctx, input }) => { - const result = await (ctx.db as DrizzleDB) - .insert(hackathonMaps) - .values(input) - .returning(); - - return result[0]; - }), - - initializeQueue: isAdmin - .input( - z.object({ - judgeId: z.string().uuid(), - hackathonId: z.string().uuid(), - shuffle: z.boolean().default(false), - }) - ) - .mutation(async ({ ctx, input }) => { - await (ctx.db as DrizzleDB) - .delete(judgeQueue) - .where( - and( - eq(judgeQueue.judgeId, input.judgeId), - eq(judgeQueue.hackathonId, input.hackathonId) - ) - ); - - // Get judge assignment to check for track restriction - const assignment = await (ctx.db as DrizzleDB).query.judgeAssignments.findFirst({ - where: and( - eq(judgeAssignments.judgeId, input.judgeId), - eq(judgeAssignments.hackathonId, input.hackathonId) - ), - }); - - // Fetch all projects (or filter in query if possible, but JS filter matches assignToHackathon logic) - const allProjects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - orderBy: [asc(judgingProjects.tableNumber)], - }); - - // Filter based on track if assigned - let projects = (assignment?.track) - ? allProjects.filter((p) => { - const inTracks = p.tracks?.includes(assignment.track!) ?? false; - const inChallenges = p.challenges?.includes(assignment.track!) ?? false; - return inTracks || inChallenges; - }) - : allProjects; - - if (input.shuffle) { - projects = shuffleArray(projects); - } - - if (projects.length > 0) { - await ctx.db!.insert(judgeQueue).values( - projects.map((p, idx) => ({ - judgeId: input.judgeId, - hackathonId: input.hackathonId, - projectId: p.id, - order: idx + 1, - })) - ); - } - - return { success: true, projectCount: projects.length }; - }), - - remove: isAdmin - .input(z.object({ judgeId: z.string().uuid() })) - .mutation(async ({ ctx, input }) => { - await (ctx.db as DrizzleDB).delete(judges).where(eq(judges.id, input.judgeId)); - return { success: true }; - }), - - /** Bulk-assign projects to all judges for a hackathon. - * Main-track judges (Sports, Entertainment, Finance, Healthcare) get 3–9 randomly-selected projects. - * Special-label judges (createX, sponsor challenges, etc.) get ALL matching projects. - */ - assignJudgesToProjects: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - minProjects: z.number().min(1).default(3), - maxProjects: z.number().min(1).default(9), - shuffle: z.boolean().default(true), - /** When false (default), special-label/sponsor judge projects are randomized. - * When true, they stay grouped in table order. */ - groupSpecial: z.boolean().default(false), - autoCalculate: z.boolean().default(true), - }) - ) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - const hackathon = await tx.query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - }); - if (!hackathon) throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found" }); - - const MAIN_TRACKS = new Set(hackathon.tracks ?? []); - - const allAssignments = await tx.query.judgeAssignments.findMany({ - where: eq(judgeAssignments.hackathonId, input.hackathonId), - with: { judge: true }, - }); - - const allProjects = await tx.query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - orderBy: [asc(judgingProjects.tableNumber)], - }); - - if (allProjects.length === 0) { - throw new TRPCError({ code: "BAD_REQUEST", message: "No projects found for this hackathon" }); - } - - let minProjects = input.minProjects; - let maxProjects = input.maxProjects; - - if (input.autoCalculate) { - // Count active registered participants - const participantCountResult = await tx - .select({ count: sql`count(*)` }) - .from(hackathonParticipants) - .where( - and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - sql`${hackathonParticipants.registrationStatus} != 'rejected'` - ) - ); - const activeRegistrations = Number(participantCountResult[0]?.count || 0); - - const P = allProjects.length || Math.ceil(activeRegistrations / 4) || 1; - const mainJudgesCount = allAssignments.filter( - (a) => !a.track || MAIN_TRACKS.has(a.track) - ).length || 1; - - // Each project needs to be graded at least 3 times - const targetCoverage = 3; - const avgRequired = Math.ceil((P * targetCoverage) / mainJudgesCount); - - // We assume a 3-hour judging window (180 minutes) - // With ~9 minutes per project evaluation, a judge can evaluate at most 20 projects. - minProjects = Math.max(3, Math.min(avgRequired, 20)); - maxProjects = Math.max(minProjects + 2, Math.min(avgRequired + 2, 22)); - } - - // Clear existing queues - await tx.delete(judgeQueue).where(eq(judgeQueue.hackathonId, input.hackathonId)); - - // ── Coverage-maximizing assignment ────────────────────────────────── - // Uses buildCoverageQueues to guarantee every project is seen by at - // least one judge before any project gets an extra judge. This replaces - // the old random-slice approach which could leave some projects unseen. - const judgeList = allAssignments.map((a) => ({ judgeId: a.judgeId, track: a.track ?? null })); - const projectList = allProjects.map((p) => ({ - id: p.id, - tracks: p.tracks ?? null, - challenges: p.challenges ?? null, - tableNumber: p.tableNumber, - isCreateX: p.isCreateX, - })); - - const queues = buildCoverageQueues(judgeList, projectList, MAIN_TRACKS, { - minProjects, - maxProjects, - shuffle: input.shuffle, - groupSpecial: input.groupSpecial, - }); - - // Build all insert rows in one pass - const insertRows: { judgeId: string; hackathonId: string; projectId: string; order: number }[] = []; - for (const [judgeId, projectIds] of queues.entries()) { - projectIds.forEach((projectId, idx) => { - insertRows.push({ - judgeId, - hackathonId: input.hackathonId, - projectId, - order: idx + 1, - }); - }); - } - - if (insertRows.length > 0) { - await tx.insert(judgeQueue).values(insertRows); - } - - // Compute coverage stats for admin feedback - const projectCoverage = new Map(); - for (const row of insertRows) { - projectCoverage.set(row.projectId, (projectCoverage.get(row.projectId) ?? 0) + 1); - } - const coverageValues = [...projectCoverage.values()]; - const uncoveredCount = allProjects.length - projectCoverage.size; - const avgCoverage = coverageValues.length > 0 - ? Math.round((coverageValues.reduce((a, b) => a + b, 0) / coverageValues.length) * 10) / 10 - : 0; - const minCoverage = coverageValues.length > 0 ? Math.min(...coverageValues) : 0; - const maxCoverage = coverageValues.length > 0 ? Math.max(...coverageValues) : 0; - - const results = allAssignments.map((a) => ({ - judgeId: a.judgeId, - judgeName: a.judge.name, - track: a.track ?? null, - assignedCount: queues.get(a.judgeId)?.length ?? 0, - })); - - return { - success: true, - totalJudges: results.length, - totalInsertedRows: insertRows.length, - coverage: { avg: avgCoverage, min: minCoverage, max: maxCoverage, uncovered: uncoveredCount }, - assignments: results, - }; - }); - }), - - /** Per-judge scoring analytics for bias detection and performance review. */ - getJudgeAnalytics: isAdmin - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:judge-analytics`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - // Fetch votes for this hackathon via an explicit join. - const allVotes = await (ctx.db as DrizzleDB) - .select({ - judgeId: judgeVotes.judgeId, - projectId: judgeVotes.projectId, - score: judgeVotes.score, - durationSeconds: judgeVotes.durationSeconds, - judgeName: judges.name, - judgeUserId: judges.userId, - }) - .from(judgeVotes) - .innerJoin(judges, eq(judges.id, judgeVotes.judgeId)) - .innerJoin( - judgingProjects, - and( - eq(judgingProjects.id, judgeVotes.projectId), - eq(judgingProjects.hackathonId, input.hackathonId) - ) - ); - - const queueStats = await (ctx.db as DrizzleDB) - .select({ - judgeId: judgeQueue.judgeId, - total: sql`count(*)`, - completed: sql`sum(case when ${judgeQueue.isCompleted} then 1 else 0 end)`, - }) - .from(judgeQueue) - .where(eq(judgeQueue.hackathonId, input.hackathonId)) - .groupBy(judgeQueue.judgeId); - - const queueMap = new Map(queueStats.map((q) => [q.judgeId, q])); - - // Group votes by judgeId - const byJudge = new Map(); - for (const vote of allVotes) { - const list = byJudge.get(vote.judgeId) ?? []; - list.push(vote); - byJudge.set(vote.judgeId, list); - } - - // Global mean across all votes - const allScores = allVotes.map((v) => v.score); - const globalMean = allScores.length > 0 - ? allScores.reduce((a, b) => a + b, 0) / allScores.length - : 0; - - const round2 = (n: number) => Math.round(n * 100) / 100; - - const analytics = [...byJudge.entries()].map(([judgeId, votes]) => { - const scores = votes.map((v) => v.score); - const mean = scores.reduce((a, b) => a + b, 0) / scores.length; - const variance = scores.reduce((s, v) => s + (v - mean) ** 2, 0) / scores.length; - const std = Math.sqrt(variance); - - // Bias score: how far this judge's mean is from the global mean, in std units - const biasScore = round2((mean - globalMean) / (std || 1)); - const biasLabel: "strict" | "neutral" | "lenient" = - biasScore < -0.5 ? "strict" : biasScore > 0.5 ? "lenient" : "neutral"; - - const avgDuration = votes - .filter((v) => v.durationSeconds != null) - .reduce((s, v, _, a) => s + (v.durationSeconds ?? 0) / a.length, 0); - - const qs = queueMap.get(judgeId); - const completionRate = qs && Number(qs.total) > 0 - ? round2(Number(qs.completed) / Number(qs.total)) - : null; - - const firstVote = votes[0]; - - return { - judgeId, - name: firstVote?.judgeName ?? "Unknown", - votesSubmitted: scores.length, - mean: round2(mean), - std: round2(std), - min: Math.min(...scores), - max: Math.max(...scores), - biasScore, - biasLabel, - avgDurationSeconds: avgDuration > 0 ? round2(avgDuration) : null, - completionRate, - queueTotal: qs ? Number(qs.total) : null, - queueCompleted: qs ? Number(qs.completed) : null, - }; - }); - - // Sort: most votes first - analytics.sort((a, b) => b.votesSubmitted - a.votesSubmitted); - - const result = { analytics, globalMean: round2(globalMean), totalVotes: allVotes.length }; - ctx.cache.set(cacheKey, result, 30); - return result; - }), - - getAllVotes: isAdmin - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const projects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - with: { - votes: { - with: { - judge: { - with: { - user: { - columns: { name: true }, - }, - }, - }, - }, - }, - }, - orderBy: [asc(judgingProjects.tableNumber)], - }); - - return projects; - }), - - register: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid(), - name: z.string().min(1).max(200), - email: z.string().email().max(200), - phone: z.string().max(20).optional(), - company: z.string().max(200).optional(), - title: z.string().max(200).optional(), - specialty: z.string().max(200).optional(), - linkedinUrl: z.string().url().max(500).optional().or(z.literal("")), - githubUrl: z.string().url().max(500).optional().or(z.literal("")), - previousExperience: z.string().max(2000).optional(), - dietaryRestrictions: z.array(z.string()).optional(), - shirtSize: z.string().optional(), - whyJudge: z.string().max(2000).optional(), - preferredTrack: z.string().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - // Check if user is registered as a participant for this hackathon - const participant = await tx.query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - }); - - if (participant) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "You cannot apply to be a judge because you are registered as a participant for this hackathon.", - }); - } - - // Find existing judge profile or create one - let judge = await tx.query.judges.findFirst({ - where: eq(judges.userId, ctx.userId), - }); - - if (judge) { - await tx - .update(judges) - .set({ - name: input.name, - email: input.email, - phone: input.phone, - company: input.company, - title: input.title, - specialty: input.specialty, - linkedinUrl: input.linkedinUrl, - githubUrl: input.githubUrl, - previousExperience: input.previousExperience, - dietaryRestrictions: input.dietaryRestrictions || [], - shirtSize: input.shirtSize, - whyJudge: input.whyJudge, - }) - .where(eq(judges.id, judge.id)); - } else { - const inserted = await tx - .insert(judges) - .values({ - userId: ctx.userId, - name: input.name, - email: input.email, - phone: input.phone, - company: input.company, - title: input.title, - specialty: input.specialty, - linkedinUrl: input.linkedinUrl || null, - githubUrl: input.githubUrl || null, - previousExperience: input.previousExperience, - dietaryRestrictions: input.dietaryRestrictions || [], - shirtSize: input.shirtSize, - whyJudge: input.whyJudge, - isActive: false, // Must be approved by admin - }) - .returning(); - judge = inserted[0]; - } - - // Create the hackathon assignment request - if (!judge) throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", message: "Failed to create judge profile" }); - - const existingAssignment = await tx.query.judgeAssignments.findFirst({ - where: and( - eq(judgeAssignments.judgeId, judge.id), - eq(judgeAssignments.hackathonId, input.hackathonId) - ), - }); - - if (existingAssignment) { - throw new TRPCError({ code: "CONFLICT", message: "You have already applied to judge this hackathon." }); - } - - await tx.insert(judgeAssignments).values({ - judgeId: judge.id, - hackathonId: input.hackathonId, - track: input.preferredTrack, - status: "pending", - }); - - return { success: true }; - }); - }), -}); diff --git a/packages/api/src/routers/judge/admin.ts b/packages/api/src/routers/judge/admin.ts new file mode 100644 index 00000000..334dfc07 --- /dev/null +++ b/packages/api/src/routers/judge/admin.ts @@ -0,0 +1,914 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, protectedProcedure } from "../../trpc"; +import { + judges, + judgeAssignments, + judgeVotes, + judgingProjects, + judgeQueue, + hackathonMaps, + hackathons, + users, + hackathonParticipants, +} from "@query/db"; +import { eq, and, asc, sql } from "drizzle-orm"; +import { isAdmin } from "../../middleware/procedures"; +import type { DrizzleDB } from "@query/db"; +import { shuffleArray, buildCoverageQueues } from "./helpers"; + +export const judgeAdminRouter = createTRPCRouter({ + list: isAdmin.query(async ({ ctx }) => { + const allJudges = await (ctx.db as DrizzleDB).query.judges.findMany({ + with: { + user: { + columns: { + id: true, + name: true, + email: true, + image: true, + }, + }, + assignments: { + with: { + hackathon: { + columns: { + id: true, + name: true, + }, + }, + }, + }, + }, + orderBy: (judges, { desc }) => [desc(judges.createdAt)], + }); + + return allJudges; + }), + + create: isAdmin + .input( + z.object({ + userId: z.string().min(1).max(255), + hackathonId: z.string().uuid(), + name: z.string().max(255).optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const user = await (ctx.db as DrizzleDB).query.users.findFirst({ + where: eq(users.id, input.userId), + }); + + if (!user) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "User not found", + }); + } + + const existing = await (ctx.db as DrizzleDB).query.judges.findFirst({ + where: and( + eq(judges.userId, input.userId), + eq(judges.hackathonId, input.hackathonId), + ), + }); + + if (existing) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "User is already a judge for this hackathon", + }); + } + + const result = await (ctx.db as DrizzleDB) + .insert(judges) + .values({ + userId: input.userId, + hackathonId: input.hackathonId, + name: input.name || user.name, + isActive: true, // Manually created judges are active by default + }) + .returning(); + + return result[0]; + }), + + assignToHackathon: isAdmin + .input( + z.object({ + judgeId: z.string().uuid(), + hackathonId: z.string().uuid(), + isLead: z.boolean().optional(), + track: z.string().optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const existing = await ( + ctx.db as DrizzleDB + ).query.judgeAssignments.findFirst({ + where: and( + eq(judgeAssignments.judgeId, input.judgeId), + eq(judgeAssignments.hackathonId, input.hackathonId), + ), + }); + + if (existing) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Judge already assigned", + }); + } + + const result = await (ctx.db as DrizzleDB) + .insert(judgeAssignments) + .values({ + judgeId: input.judgeId, + hackathonId: input.hackathonId, + isLead: input.isLead || false, + track: input.track, + }) + .returning(); + + const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + columns: { tracks: true }, + }); + const mainTracks = new Set(hackathon?.tracks ?? []); + + const allProjects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + orderBy: [asc(judgingProjects.tableNumber)], + }); + + // Filter by track if assigned (fixes bug: previously assigned ALL projects regardless of track) + const track = input.track ?? null; + const isSpecial = track ? !mainTracks.has(track) : false; + const eligibleProjects = track + ? allProjects.filter((p) => { + const inTracks = p.tracks?.includes(track) ?? false; + const inChallenges = p.challenges?.includes(track) ?? false; + const matchCreateX = + track.toLowerCase() === "createx" && !!p.isCreateX; + return inTracks || inChallenges || matchCreateX; + }) + : allProjects; + + // Special judges always get their full pool; main track judges get a shuffled subset + const assignedProjects = isSpecial + ? eligibleProjects + : shuffleArray(eligibleProjects); + + if (assignedProjects.length > 0) { + await (ctx.db as DrizzleDB).insert(judgeQueue).values( + assignedProjects.map((p, idx) => ({ + judgeId: input.judgeId, + hackathonId: input.hackathonId, + projectId: p.id, + order: idx + 1, + })), + ); + } + + return result[0]; + }), + + createProject: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + name: z.string().min(1).max(255), + description: z.string().max(1000).optional(), + tableNumber: z.number().min(1), + zone: z.string().optional(), + teamMembers: z.string().max(500).optional(), + projectUrl: z.string().url().optional(), + repoUrl: z.string().url().optional(), + tracks: z.array(z.string()).optional(), + challenges: z.array(z.string()).optional(), + isCreateX: z.boolean().default(false), + }), + ) + .mutation(async ({ ctx, input }) => { + const result = await (ctx.db as DrizzleDB) + .insert(judgingProjects) + .values(input) + .returning(); + + return result[0]; + }), + + bulkCreateProjects: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + projects: z.array( + z.object({ + name: z.string().min(1).max(255), + description: z.string().max(1000).optional(), + tableNumber: z.number().min(1), + zone: z.string().optional(), + category: z.string().max(100).optional(), + teamMembers: z.string().max(500).optional(), + tracks: z.array(z.string()).optional(), + challenges: z.array(z.string()).optional(), + isCreateX: z.boolean().default(false), + }), + ), + }), + ) + .mutation(async ({ ctx, input }) => { + const result = await (ctx.db as DrizzleDB) + .insert(judgingProjects) + .values( + input.projects.map((p) => ({ + ...p, + hackathonId: input.hackathonId, + })), + ) + .returning(); + + return result; + }), + + /** Bulk import judges from a parsed CSV. + * Creates user stubs for emails not yet in the system, + * creates judge records, and assigns to the hackathon. */ + bulkImportJudges: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + judges: z.array( + z.object({ + name: z.string().min(1).max(255), + email: z.string().email(), + track: z.string().optional(), + }), + ), + }), + ) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + const results = { created: 0, skipped: 0, errors: [] as string[] }; + + for (const j of input.judges) { + try { + // 1. Find or create user by email + let user = await tx.query.users.findFirst({ + where: eq(users.email, j.email), + }); + + if (!user) { + const id = crypto.randomUUID(); + const [newUser] = await tx + .insert(users) + .values({ id, name: j.name, email: j.email }) + .returning(); + user = newUser as NonNullable; + } + + // 2. Find or create judge record for this hackathon + let judge = await tx.query.judges.findFirst({ + where: and( + eq(judges.userId, user.id), + eq(judges.hackathonId, input.hackathonId), + ), + }); + + if (!judge) { + const [newJudge] = await tx + .insert(judges) + .values({ + userId: user.id, + hackathonId: input.hackathonId, + name: j.name, + isActive: true, + }) + .returning(); + judge = newJudge as NonNullable; + } + + // 3. Assign to hackathon (skip if already assigned) + const existingAssignment = + await tx.query.judgeAssignments.findFirst({ + where: and( + eq(judgeAssignments.judgeId, judge.id), + eq(judgeAssignments.hackathonId, input.hackathonId), + ), + }); + + if (!existingAssignment) { + await tx.insert(judgeAssignments).values({ + judgeId: judge.id, + hackathonId: input.hackathonId, + track: j.track || null, + }); + } + + results.created++; + } catch (e) { + results.skipped++; + results.errors.push( + `${j.email}: ${e instanceof Error ? e.message : "Unknown error"}`, + ); + } + } + + return results; + }); + }), + + /** Bulk import projects from a parsed CSV. + * Auto-assigns incrementing table numbers starting from 1. */ + bulkImportProjects: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + projects: z.array( + z.object({ + name: z.string().min(1).max(255), + teamMembers: z.string().max(500).optional(), + mainTrack: z.string().optional(), + extraTracks: z.array(z.string()).optional(), + isCreateX: z.boolean().default(false), + }), + ), + }), + ) + .mutation(async ({ ctx, input }) => { + // Get the current max table number for this hackathon + const maxResult = await (ctx.db as DrizzleDB) + .select({ + max: sql`COALESCE(MAX(${judgingProjects.tableNumber}), 0)`, + }) + .from(judgingProjects) + .where(eq(judgingProjects.hackathonId, input.hackathonId)); + + let nextTable = (maxResult[0]?.max ?? 0) + 1; + + const rows = input.projects.map((p) => { + const tracks = [ + ...(p.mainTrack ? [p.mainTrack] : []), + ...(p.extraTracks || []), + ].filter(Boolean); + + return { + hackathonId: input.hackathonId, + name: p.name, + teamMembers: p.teamMembers, + tableNumber: nextTable++, + tracks: tracks.length > 0 ? tracks : undefined, + isCreateX: p.isCreateX, + }; + }); + + const result = await (ctx.db as DrizzleDB) + .insert(judgingProjects) + .values(rows) + .returning(); + + return { + created: result.length, + startTable: rows[0]?.tableNumber, + endTable: rows[rows.length - 1]?.tableNumber, + }; + }), + + addMap: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + imageUrl: z.string().url(), + name: z.string().max(100).optional(), + order: z.number().min(0).default(0), + }), + ) + .mutation(async ({ ctx, input }) => { + const result = await (ctx.db as DrizzleDB) + .insert(hackathonMaps) + .values(input) + .returning(); + + return result[0]; + }), + + initializeQueue: isAdmin + .input( + z.object({ + judgeId: z.string().uuid(), + hackathonId: z.string().uuid(), + shuffle: z.boolean().default(false), + }), + ) + .mutation(async ({ ctx, input }) => { + await (ctx.db as DrizzleDB) + .delete(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, input.judgeId), + eq(judgeQueue.hackathonId, input.hackathonId), + ), + ); + + // Get judge assignment to check for track restriction + const assignment = await ( + ctx.db as DrizzleDB + ).query.judgeAssignments.findFirst({ + where: and( + eq(judgeAssignments.judgeId, input.judgeId), + eq(judgeAssignments.hackathonId, input.hackathonId), + ), + }); + + // Fetch all projects (or filter in query if possible, but JS filter matches assignToHackathon logic) + const allProjects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + orderBy: [asc(judgingProjects.tableNumber)], + }); + + // Filter based on track if assigned + let projects = assignment?.track + ? allProjects.filter((p) => { + const inTracks = p.tracks?.includes(assignment.track!) ?? false; + const inChallenges = + p.challenges?.includes(assignment.track!) ?? false; + return inTracks || inChallenges; + }) + : allProjects; + + if (input.shuffle) { + projects = shuffleArray(projects); + } + + if (projects.length > 0) { + await ctx.db!.insert(judgeQueue).values( + projects.map((p, idx) => ({ + judgeId: input.judgeId, + hackathonId: input.hackathonId, + projectId: p.id, + order: idx + 1, + })), + ); + } + + return { success: true, projectCount: projects.length }; + }), + + remove: isAdmin + .input(z.object({ judgeId: z.string().uuid() })) + .mutation(async ({ ctx, input }) => { + await (ctx.db as DrizzleDB) + .delete(judges) + .where(eq(judges.id, input.judgeId)); + return { success: true }; + }), + + /** Bulk-assign projects to all judges for a hackathon. + * Main-track judges (Sports, Entertainment, Finance, Healthcare) get 3–9 randomly-selected projects. + * Special-label judges (createX, sponsor challenges, etc.) get ALL matching projects. + */ + assignJudgesToProjects: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + minProjects: z.number().min(1).default(3), + maxProjects: z.number().min(1).default(9), + shuffle: z.boolean().default(true), + /** When false (default), special-label/sponsor judge projects are randomized. + * When true, they stay grouped in table order. */ + groupSpecial: z.boolean().default(false), + autoCalculate: z.boolean().default(true), + }), + ) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + const hackathon = await tx.query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + }); + if (!hackathon) + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + + const MAIN_TRACKS = new Set(hackathon.tracks ?? []); + + const allAssignments = await tx.query.judgeAssignments.findMany({ + where: eq(judgeAssignments.hackathonId, input.hackathonId), + with: { judge: true }, + }); + + const allProjects = await tx.query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + orderBy: [asc(judgingProjects.tableNumber)], + }); + + if (allProjects.length === 0) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "No projects found for this hackathon", + }); + } + + let minProjects = input.minProjects; + let maxProjects = input.maxProjects; + + if (input.autoCalculate) { + // Count active registered participants + const participantCountResult = await tx + .select({ count: sql`count(*)` }) + .from(hackathonParticipants) + .where( + and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + sql`${hackathonParticipants.registrationStatus} != 'rejected'`, + ), + ); + const activeRegistrations = Number( + participantCountResult[0]?.count || 0, + ); + + const P = + allProjects.length || Math.ceil(activeRegistrations / 4) || 1; + const mainJudgesCount = + allAssignments.filter((a) => !a.track || MAIN_TRACKS.has(a.track)) + .length || 40; // Default to 40 judges as requested + + // Formula: Required Grades = Max(3, Floor((Total Judges * Judging Window Hours) / (Total Projects * Avg Time Per Project))) + // Judging Window: 3 hours. Avg Time Per Project: 12 minutes (0.2 hours). + const judgingWindowHours = 3; + const avgTimePerProjectHours = 0.2; + const calculatedQuota = Math.floor( + (mainJudgesCount * judgingWindowHours) / + (P * avgTimePerProjectHours), + ); + + const targetCoverage = Math.max(3, calculatedQuota); + const avgRequired = Math.ceil((P * targetCoverage) / mainJudgesCount); + + // Reduce cap: Judges should not have 20 projects. Setting a more reasonable cap of 12. + minProjects = Math.max(3, Math.min(avgRequired, 12)); + maxProjects = Math.max( + minProjects + 1, + Math.min(avgRequired + 1, 14), + ); + } + + // Clear existing queues + await tx + .delete(judgeQueue) + .where(eq(judgeQueue.hackathonId, input.hackathonId)); + + // ── Coverage-maximizing assignment ────────────────────────────────── + // Uses buildCoverageQueues to guarantee every project is seen by at + // least one judge before any project gets an extra judge. This replaces + // the old random-slice approach which could leave some projects unseen. + const judgeList = allAssignments.map((a) => ({ + judgeId: a.judgeId, + track: a.track ?? null, + })); + const projectList = allProjects.map((p) => ({ + id: p.id, + tracks: p.tracks ?? null, + challenges: p.challenges ?? null, + tableNumber: p.tableNumber, + isCreateX: p.isCreateX, + })); + + const queues = buildCoverageQueues( + judgeList, + projectList, + MAIN_TRACKS, + { + minProjects, + maxProjects, + shuffle: input.shuffle, + groupSpecial: input.groupSpecial, + }, + ); + + // Build all insert rows in one pass + const insertRows: { + judgeId: string; + hackathonId: string; + projectId: string; + order: number; + }[] = []; + for (const [judgeId, projectIds] of queues.entries()) { + projectIds.forEach((projectId, idx) => { + insertRows.push({ + judgeId, + hackathonId: input.hackathonId, + projectId, + order: idx + 1, + }); + }); + } + + if (insertRows.length > 0) { + await tx.insert(judgeQueue).values(insertRows); + } + + // Compute coverage stats for admin feedback + const projectCoverage = new Map(); + for (const row of insertRows) { + projectCoverage.set( + row.projectId, + (projectCoverage.get(row.projectId) ?? 0) + 1, + ); + } + const coverageValues = [...projectCoverage.values()]; + const uncoveredCount = allProjects.length - projectCoverage.size; + const avgCoverage = + coverageValues.length > 0 + ? Math.round( + (coverageValues.reduce((a, b) => a + b, 0) / + coverageValues.length) * + 10, + ) / 10 + : 0; + const minCoverage = + coverageValues.length > 0 ? Math.min(...coverageValues) : 0; + const maxCoverage = + coverageValues.length > 0 ? Math.max(...coverageValues) : 0; + + const results = allAssignments.map((a) => ({ + judgeId: a.judgeId, + judgeName: a.judge.name, + track: a.track ?? null, + assignedCount: queues.get(a.judgeId)?.length ?? 0, + })); + + return { + success: true, + totalJudges: results.length, + totalInsertedRows: insertRows.length, + coverage: { + avg: avgCoverage, + min: minCoverage, + max: maxCoverage, + uncovered: uncoveredCount, + }, + assignments: results, + }; + }); + }), + + /** Per-judge scoring analytics for bias detection and performance review. */ + getJudgeAnalytics: isAdmin + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:judge-analytics`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + // Fetch votes for this hackathon via an explicit join. + const allVotes = await (ctx.db as DrizzleDB) + .select({ + judgeId: judgeVotes.judgeId, + projectId: judgeVotes.projectId, + score: judgeVotes.score, + durationSeconds: judgeVotes.durationSeconds, + judgeName: judges.name, + judgeUserId: judges.userId, + }) + .from(judgeVotes) + .innerJoin(judges, eq(judges.id, judgeVotes.judgeId)) + .innerJoin( + judgingProjects, + and( + eq(judgingProjects.id, judgeVotes.projectId), + eq(judgingProjects.hackathonId, input.hackathonId), + ), + ); + + const queueStats = await (ctx.db as DrizzleDB) + .select({ + judgeId: judgeQueue.judgeId, + total: sql`count(*)`, + completed: sql`sum(case when ${judgeQueue.isCompleted} then 1 else 0 end)`, + }) + .from(judgeQueue) + .where(eq(judgeQueue.hackathonId, input.hackathonId)) + .groupBy(judgeQueue.judgeId); + + const queueMap = new Map(queueStats.map((q) => [q.judgeId, q])); + + // Group votes by judgeId + const byJudge = new Map(); + for (const vote of allVotes) { + const list = byJudge.get(vote.judgeId) ?? []; + list.push(vote); + byJudge.set(vote.judgeId, list); + } + + // Global mean across all votes + const allScores = allVotes.map((v) => v.score); + const globalMean = + allScores.length > 0 + ? allScores.reduce((a, b) => a + b, 0) / allScores.length + : 0; + + const round2 = (n: number) => Math.round(n * 100) / 100; + + const analytics = [...byJudge.entries()].map(([judgeId, votes]) => { + const scores = votes.map((v) => v.score); + const mean = scores.reduce((a, b) => a + b, 0) / scores.length; + const variance = + scores.reduce((s, v) => s + (v - mean) ** 2, 0) / scores.length; + const std = Math.sqrt(variance); + + // Bias score: how far this judge's mean is from the global mean, in std units + const biasScore = round2((mean - globalMean) / (std || 1)); + const biasLabel: "strict" | "neutral" | "lenient" = + biasScore < -0.5 ? "strict" : biasScore > 0.5 ? "lenient" : "neutral"; + + const avgDuration = votes + .filter((v) => v.durationSeconds != null) + .reduce((s, v, _, a) => s + (v.durationSeconds ?? 0) / a.length, 0); + + const qs = queueMap.get(judgeId); + const completionRate = + qs && Number(qs.total) > 0 + ? round2(Number(qs.completed) / Number(qs.total)) + : null; + + const firstVote = votes[0]; + + return { + judgeId, + name: firstVote?.judgeName ?? "Unknown", + votesSubmitted: scores.length, + mean: round2(mean), + std: round2(std), + min: Math.min(...scores), + max: Math.max(...scores), + biasScore, + biasLabel, + avgDurationSeconds: avgDuration > 0 ? round2(avgDuration) : null, + completionRate, + queueTotal: qs ? Number(qs.total) : null, + queueCompleted: qs ? Number(qs.completed) : null, + }; + }); + + // Sort: most votes first + analytics.sort((a, b) => b.votesSubmitted - a.votesSubmitted); + + const result = { + analytics, + globalMean: round2(globalMean), + totalVotes: allVotes.length, + }; + ctx.cache.set(cacheKey, result, 30); + return result; + }), + + getAllVotes: isAdmin + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const projects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + with: { + votes: { + with: { + judge: { + with: { + user: { + columns: { name: true }, + }, + }, + }, + }, + }, + }, + orderBy: [asc(judgingProjects.tableNumber)], + }); + + return projects; + }), + + register: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid(), + name: z.string().min(1).max(200), + email: z.string().email().max(200), + phone: z.string().max(20).optional(), + company: z.string().max(200).optional(), + title: z.string().max(200).optional(), + specialty: z.string().max(200).optional(), + linkedinUrl: z.string().url().max(500).optional().or(z.literal("")), + githubUrl: z.string().url().max(500).optional().or(z.literal("")), + previousExperience: z.string().max(2000).optional(), + dietaryRestrictions: z.array(z.string()).optional(), + shirtSize: z.string().optional(), + whyJudge: z.string().max(2000).optional(), + preferredTrack: z.string().optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + // Check if user is registered as a participant for this hackathon + const participant = await tx.query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (participant) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: + "You cannot apply to be a judge because you are registered as a participant for this hackathon.", + }); + } + + // Find existing judge profile or create one for this hackathon + let judge = await tx.query.judges.findFirst({ + where: and( + eq(judges.userId, ctx.userId), + eq(judges.hackathonId, input.hackathonId), + ), + }); + + if (judge) { + await tx + .update(judges) + .set({ + name: input.name, + email: input.email, + phone: input.phone, + company: input.company, + title: input.title, + specialty: input.specialty, + linkedinUrl: input.linkedinUrl, + githubUrl: input.githubUrl, + previousExperience: input.previousExperience, + dietaryRestrictions: input.dietaryRestrictions || [], + shirtSize: input.shirtSize, + whyJudge: input.whyJudge, + }) + .where(eq(judges.id, judge.id)); + } else { + const inserted = await tx + .insert(judges) + .values({ + userId: ctx.userId, + hackathonId: input.hackathonId, + name: input.name, + email: input.email, + phone: input.phone, + company: input.company, + title: input.title, + specialty: input.specialty, + linkedinUrl: input.linkedinUrl || null, + githubUrl: input.githubUrl || null, + previousExperience: input.previousExperience, + dietaryRestrictions: input.dietaryRestrictions || [], + shirtSize: input.shirtSize, + whyJudge: input.whyJudge, + isActive: false, // Must be approved by admin + }) + .returning(); + judge = inserted[0]; + } + + // Create the hackathon assignment request + if (!judge) + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: "Failed to create judge profile", + }); + + const existingAssignment = await tx.query.judgeAssignments.findFirst({ + where: and( + eq(judgeAssignments.judgeId, judge.id), + eq(judgeAssignments.hackathonId, input.hackathonId), + ), + }); + + if (existingAssignment) { + throw new TRPCError({ + code: "CONFLICT", + message: "You have already applied to judge this hackathon.", + }); + } + + await tx.insert(judgeAssignments).values({ + judgeId: judge.id, + hackathonId: input.hackathonId, + track: input.preferredTrack, + status: "pending", + }); + + return { success: true }; + }); + }), +}); diff --git a/packages/api/src/routers/judge/helpers.test.ts b/packages/api/src/routers/judge/helpers.test.ts new file mode 100644 index 00000000..03a7b1f7 --- /dev/null +++ b/packages/api/src/routers/judge/helpers.test.ts @@ -0,0 +1,83 @@ +import { describe, it, expect } from "vitest"; +import { + shuffleArray, + zNormalize, + buildCoverageQueues, +} from "./helpers"; + +describe("shuffleArray", () => { + it("preserves length and elements", () => { + const input = [1, 2, 3, 4, 5]; + const output = shuffleArray(input); + expect(output).toHaveLength(input.length); + expect(output.sort()).toEqual(input.sort()); + expect(input).toEqual([1, 2, 3, 4, 5]); + }); +}); + +describe("zNormalize", () => { + it("returns global mean when fewer than two scores", () => { + expect(zNormalize([8], 5, 2)).toEqual([5]); + expect(zNormalize([], 5, 2)).toEqual([]); + }); + + it("returns global mean when judge gave identical scores", () => { + expect(zNormalize([7, 7, 7], 5, 2)).toEqual([5, 5, 5]); + }); + + it("spreads scores around the global mean", () => { + const normalized = zNormalize([2, 5, 8], 5, 2); + expect(normalized[0]).toBeLessThan(5); + expect(normalized[1]).toBeCloseTo(5, 1); + expect(normalized[2]).toBeGreaterThan(5); + }); +}); + +describe("buildCoverageQueues", () => { + const projects = [ + { id: "p1", tracks: ["AI"], challenges: null, tableNumber: 1 }, + { id: "p2", tracks: ["AI"], challenges: null, tableNumber: 2 }, + { id: "p3", tracks: ["Web"], challenges: null, tableNumber: 3 }, + ]; + + it("assigns every project before doubling coverage", () => { + const judges = [ + { judgeId: "j1", track: "AI" }, + { judgeId: "j2", track: "AI" }, + ]; + const queues = buildCoverageQueues(judges, projects, new Set(["AI", "Web"]), { + minProjects: 1, + maxProjects: 3, + shuffle: false, + groupSpecial: true, + }); + + const assigned = new Set(); + for (const q of queues.values()) q.forEach((id) => assigned.add(id)); + expect(assigned.has("p1")).toBe(true); + expect(assigned.has("p2")).toBe(true); + }); + + it("respects maxProjects per judge", () => { + const judges = [{ judgeId: "j1", track: null }]; + const queues = buildCoverageQueues(judges, projects, new Set(["AI", "Web"]), { + minProjects: 1, + maxProjects: 2, + shuffle: false, + groupSpecial: true, + }); + expect(queues.get("j1")!.length).toBeLessThanOrEqual(2); + }); + + it("filters special-track judges to their track pool", () => { + const judges = [{ judgeId: "j-web", track: "Web" }]; + const queues = buildCoverageQueues(judges, projects, new Set(["AI", "Web"]), { + minProjects: 1, + maxProjects: 5, + shuffle: false, + groupSpecial: true, + }); + const queue = queues.get("j-web")!; + expect(queue.every((id) => id === "p3")).toBe(true); + }); +}); diff --git a/packages/api/src/routers/judge/helpers.ts b/packages/api/src/routers/judge/helpers.ts new file mode 100644 index 00000000..f83639dc --- /dev/null +++ b/packages/api/src/routers/judge/helpers.ts @@ -0,0 +1,140 @@ +import { randomInt } from "node:crypto"; + +// Shared judge scoring / queue utilities +export function shuffleArray(array: T[]): T[] { + const result = [...array]; + for (let i = result.length - 1; i > 0; i--) { + // CSPRNG so judging order cannot be predicted or reproduced by a team + // that knows when their project was queued. + const j = randomInt(0, i + 1); + const temp = result[i] as T; + result[i] = result[j] as T; + result[j] = temp; + } + return result; +} + +/** + * Z-score normalizes a judge's scores relative to their own mean/stddev. + * This removes per-judge harshness/leniency bias before aggregation. + * Returns null if fewer than 2 data points (can't compute meaningful stddev). + */ +export function zNormalize( + scores: number[], + globalMean: number, + globalStd: number, +): number[] { + if (scores.length < 2) return scores.map(() => globalMean); + const mean = scores.reduce((a, b) => a + b, 0) / scores.length; + const variance = + scores.reduce((s, v) => s + (v - mean) ** 2, 0) / scores.length; + const std = Math.sqrt(variance); + if (std === 0) return scores.map(() => globalMean); // judge gave same score to everything + return scores.map((v) => globalMean + ((v - mean) / std) * globalStd); +} + +/** + * Coverage-maximizing round-robin assignment. + * Guarantees every project is seen at least `minCoverage` times before + * any project gets an extra judge. Respects track constraints. + */ +export function buildCoverageQueues( + judgeAssignmentsList: { judgeId: string; track: string | null }[], + projects: { + id: string; + tracks: string[] | null; + challenges: string[] | null; + tableNumber: number; + }[], + mainTracks: Set, + opts: { + minProjects: number; + maxProjects: number; + shuffle: boolean; + groupSpecial: boolean; + }, +): Map { + const queues = new Map(); + for (const a of judgeAssignmentsList) queues.set(a.judgeId, []); + + // Coverage counter: projectId -> how many judges are assigned + const coverage = new Map(projects.map((p) => [p.id, 0])); + + // For each judge, determine their eligible project pool + const eligiblePool = new Map(); + for (const a of judgeAssignmentsList) { + const track = a.track; + const isSpecial = track ? !mainTracks.has(track) : false; + const pool = track + ? projects.filter((p) => { + const inTracks = p.tracks?.includes(track) ?? false; + const inChallenges = p.challenges?.includes(track) ?? false; + const matchCreateX = + track.toLowerCase() === "createx" && + !!(p as { isCreateX?: boolean }).isCreateX; + return inTracks || inChallenges || matchCreateX; + }) + : projects; + + if (isSpecial) { + // Special judges always get their full pool + const ordered = opts.groupSpecial ? pool : shuffleArray(pool); + queues.set( + a.judgeId, + ordered.map((p) => p.id), + ); + for (const p of ordered) + coverage.set(p.id, (coverage.get(p.id) ?? 0) + 1); + eligiblePool.set(a.judgeId, []); + } else { + eligiblePool.set(a.judgeId, opts.shuffle ? shuffleArray(pool) : pool); + } + } + + // Round-robin fill: prioritize under-covered projects + const mainJudges = judgeAssignmentsList.filter( + (a) => !a.track || mainTracks.has(a.track), + ); + + let anyChange = true; + while (anyChange) { + anyChange = false; + for (const a of mainJudges) { + const queue = queues.get(a.judgeId)!; + if (queue.length >= opts.maxProjects) continue; + const pool = eligiblePool.get(a.judgeId)!; + + // Find the next project with the lowest coverage that isn't already in this queue + const assigned = new Set(queue); + const candidate = pool + .filter((p) => !assigned.has(p.id)) + .sort( + (a, b) => (coverage.get(a.id) ?? 0) - (coverage.get(b.id) ?? 0), + )[0]; + + if (!candidate) continue; + if ( + queue.length >= opts.minProjects && + (coverage.get(candidate.id) ?? 0) > 0 + ) + continue; + + queue.push(candidate.id); + coverage.set(candidate.id, (coverage.get(candidate.id) ?? 0) + 1); + anyChange = true; + } + } + + // Shift/rotate the generated queues to stagger sequences and reduce judge bias + for (let i = 0; i < judgeAssignmentsList.length; i++) { + const judgeId = judgeAssignmentsList[i].judgeId; + const q = queues.get(judgeId); + if (q && q.length > 1) { + const offset = i % q.length; + const rotated = [...q.slice(offset), ...q.slice(0, offset)]; + queues.set(judgeId, rotated); + } + } + + return queues; +} \ No newline at end of file diff --git a/packages/api/src/routers/judge/index.ts b/packages/api/src/routers/judge/index.ts new file mode 100644 index 00000000..674634b0 --- /dev/null +++ b/packages/api/src/routers/judge/index.ts @@ -0,0 +1,10 @@ +import { mergeRouters } from "../../trpc"; +import { judgePortalRouter } from "./portal"; +import { judgeRankingsRouter } from "./rankings"; +import { judgeAdminRouter } from "./admin"; + +export const judgeRouter = mergeRouters( + judgePortalRouter, + judgeRankingsRouter, + judgeAdminRouter, +); diff --git a/packages/api/src/routers/judge/portal.ts b/packages/api/src/routers/judge/portal.ts new file mode 100644 index 00000000..9bef589c --- /dev/null +++ b/packages/api/src/routers/judge/portal.ts @@ -0,0 +1,559 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, protectedProcedure } from "../../trpc"; +import { + judges, + judgeAssignments, + judgeVotes, + judgingProjects, + judgeQueue, + hackathonMaps, + hackathons, +} from "@query/db"; +import { eq, and, asc, sql } from "drizzle-orm"; +import { CacheKeys } from "../../middleware/cache"; +import { isAdmin, isJudge } from "../../middleware/procedures"; +import type { DrizzleDB } from "@query/db"; + +export const judgePortalRouter = createTRPCRouter({ + isJudge: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .query(async ({ ctx, input }) => { + let hackathonId = input?.hackathonId; + if (!hackathonId) { + const latest = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + orderBy: (h, { desc }) => [desc(h.startDate)], + columns: { id: true }, + }); + hackathonId = latest?.id; + } + + if (!hackathonId) { + return { + isJudge: false, + judgeId: null, + name: null, + }; + } + + const cacheKey = `${CacheKeys.judge(ctx.userId as string)}:${hackathonId}`; + const cached = ctx.cache.get<{ + isJudge: boolean; + judgeId: string | null; + name: string | null; + }>(cacheKey); + if (cached) return cached; + + const judge = await (ctx.db as DrizzleDB).query.judges.findFirst({ + where: and( + eq(judges.userId, ctx.userId as string), + eq(judges.hackathonId, hackathonId), + eq(judges.isActive, true), + ), + }); + + const result = { + isJudge: !!judge, + judgeId: judge?.id || null, + name: judge?.name || null, + }; + ctx.cache.set(cacheKey, result, 60); + + return result; + }), + + getMyAssignments: isJudge.query(async ({ ctx }) => { + const assignments = await ( + ctx.db as DrizzleDB + ).query.judgeAssignments.findMany({ + where: eq(judgeAssignments.judgeId, ctx.judge.id), + with: { + hackathon: true, + }, + orderBy: (assignments, { desc }) => [desc(assignments.assignedAt)], + }); + + return assignments; + }), + + getNextTable: isJudge + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + try { + const nextInQueue = await ( + ctx.db as DrizzleDB + ).query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, input.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + with: { + project: true, + }, + orderBy: [asc(judgeQueue.order)], + }); + + if (!nextInQueue) { + return { done: true, project: null, remaining: 0 }; + } + + const remainingCount = await (ctx.db as DrizzleDB) + .select({ count: sql`count(*)` }) + .from(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, input.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + ); + + return { + done: false, + project: nextInQueue.project, + queueId: nextInQueue.id, + remaining: Number(remainingCount[0]?.count || 0), + }; + } catch (error) { + // getNextTable error + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: + error instanceof Error + ? error.message + : "Failed to fetch next project", + }); + } + }), + + getProjects: isJudge + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const projects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + orderBy: [asc(judgingProjects.tableNumber)], + }); + + const myVotes = await (ctx.db as DrizzleDB).query.judgeVotes.findMany({ + where: eq(judgeVotes.judgeId, ctx.judge.id), + }); + + const votesMap = new Map(myVotes.map((v) => [v.projectId, v])); + + return projects.map((p) => ({ + ...p, + myVote: votesMap.get(p.id) || null, + hasVoted: votesMap.has(p.id), + })); + }), + + getMaps: isJudge + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const maps = await (ctx.db as DrizzleDB).query.hackathonMaps.findMany({ + where: eq(hackathonMaps.hackathonId, input.hackathonId), + orderBy: [asc(hackathonMaps.order)], + }); + + return maps; + }), + + getJudgingStatus: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + columns: { judgingActive: true }, + }); + return { active: hackathon?.judgingActive ?? false }; + }), + + toggleJudging: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + active: z.boolean(), + }), + ) + .mutation(async ({ ctx, input }) => { + const [updated] = await (ctx.db as DrizzleDB) + .update(hackathons) + .set({ judgingActive: input.active, updatedAt: new Date() }) + .where(eq(hackathons.id, input.hackathonId)) + .returning(); + return { success: true, judgingActive: updated?.judgingActive }; + }), + + submitVote: isJudge + .input( + z.object({ + projectId: z.string().uuid(), + scoreCreativity: z.number().min(1).max(10), + scoreImpact: z.number().min(1).max(10), + scoreScope: z.number().min(1).max(10), + scoreClarity: z.number().min(1).max(10), + scoreSoundness: z.number().min(1).max(10), + durationSeconds: z.number().int().min(0).optional(), + comment: z.string().max(1000).optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const totalScore = + input.scoreCreativity + + input.scoreImpact + + input.scoreScope + + input.scoreClarity + + input.scoreSoundness; + + // Atomic upsert: INSERT or UPDATE if judge already voted on this project + const result = await (ctx.db as DrizzleDB) + .insert(judgeVotes) + .values({ + judgeId: ctx.judge.id, + projectId: input.projectId, + score: totalScore, + scoreCreativity: input.scoreCreativity, + scoreImpact: input.scoreImpact, + scoreScope: input.scoreScope, + scoreClarity: input.scoreClarity, + scoreSoundness: input.scoreSoundness, + durationSeconds: input.durationSeconds, + comment: input.comment, + }) + .onConflictDoUpdate({ + target: [judgeVotes.judgeId, judgeVotes.projectId], + set: { + score: sql`excluded.score`, + scoreCreativity: sql`excluded.score_creativity`, + scoreImpact: sql`excluded.score_impact`, + scoreScope: sql`excluded.score_scope`, + scoreClarity: sql`excluded.score_clarity`, + scoreSoundness: sql`excluded.score_soundness`, + durationSeconds: sql`excluded.duration_seconds`, + comment: sql`excluded.comment`, + updatedAt: new Date(), + }, + }) + .returning(); + + return result[0]; + }), + + completeAndNext: isJudge + .input( + z.object({ + queueId: z.string().uuid(), + projectId: z.string().uuid(), + scoreCreativity: z.number().min(1).max(10), + scoreImpact: z.number().min(1).max(10), + scoreScope: z.number().min(1).max(10), + scoreClarity: z.number().min(1).max(10), + scoreSoundness: z.number().min(1).max(10), + durationSeconds: z.number().int().min(0).optional(), + comment: z.string().max(1000).optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const totalScore = + input.scoreCreativity + + input.scoreImpact + + input.scoreScope + + input.scoreClarity + + input.scoreSoundness; + + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + // 1. Atomic upsert vote + await tx + .insert(judgeVotes) + .values({ + judgeId: ctx.judge.id, + projectId: input.projectId, + score: totalScore, + scoreCreativity: input.scoreCreativity, + scoreImpact: input.scoreImpact, + scoreScope: input.scoreScope, + scoreClarity: input.scoreClarity, + scoreSoundness: input.scoreSoundness, + durationSeconds: input.durationSeconds, + comment: input.comment, + }) + .onConflictDoUpdate({ + target: [judgeVotes.judgeId, judgeVotes.projectId], + set: { + score: sql`excluded.score`, + scoreCreativity: sql`excluded.score_creativity`, + scoreImpact: sql`excluded.score_impact`, + scoreScope: sql`excluded.score_scope`, + scoreClarity: sql`excluded.score_clarity`, + scoreSoundness: sql`excluded.score_soundness`, + durationSeconds: sql`excluded.duration_seconds`, + comment: sql`excluded.comment`, + updatedAt: new Date(), + }, + }); + + // 2. Mark queue item as completed + await tx + .update(judgeQueue) + .set({ + isCompleted: true, + completedAt: new Date(), + }) + .where(eq(judgeQueue.id, input.queueId)); + + // 3. Get hackathonId from queue item + const queueItem = await tx.query.judgeQueue.findFirst({ + where: eq(judgeQueue.id, input.queueId), + }); + + if (!queueItem) { + return { done: true, nextProject: null }; + } + + // 4. Get next uncompleted queue item + const nextInQueue = await tx.query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, queueItem.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + with: { + project: true, + }, + orderBy: [asc(judgeQueue.order)], + }); + + if (!nextInQueue) { + return { done: true, nextProject: null }; + } + + return { + done: false, + nextProject: nextInQueue.project, + nextQueueId: nextInQueue.id, + }; + }); + }), + + skipProject: isJudge + .input( + z.object({ + queueId: z.string().uuid(), + }), + ) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + // Get the queue item to find the hackathon + const queueItem = await tx.query.judgeQueue.findFirst({ + where: eq(judgeQueue.id, input.queueId), + }); + + if (!queueItem) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Queue item not found", + }); + } + + // Atomically move this item to the end of the queue using a subquery + await tx + .update(judgeQueue) + .set({ + order: sql`(SELECT COALESCE(MAX(${judgeQueue.order}), 0) + 1 FROM ${judgeQueue} WHERE ${judgeQueue.judgeId} = ${ctx.judge.id} AND ${judgeQueue.hackathonId} = ${queueItem.hackathonId})`, + }) + .where(eq(judgeQueue.id, input.queueId)); + + // Get the next uncompleted item + const nextInQueue = await tx.query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, queueItem.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + with: { + project: true, + }, + orderBy: [asc(judgeQueue.order)], + }); + + if (!nextInQueue || nextInQueue.id === input.queueId) { + // Only this one project left — can't skip the last one + return { + done: false, + skippedToEnd: true, + project: queueItem, + queueId: input.queueId, + }; + } + + return { + done: false, + skippedToEnd: false, + project: nextInQueue.project, + queueId: nextInQueue.id, + }; + }); + }), + + forceSkipOvertime: isJudge + .input(z.object({ queueId: z.string().uuid() })) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + const queueItem = await tx.query.judgeQueue.findFirst({ + where: eq(judgeQueue.id, input.queueId), + with: { project: true }, + }); + if (!queueItem) + throw new TRPCError({ + code: "NOT_FOUND", + message: "Queue item not found", + }); + + // Mark completed (no vote submitted) + await tx + .update(judgeQueue) + .set({ isCompleted: true, completedAt: new Date() }) + .where(eq(judgeQueue.id, input.queueId)); + + // Try to reassign to another judge with the same track + const myAssignment = await tx.query.judgeAssignments.findFirst({ + where: eq(judgeAssignments.judgeId, ctx.judge.id), + }); + + if (myAssignment?.hackathonId) { + // Find other judges assigned to the same hackathon + const otherAssignments = await tx.query.judgeAssignments.findMany({ + where: and( + eq(judgeAssignments.hackathonId, myAssignment.hackathonId), + ), + }); + + // Get the project's tracks for matching + const projectTracks = queueItem.project?.tracks || []; + + // Build candidate list with workload info + const candidates: { + judgeId: string; + trackMatch: boolean; + remaining: number; + }[] = []; + + for (const other of otherAssignments) { + if (other.judgeId === ctx.judge.id) continue; + + // Check if already has this project + const alreadyQueued = await tx.query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, other.judgeId), + eq(judgeQueue.projectId, queueItem.projectId), + ), + }); + if (alreadyQueued) continue; + + // Count remaining (uncompleted) projects for workload balancing + const remainingCount = await tx + .select({ count: sql`COUNT(*)` }) + .from(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, other.judgeId), + eq(judgeQueue.hackathonId, myAssignment.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + ); + + // Check track match: judge's assigned track overlaps with project's tracks + const trackMatch = other.track + ? projectTracks.includes(other.track) + : false; + + candidates.push({ + judgeId: other.judgeId, + trackMatch, + remaining: remainingCount[0]?.count ?? 0, + }); + } + + // Sort: same-track first, then by fewest remaining projects (lightest load) + candidates.sort((a, b) => { + if (a.trackMatch !== b.trackMatch) return a.trackMatch ? -1 : 1; + return a.remaining - b.remaining; + }); + + const best = candidates[0]; + if (best) { + // Atomic order assignment via SQL subquery + await tx.insert(judgeQueue).values({ + judgeId: best.judgeId, + hackathonId: myAssignment.hackathonId, + projectId: queueItem.projectId, + order: sql`(SELECT COALESCE(MAX(${judgeQueue.order}), 0) + 1 FROM ${judgeQueue} WHERE ${judgeQueue.judgeId} = ${best.judgeId} AND ${judgeQueue.hackathonId} = ${myAssignment.hackathonId})`, + }); + } + } + + // Get next project for this judge + const nextInQueue = await tx.query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, queueItem.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + with: { project: true }, + orderBy: [asc(judgeQueue.order)], + }); + + return { + done: !nextInQueue, + project: nextInQueue?.project ?? null, + queueId: nextInQueue?.id ?? null, + }; + }); + }), + + getProgress: isJudge + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + try { + const totalResult = await (ctx.db as DrizzleDB) + .select({ count: sql`count(*)` }) + .from(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, input.hackathonId), + ), + ); + + const completedResult = await (ctx.db as DrizzleDB) + .select({ count: sql`count(*)` }) + .from(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, input.hackathonId), + eq(judgeQueue.isCompleted, true), + ), + ); + + const total = Number(totalResult[0]?.count || 0); + const completed = Number(completedResult[0]?.count || 0); + + return { + total, + completed, + percentage: total > 0 ? Math.round((completed / total) * 100) : 0, + }; + } catch (error) { + // getProgress error + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: + error instanceof Error ? error.message : "Failed to fetch progress", + }); + } + }), +}); diff --git a/packages/api/src/routers/judge/rankings.ts b/packages/api/src/routers/judge/rankings.ts new file mode 100644 index 00000000..784c27d7 --- /dev/null +++ b/packages/api/src/routers/judge/rankings.ts @@ -0,0 +1,328 @@ +import { z } from "zod"; +import { createTRPCRouter } from "../../trpc"; +import { + judgingProjects, +} from "@query/db"; +import { eq } from "drizzle-orm"; +import { isAdmin } from "../../middleware/procedures"; +import type { DrizzleDB } from "@query/db"; +import { zNormalize } from "./helpers"; + +export const judgeRankingsRouter = createTRPCRouter({ + getRankings: isAdmin + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:rankings`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const projects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + with: { + votes: { + with: { + judge: { + with: { + user: { + columns: { name: true, email: true }, + }, + }, + }, + }, + }, + }, + }); + + const round2 = (n: number) => Math.round(n * 100) / 100; + + // ─── Step 1: Collect all raw scores grouped by judge ────────────────── + // We need per-judge score distributions to perform Z-score normalization, + // which eliminates the "harsh judge / lenient judge" bias problem. + type VoteWithJudge = (typeof projects)[number]["votes"][number]; + const scoresByJudge = new Map(); + for (const project of projects) { + for (const v of project.votes) { + const existing = scoresByJudge.get(v.judgeId) ?? []; + existing.push(v.score); + scoresByJudge.set(v.judgeId, existing); + } + } + + // ─── Step 2: Compute global score distribution ───────────────────────── + const allRawScores = [...scoresByJudge.values()].flat(); + const globalMean = + allRawScores.length > 0 + ? allRawScores.reduce((a, b) => a + b, 0) / allRawScores.length + : 0; + const globalVariance = + allRawScores.length > 0 + ? allRawScores.reduce((s, v) => s + (v - globalMean) ** 2, 0) / + allRawScores.length + : 1; + const globalStd = Math.sqrt(globalVariance) || 1; + + // ─── Step 3: Build per-judge normalized score lookup ────────────────── + // For each judge, map their raw score index to a Z-normalized score. + const normalizedScoreLookup = new Map>(); + for (const [judgeId, rawScores] of scoresByJudge.entries()) { + const normalized = zNormalize(rawScores, globalMean, globalStd); + // Map raw score value -> normalized value (index-based, preserves order) + const lookup = new Map(); + rawScores.forEach((raw, i) => { + // If same raw score appears multiple times, average the normalized values + const existing = lookup.get(raw); + lookup.set( + raw, + existing !== undefined + ? (existing + normalized[i]!) / 2 + : normalized[i]!, + ); + }); + normalizedScoreLookup.set(judgeId, lookup); + } + + const getNormalized = (judgeId: string, rawScore: number): number => { + const lookup = normalizedScoreLookup.get(judgeId); + return lookup?.get(rawScore) ?? rawScore; + }; + + // ─── Step 4: Build raw + normalized stats per project ───────────────── + const C = 2; // Bayesian confidence weight + + const rawRankings = projects.map((project) => { + const voteCount = project.votes.length; + + // Raw scores (unadjusted) + const totalScore = project.votes.reduce((sum, v) => sum + v.score, 0); + const avgScore = voteCount > 0 ? totalScore / voteCount : 0; + + // Z-score normalized scores (bias-corrected) + const normalizedScores = project.votes.map((v) => + getNormalized(v.judgeId, v.score), + ); + const normalizedAvg = + voteCount > 0 + ? round2(normalizedScores.reduce((a, b) => a + b, 0) / voteCount) + : 0; + + // Per-category averages (raw) + const sumCat = { + creativity: 0, + impact: 0, + scope: 0, + clarity: 0, + soundness: 0, + }; + project.votes.forEach((v) => { + sumCat.creativity += v.scoreCreativity ?? 0; + sumCat.impact += v.scoreImpact ?? 0; + sumCat.scope += v.scoreScope ?? 0; + sumCat.clarity += v.scoreClarity ?? 0; + sumCat.soundness += v.scoreSoundness ?? 0; + }); + + const categoryAvg = + voteCount > 0 + ? { + creativity: round2(sumCat.creativity / voteCount), + impact: round2(sumCat.impact / voteCount), + scope: round2(sumCat.scope / voteCount), + clarity: round2(sumCat.clarity / voteCount), + soundness: round2(sumCat.soundness / voteCount), + } + : { creativity: 0, impact: 0, scope: 0, clarity: 0, soundness: 0 }; + + return { + project: { + id: project.id, + name: project.name, + tableNumber: project.tableNumber, + zone: project.zone, + category: project.category, + teamMembers: project.teamMembers, + tracks: project.tracks, + challenges: project.challenges, + isCreateX: project.isCreateX, + }, + totalScore, + voteCount, + avgScore: round2(avgScore), + normalizedAvg, + categoryAvg, + votes: project.votes.map((v, i) => ({ + score: v.score, + normalizedScore: round2(normalizedScores[i] ?? v.score), + scoreCreativity: v.scoreCreativity, + scoreImpact: v.scoreImpact, + scoreScope: v.scoreScope, + scoreClarity: v.scoreClarity, + scoreSoundness: v.scoreSoundness, + comment: v.comment, + durationSeconds: v.durationSeconds, + judgeName: + ( + v as VoteWithJudge & { + judge: { + user?: { name?: string | null }; + name?: string | null; + }; + } + ).judge.user?.name || + ( + v as VoteWithJudge & { + judge: { + user?: { name?: string | null }; + name?: string | null; + }; + } + ).judge.name || + "Unknown", + })), + }; + }); + + // ─── Step 5: Compute global normalized average for Bayesian prior ────── + const votedProjects = rawRankings.filter((r) => r.voteCount > 0); + const globalAvg = + votedProjects.length > 0 + ? round2( + votedProjects.reduce((sum, r) => sum + r.normalizedAvg, 0) / + votedProjects.length, + ) + : 0; + + // ─── Step 6: Bayesian + Z-score combined final score ────────────────── + // weightedScore blends normalized avg toward the global mean when few judges voted. + const rankings = rawRankings.map((r) => { + const n = r.voteCount; + const weightedScore = + n > 0 + ? round2( + (n / (n + C)) * r.normalizedAvg + (C / (n + C)) * globalAvg, + ) + : 0; + const confidenceLevel: "NONE" | "LOW" | "MEDIUM" | "HIGH" = + n === 0 ? "NONE" : n === 1 ? "LOW" : n === 2 ? "MEDIUM" : "HIGH"; + const scoreShift = round2(r.normalizedAvg - r.avgScore); // how much bias-correction shifted this project + + return { ...r, weightedScore, confidenceLevel, scoreShift }; + }); + + // Sort by weighted score desc + rankings.sort((a, b) => b.weightedScore - a.weightedScore); + + // Weighted-score ties + const ties: { + score: number; + projects: { + id: string; + name: string; + tableNumber: number; + zone: string | null; + }[]; + }[] = []; + const scoreGroups = new Map(); + + rankings.forEach((r) => { + const existing = scoreGroups.get(r.weightedScore); + if (existing) { + existing.push(r); + } else { + scoreGroups.set(r.weightedScore, [r]); + } + }); + + scoreGroups.forEach((group, score) => { + if (group.length > 1) { + ties.push({ + score, + projects: group.map((g) => ({ + id: g.project.id, + name: g.project.name, + tableNumber: g.project.tableNumber, + zone: g.project.zone ?? null, + })), + }); + } + }); + + // Per-category ties (only among projects with votes) + const categoryNames = [ + "creativity", + "impact", + "scope", + "clarity", + "soundness", + ] as const; + const categoryLabels: Record<(typeof categoryNames)[number], string> = { + creativity: "Creativity", + impact: "Impact", + scope: "Scope", + clarity: "Clarity", + soundness: "Soundness", + }; + + const categoryTies: { + category: string; + avgScore: number; + projects: { + id: string; + name: string; + tableNumber: number; + zone: string | null; + }[]; + }[] = []; + + for (const cat of categoryNames) { + const catGroups = new Map< + number, + { + id: string; + name: string; + tableNumber: number; + zone: string | null; + }[] + >(); + rankings.forEach((r) => { + if (r.voteCount === 0) return; + const avg = r.categoryAvg[cat]; + const existing = catGroups.get(avg); + const projectInfo = { + id: r.project.id, + name: r.project.name, + tableNumber: r.project.tableNumber, + zone: r.project.zone ?? null, + }; + if (existing) { + existing.push(projectInfo); + } else { + catGroups.set(avg, [projectInfo]); + } + }); + catGroups.forEach((group, avg) => { + if (group.length > 1) { + categoryTies.push({ + category: categoryLabels[cat], + avgScore: avg, + projects: group, + }); + } + }); + } + + const result = { + rankings, + globalAvg, + ties, + hasTies: ties.length > 0, + categoryTies, + hasCategoryTies: categoryTies.length > 0, + }; + + ctx.cache.set(cacheKey, result, 30); // 30 second cache for live rankings + + return result; + }), +}); diff --git a/packages/api/src/routers/member.ts b/packages/api/src/routers/member.ts index b20bf42a..f383bd57 100644 --- a/packages/api/src/routers/member.ts +++ b/packages/api/src/routers/member.ts @@ -4,29 +4,55 @@ import { createTRPCRouter, protectedProcedure, publicProcedure } from "../trpc"; import { members, membershipHistory } from "@query/db"; import { eq, and } from "drizzle-orm"; import type { DrizzleDB } from "@query/db"; +import { invalidatePortalContext } from "../middleware/cache"; -const nameSchema = z.string().min(1).max(100).regex(/^[a-zA-Z\s'-]+$/, "Invalid name format"); +const nameSchema = z + .string() + .min(1) + .max(100) + .regex(/^[a-zA-Z\s'-]+$/, "Invalid name format"); const urlSchema = z.string().url().max(500).optional(); -const phoneSchema = z.string().regex(/^\+?[1-9]\d{1,14}$/, "Invalid phone number").optional(); +const phoneSchema = z + .string() + .regex(/^\+?[1-9]\d{1,14}$/, "Invalid phone number") + .optional(); + +async function getHackathonId(db: DrizzleDB, inputId?: string) { + if (inputId) return inputId; + const latest = await db.query.hackathons.findFirst({ + orderBy: (h, { desc }) => [desc(h.startDate)], + columns: { id: true }, + }); + return latest?.id; +} export const memberRouter = createTRPCRouter({ - me: protectedProcedure.query(async ({ ctx }) => { - const cacheKey = `member:me:${ctx.userId}`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; + me: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .query(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input?.hackathonId); + if (!hackathonId) return null; - const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), - }); + const cacheKey = `member:me:${ctx.userId}:${hackathonId}`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; - const result = member ?? null; - ctx.cache.set(cacheKey, result, 60); - return result; - }), + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), + }); + + const result = member ?? null; + ctx.cache.set(cacheKey, result, 60); + return result; + }), register: protectedProcedure .input( z.object({ + hackathonId: z.string().uuid().optional(), firstName: nameSchema, lastName: nameSchema, phoneNumber: phoneSchema, @@ -38,17 +64,30 @@ export const memberRouter = createTRPCRouter({ linkedinUrl: urlSchema, githubUrl: urlSchema, portfolioUrl: urlSchema, - }) + }), ) .mutation(async ({ ctx, input }) => { - const existingMember = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input.hackathonId); + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for registration", + }); + } + + const existingMember = await ( + ctx.db as DrizzleDB + ).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), }); if (existingMember) { throw new TRPCError({ code: "BAD_REQUEST", - message: "You are already a member", + message: "You are already a member for this hackathon", }); } @@ -60,6 +99,7 @@ export const memberRouter = createTRPCRouter({ .insert(members) .values({ userId: ctx.userId!, + hackathonId, memberType: "new", firstName: input.firstName, lastName: input.lastName, @@ -93,58 +133,74 @@ export const memberRouter = createTRPCRouter({ endDate: membershipEndDate, }); + invalidatePortalContext(ctx.userId!); + return newMember; }), - renew: protectedProcedure.mutation(async ({ ctx }) => { - const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), - }); + renew: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .mutation(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input?.hackathonId); + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for renewal", + }); + } - if (!member) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Member not found", - }); - } - - const newEndDate = new Date(member.membershipEndDate || new Date()); - newEndDate.setFullYear(newEndDate.getFullYear() + 1); - - const result = await (ctx.db as DrizzleDB) - .update(members) - .set({ - memberType: "continuous", - membershipEndDate: newEndDate, - renewalCount: member.renewalCount + 1, - isActive: true, - updatedAt: new Date(), - }) - .where(eq(members.id, member.id)) - .returning(); - - const updatedMember = result[0]; - - if (!updatedMember) { - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: "Failed to renew membership", + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), }); - } - await (ctx.db as DrizzleDB).insert(membershipHistory).values({ - memberId: member.id, - action: "renewed", - startDate: member.membershipEndDate || new Date(), - endDate: newEndDate, - }); + if (!member) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Member not found for this hackathon", + }); + } + + const newEndDate = new Date(member.membershipEndDate || new Date()); + newEndDate.setFullYear(newEndDate.getFullYear() + 1); - return updatedMember; - }), + const result = await (ctx.db as DrizzleDB) + .update(members) + .set({ + memberType: "continuous", + membershipEndDate: newEndDate, + renewalCount: member.renewalCount + 1, + isActive: true, + updatedAt: new Date(), + }) + .where(eq(members.id, member.id)) + .returning(); + + const updatedMember = result[0]; + + if (!updatedMember) { + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: "Failed to renew membership", + }); + } + + await (ctx.db as DrizzleDB).insert(membershipHistory).values({ + memberId: member.id, + action: "renewed", + startDate: member.membershipEndDate || new Date(), + endDate: newEndDate, + }); + + return updatedMember; + }), update: protectedProcedure .input( z.object({ + hackathonId: z.string().uuid().optional(), firstName: nameSchema.optional(), lastName: nameSchema.optional(), phoneNumber: phoneSchema, @@ -156,24 +212,38 @@ export const memberRouter = createTRPCRouter({ linkedinUrl: urlSchema, githubUrl: urlSchema, portfolioUrl: urlSchema, - }) + }), ) .mutation(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input.hackathonId); + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for update", + }); + } + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), }); if (!member) { throw new TRPCError({ code: "NOT_FOUND", - message: "Member not found", + message: "Member not found for this hackathon", }); } + // Exclude hackathonId from update fields + const { hackathonId: _, ...updateFields } = input; + const result = await (ctx.db as DrizzleDB) .update(members) .set({ - ...input, + ...updateFields, updatedAt: new Date(), }) .where(eq(members.id, member.id)) @@ -194,20 +264,25 @@ export const memberRouter = createTRPCRouter({ list: publicProcedure .input( z.object({ + hackathonId: z.string().uuid().optional(), memberType: z.enum(["new", "continuous"]).optional(), limit: z.number().int().min(1).max(100).default(50), offset: z.number().int().min(0).max(10000).default(0), - }) + }), ) .query(async ({ ctx, input }) => { - const cacheKey = `members:list:${input.memberType || 'all'}:${input.limit}:${input.offset}`; + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input.hackathonId); + const cacheKey = `members:list:${hackathonId || "all"}:${input.memberType || "all"}:${input.limit}:${input.offset}`; const cached = ctx.cache.get(cacheKey); if (cached) return cached; const allMembers = await (ctx.db as DrizzleDB).query.members.findMany({ where: and( eq(members.isActive, true), - input.memberType ? eq(members.memberType, input.memberType) : undefined + hackathonId ? eq(members.hackathonId, hackathonId) : undefined, + input.memberType + ? eq(members.memberType, input.memberType) + : undefined, ), limit: input.limit, offset: input.offset, @@ -277,75 +352,106 @@ export const memberRouter = createTRPCRouter({ return member; }), - history: protectedProcedure.query(async ({ ctx }) => { - // Single joined query instead of member lookup + history lookup - const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), - columns: { id: true }, - with: { - membershipHistory: { - orderBy: (h, { desc }) => [desc(h.createdAt)], - limit: 50, + history: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .query(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input?.hackathonId); + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for history lookup", + }); + } + + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), + columns: { id: true }, + with: { + membershipHistory: { + orderBy: (h, { desc }) => [desc(h.createdAt)], + limit: 50, + }, }, - }, - }); - - if (!member) { - throw new TRPCError({ code: "NOT_FOUND", message: "Member not found" }); - } - - return member.membershipHistory; - }), - - checkStatus: protectedProcedure.query(async ({ ctx }) => { - const cacheKey = `member:status:${ctx.userId}`; - const cached = ctx.cache.get<{ - isMember: boolean; - isActive: boolean | null; - expiresAt: Date | null; - daysRemaining: number | null; - memberType: string | null; - renewalCount: number; - }>(cacheKey); - if (cached) return cached; - - const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), - }); - - if (!member) { + }); + + if (!member) { + throw new TRPCError({ code: "NOT_FOUND", message: "Member not found for this hackathon" }); + } + + return member.membershipHistory; + }), + + checkStatus: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .query(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input?.hackathonId); + if (!hackathonId) { + return { + isMember: false, + isActive: false, + expiresAt: null, + daysRemaining: null, + memberType: null, + renewalCount: 0, + }; + } + + const cacheKey = `member:status:${ctx.userId}:${hackathonId}`; + const cached = ctx.cache.get<{ + isMember: boolean; + isActive: boolean | null; + expiresAt: Date | null; + daysRemaining: number | null; + memberType: string | null; + renewalCount: number; + }>(cacheKey); + if (cached) return cached; + + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), + }); + + if (!member) { + const result = { + isMember: false, + isActive: false, + expiresAt: null, + daysRemaining: null, + memberType: null, + renewalCount: 0, + }; + ctx.cache.set(cacheKey, result, 30); + return result; + } + + const now = new Date(); + const expiresAt = member.membershipEndDate; + const isActive = member.isActive && expiresAt && expiresAt > now; + + let daysRemaining: number | null = null; + if (expiresAt) { + daysRemaining = Math.ceil( + (expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24), + ); + } + const result = { - isMember: false, - isActive: false, - expiresAt: null, - daysRemaining: null, - memberType: null, - renewalCount: 0, + isMember: true, + isActive, + memberType: member.memberType, + expiresAt, + daysRemaining, + renewalCount: member.renewalCount, }; + ctx.cache.set(cacheKey, result, 30); + return result; - } - - const now = new Date(); - const expiresAt = member.membershipEndDate; - const isActive = member.isActive && expiresAt && expiresAt > now; - - let daysRemaining: number | null = null; - if (expiresAt) { - daysRemaining = Math.ceil((expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24)); - } - - const result = { - isMember: true, - isActive, - memberType: member.memberType, - expiresAt, - daysRemaining, - renewalCount: member.renewalCount, - }; - - ctx.cache.set(cacheKey, result, 30); - - return result; - }), -}); \ No newline at end of file + }), +}); diff --git a/packages/api/src/routers/settings.ts b/packages/api/src/routers/settings.ts deleted file mode 100644 index 0325afa3..00000000 --- a/packages/api/src/routers/settings.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { z } from "zod"; -import { createTRPCRouter, publicProcedure } from "../trpc"; -import { systemSettings } from "@query/db"; -import { eq } from "drizzle-orm"; -import { isSuperAdmin } from "../middleware/procedures"; -import type { DrizzleDB } from "@query/db"; - -export const settingsRouter = createTRPCRouter({ - get: publicProcedure.query(async ({ ctx }) => { - // If not using db yet, safely return default - if (!ctx.db) { - return { - systemName: 'DSGT Query Engine', - maintenanceMode: false, - requireEmailVerification: true, - maxEventCapacity: 500, - allowPublicRegistration: true, - }; - } - - let settings = await (ctx.db as DrizzleDB).query.systemSettings.findFirst({ - where: eq(systemSettings.id, "default"), - }); - - if (!settings) { - // Create defaults if they don't exist - const inserted = await (ctx.db as DrizzleDB) - .insert(systemSettings) - .values({ - id: "default", - systemName: 'DSGT Query Engine', - maintenanceMode: false, - requireEmailVerification: true, - maxEventCapacity: 500, - allowPublicRegistration: true, - }) - .returning(); - settings = inserted[0]; - } - - return settings; - }), - - update: isSuperAdmin - .input( - z.object({ - systemName: z.string().min(1).optional(), - maintenanceMode: z.boolean().optional(), - requireEmailVerification: z.boolean().optional(), - maxEventCapacity: z.number().int().min(1).optional(), - allowPublicRegistration: z.boolean().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const result = await (ctx.db as DrizzleDB) - .update(systemSettings) - .set({ - ...input, - updatedAt: new Date(), - }) - .where(eq(systemSettings.id, "default")) - .returning(); - - if (!result.length) { - // If row doesn't exist yet, insert with input overwriting defaults - const inserted = await (ctx.db as DrizzleDB) - .insert(systemSettings) - .values({ - id: "default", - ...input, - }) - .returning(); - return inserted[0]; - } - - return result[0]; - }), -}); diff --git a/packages/api/src/routers/stripe.ts b/packages/api/src/routers/stripe.ts index c9c3aed8..7db512f8 100644 --- a/packages/api/src/routers/stripe.ts +++ b/packages/api/src/routers/stripe.ts @@ -1,13 +1,36 @@ import { z } from "zod"; import { TRPCError } from "@trpc/server"; import { createTRPCRouter, protectedProcedure } from "../trpc"; -import { stripePayments, userAccountLinks, members } from "@query/db"; +import { stripePayments, userAccountLinks, members, hackathons } from "@query/db"; import type { DrizzleDB } from "@query/db"; -import { eq, and, isNull } from "drizzle-orm"; +import { eq, and, isNull, desc } from "drizzle-orm"; import { logSecurityEvent } from "../middleware/security"; -import Stripe from "stripe"; +import { invalidatePortalContext } from "../middleware/cache"; +import type Stripe from "stripe"; +import crypto from "crypto"; + +let stripeClient: Stripe | null | undefined; + +async function getStripe(): Promise { + if (stripeClient !== undefined) return stripeClient; + const key = process.env.STRIPE_SECRET_KEY; + if (!key) { + stripeClient = null; + return stripeClient; + } + const { default: StripeSDK } = await import("stripe"); + stripeClient = new StripeSDK(key); + return stripeClient; +} -const stripe = process.env.STRIPE_SECRET_KEY ? new Stripe(process.env.STRIPE_SECRET_KEY) : null; +function clearMembershipCaches( + cache: { delete: (key: string) => boolean; deletePattern: (pattern: string) => number }, + userId: string, +) { + cache.delete(`member:${userId}`); + cache.deletePattern(`member:status:${userId}*`); + invalidatePortalContext(userId); +} export const stripeRouter = createTRPCRouter({ /** @@ -16,10 +39,14 @@ export const stripeRouter = createTRPCRouter({ createCheckoutSession: protectedProcedure .input(z.object({ returnUrl: z.string().url() })) .mutation(async ({ ctx, input }) => { - if (!stripe) { + // Check key presence up front — cheap, and keeps the original error + // precedence without paying for the Stripe SDK import. + const stripeKey = process.env.STRIPE_SECRET_KEY; + if (!stripeKey) { throw new TRPCError({ code: "SERVICE_UNAVAILABLE", - message: "Payment service is currently unavailable. Please try again later.", + message: + "Payment service is currently unavailable. Please try again later.", }); } @@ -34,6 +61,53 @@ export const stripeRouter = createTRPCRouter({ }); } + // Mock mode short-circuits before getStripe(), so a development key never + // dynamically imports and instantiates the real Stripe SDK. + if (stripeKey.startsWith("mk_")) { + const sessionId = `cs_mock_${crypto.randomUUID().replace(/-/g, "")}`; + const nameParts = (user.name || "Member").split(" "); + const firstName = nameParts[0] || "Member"; + const lastName = nameParts.slice(1).join(" ") || "Member"; + + await ctx.db!.transaction(async (tx) => { + await tx.insert(stripePayments).values({ + stripeSessionId: sessionId, + stripeCustomerId: "cus_mock_123", + stripePaymentIntentId: "pi_mock_123", + customerEmail: user.email!.toLowerCase(), + customerName: user.name || "Member", + amountTotal: 2500, + currency: "usd", + paymentStatus: "paid", + linkedUserId: ctx.userId!, + linkedAt: new Date(), + metadata: JSON.stringify({ userId: ctx.userId! }), + }); + + await createOrUpdateMembership( + tx as unknown as DrizzleDB, + ctx.userId!, + firstName, + lastName, + ); + }); + + // Invalidate cache + clearMembershipCaches(ctx.cache, ctx.userId!); + + const mockUrl = `${input.returnUrl}${input.returnUrl.includes("?") ? "&" : "?"}payment=success&session_id=${sessionId}`; + return { url: mockUrl }; + } + + const stripe = await getStripe(); + if (!stripe) { + throw new TRPCError({ + code: "SERVICE_UNAVAILABLE", + message: + "Payment service is currently unavailable. Please try again later.", + }); + } + try { const session = await stripe.checkout.sessions.create({ payment_method_types: ["card"], @@ -43,7 +117,8 @@ export const stripeRouter = createTRPCRouter({ currency: "usd", product_data: { name: "DSGT Membership", - description: "One year membership to Data Science at Georgia Tech", + description: + "One year membership to Data Science at Georgia Tech", // images: ["https://example.com/logo.png"], // Optional: Add a logo if available }, unit_amount: 2500, // $15.00 @@ -66,10 +141,77 @@ export const stripeRouter = createTRPCRouter({ // Check for invalid API key errors specifically if possible, but obscure all // Generic error for all Stripe failures - don't leak configuration status logSecurityEvent({ - type: 'validation_error', - identifier: ctx.userId ?? 'unknown', + type: "validation_error", + identifier: ctx.userId ?? "unknown", details: `Stripe error: ${error}`, }); + throw new TRPCError({ + code: "SERVICE_UNAVAILABLE", + message: + "Payment service is temporarily unavailable. Please try again later.", + }); + } + }), + + /** + * Create a Stripe PaymentIntent for embedded/modal checkout + * Returns client_secret for use with Stripe Payment Element + */ + createPaymentIntent: protectedProcedure + .mutation(async ({ ctx }) => { + const stripe = await getStripe(); + if (!stripe) { + throw new TRPCError({ + code: "SERVICE_UNAVAILABLE", + message: "Payment service is currently unavailable. Please try again later.", + }); + } + + const user = await ctx.db!.query.users.findFirst({ + where: eq((await import("@query/db")).users.id, ctx.userId!), + }); + + if (!user?.email) { + throw new TRPCError({ + code: "PRECONDITION_FAILED", + message: "User must have an email address to checkout.", + }); + } + + // Dev/mock mode + if (process.env.STRIPE_SECRET_KEY?.startsWith("mk_")) { + return { + clientSecret: "mock_pi_secret", + publishableKey: process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY ?? "pk_test_mock", + isMock: true, + }; + } + + try { + const paymentIntent = await stripe.paymentIntents.create({ + amount: 1500, // $15.00 in cents + currency: "usd", + receipt_email: user.email, + description: "DSGT Annual Membership ($15/yr)", + metadata: { + userId: ctx.userId!, + userEmail: user.email, + type: "membership", + }, + automatic_payment_methods: { enabled: true }, + }); + + return { + clientSecret: paymentIntent.client_secret!, + publishableKey: process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY ?? "", + isMock: false, + }; + } catch (error: unknown) { + logSecurityEvent({ + type: "validation_error", + identifier: ctx.userId ?? "unknown", + details: `Stripe PaymentIntent error: ${error}`, + }); throw new TRPCError({ code: "SERVICE_UNAVAILABLE", message: "Payment service is temporarily unavailable. Please try again later.", @@ -77,10 +219,104 @@ export const stripeRouter = createTRPCRouter({ } }), + /** + * Called by the frontend after PaymentIntent succeeds client-side. + * Verifies with Stripe, records the payment in DB, and activates membership. + */ + confirmMembershipAfterPayment: protectedProcedure + .input(z.object({ paymentIntentId: z.string() })) + .mutation(async ({ ctx, input }) => { + const stripe = await getStripe(); + if (!stripe) { + throw new TRPCError({ + code: "SERVICE_UNAVAILABLE", + message: "Payment service unavailable.", + }); + } + + // Verify with Stripe that payment actually succeeded + const pi = await stripe.paymentIntents.retrieve(input.paymentIntentId); + if (pi.status !== "succeeded") { + throw new TRPCError({ + code: "BAD_REQUEST", + message: `Payment not yet complete (status: ${pi.status}). Please wait and try again.`, + }); + } + + // Ensure the intent was for this user (guard against replay attacks) + if (pi.metadata?.userId && pi.metadata.userId !== ctx.userId) { + logSecurityEvent({ + type: "validation_error", + identifier: ctx.userId ?? "unknown", + details: `PaymentIntent userId mismatch: ${pi.metadata.userId} vs ${ctx.userId}`, + }); + throw new TRPCError({ code: "FORBIDDEN", message: "Payment mismatch." }); + } + + const user = await ctx.db!.query.users.findFirst({ + where: eq((await import("@query/db")).users.id, ctx.userId!), + }); + + const nameParts = (user?.name || "Member").split(" "); + const firstName = nameParts[0] ?? "Member"; + const lastName = nameParts.slice(1).join(" ") || "Member"; + + // Check if already processed (idempotent) + const existing = await ctx.db!.query.stripePayments.findFirst({ + where: eq(stripePayments.stripePaymentIntentId, pi.id), + }); + + if (!existing) { + await ctx.db!.transaction(async (tx) => { + await tx.insert(stripePayments).values({ + stripeSessionId: `pi_${pi.id}`, + stripeCustomerId: typeof pi.customer === "string" ? pi.customer : (pi.customer?.id ?? ""), + stripePaymentIntentId: pi.id, + customerEmail: (pi.receipt_email ?? user?.email ?? "").toLowerCase(), + customerName: user?.name ?? "Member", + amountTotal: pi.amount, + currency: pi.currency, + paymentStatus: "paid", + linkedUserId: ctx.userId!, + linkedAt: new Date(), + metadata: JSON.stringify(pi.metadata ?? {}), + }); + + await createOrUpdateMembership( + tx as unknown as DrizzleDB, + ctx.userId!, + firstName, + lastName, + ); + }); + } else if (!existing.linkedUserId) { + // Payment exists but wasn't linked — link it now + await ctx.db!.update(stripePayments) + .set({ linkedUserId: ctx.userId!, linkedAt: new Date(), updatedAt: new Date() }) + .where(eq(stripePayments.id, existing.id)); + await createOrUpdateMembership(ctx.db! as DrizzleDB, ctx.userId!, firstName, lastName); + } + + clearMembershipCaches(ctx.cache, ctx.userId!); + + return { success: true }; + }), + + /** * Attempt to auto-link a Stripe payment matching the user's email */ attemptAutoLink: protectedProcedure.mutation(async ({ ctx }) => { + // Basic rate limit to prevent loop hammering (max 1 request per 10 seconds per user) + const rateLimitKey = `rl:autolink:${ctx.userId!}`; + if (ctx.cache.get(rateLimitKey)) { + throw new TRPCError({ + code: "TOO_MANY_REQUESTS", + message: "Too many requests. Please wait a moment before trying again.", + }); + } + ctx.cache.set(rateLimitKey, true, 10); + return await ctx.db!.transaction(async (tx) => { const user = await tx.query.users.findFirst({ where: eq((await import("@query/db")).users.id, ctx.userId!), @@ -92,7 +328,7 @@ export const stripeRouter = createTRPCRouter({ where: and( eq(stripePayments.customerEmail, user.email), isNull(stripePayments.linkedUserId), - eq(stripePayments.paymentStatus, "paid") + eq(stripePayments.paymentStatus, "paid"), ), }); @@ -116,7 +352,8 @@ export const stripeRouter = createTRPCRouter({ providedEmail: user.email, }); - await tx.update(stripePayments) + await tx + .update(stripePayments) .set({ linkedUserId: ctx.userId!, linkedAt: new Date(), @@ -128,11 +365,10 @@ export const stripeRouter = createTRPCRouter({ tx as unknown as DrizzleDB, ctx.userId!, firstName, - lastName + lastName, ); - // Invalidate cache directly - ctx.cache.delete(`member:status:${ctx.userId!}`); + clearMembershipCaches(ctx.cache, ctx.userId!); return { success: true }; }); @@ -156,7 +392,7 @@ export const stripeRouter = createTRPCRouter({ where: and( eq(stripePayments.customerEmail, user.email), isNull(stripePayments.linkedUserId), - eq(stripePayments.paymentStatus, "paid") + eq(stripePayments.paymentStatus, "paid"), ), }); @@ -176,7 +412,7 @@ export const stripeRouter = createTRPCRouter({ firstName: z.string().min(1).max(100), lastName: z.string().min(1).max(100), email: z.string().email().max(255), - }) + }), ) .mutation(async ({ ctx, input }) => { return await ctx.db!.transaction(async (tx) => { @@ -184,14 +420,15 @@ export const stripeRouter = createTRPCRouter({ where: and( eq(stripePayments.customerEmail, input.email.toLowerCase()), isNull(stripePayments.linkedUserId), - eq(stripePayments.paymentStatus, "paid") + eq(stripePayments.paymentStatus, "paid"), ), }); if (!payment) { throw new TRPCError({ code: "NOT_FOUND", - message: "No payment found with that email. Please check the email you used during checkout.", + message: + "No payment found with that email. Please check the email you used during checkout.", }); } @@ -201,8 +438,8 @@ export const stripeRouter = createTRPCRouter({ if (existingLink) { logSecurityEvent({ - type: 'validation_error', - identifier: ctx.userId ?? 'unknown', + type: "validation_error", + identifier: ctx.userId ?? "unknown", details: `Attempted to link already linked payment ${payment.id}`, }); throw new TRPCError({ @@ -243,13 +480,15 @@ export const stripeRouter = createTRPCRouter({ tx as unknown as DrizzleDB, ctx.userId!, input.firstName, - input.lastName + input.lastName, ); - // Invalidate membership status cache - ctx.cache.delete(`member:status:${ctx.userId!}`); + clearMembershipCaches(ctx.cache, ctx.userId!); - return { success: true, message: "Account linked successfully! You are now a member." }; + return { + success: true, + message: "Account linked successfully! You are now a member.", + }; }); }), @@ -280,10 +519,22 @@ async function createOrUpdateMembership( db: DrizzleDB, userId: string, firstName: string, - lastName: string + lastName: string, ) { + const latest = await db.query.hackathons.findFirst({ + orderBy: [desc(hackathons.startDate)], + columns: { id: true }, + }); + + if (!latest) { + throw new Error("No hackathon found for membership assignment"); + } + const existingMember = await db.query.members.findFirst({ - where: eq(members.userId, userId), + where: and( + eq(members.userId, userId), + eq(members.hackathonId, latest.id), + ), }); const now = new Date(); @@ -305,6 +556,7 @@ async function createOrUpdateMembership( } else { await db.insert(members).values({ userId, + hackathonId: latest.id, firstName, lastName, memberType: "new", @@ -314,4 +566,4 @@ async function createOrUpdateMembership( renewalCount: 0, }); } -} \ No newline at end of file +} diff --git a/packages/api/src/routers/team.ts b/packages/api/src/routers/team.ts index 4663bde3..df4e0f04 100644 --- a/packages/api/src/routers/team.ts +++ b/packages/api/src/routers/team.ts @@ -2,491 +2,652 @@ import { z } from "zod"; import { TRPCError } from "@trpc/server"; import { createTRPCRouter, protectedProcedure } from "../trpc"; import { - hackathonTeams, - hackathonParticipants, - hackathonProjects, - hackathons, + hackathonTeams, + hackathonParticipants, + hackathonProjects, + hackathons, } from "@query/db"; import { eq, and } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; + +const HOUR = 60 * 60 * 1000; + +/** All hackathon milestones, as hour offsets from the hacking start time. */ +const TEAM_WINDOW_OPEN_HOURS = 12; +const TEAM_WINDOW_CLOSE_HOURS = 34; +const SUBMISSION_HARD_DEADLINE_HOURS = 36; +/** Rosters freeze 12h before the hard submission deadline, i.e. at +24h. */ +const LEAVE_LOCK_HOURS = SUBMISSION_HARD_DEADLINE_HOURS - 12; + +export function computeTeamWindow(baseTime: Date, now: Date) { + const at = (hours: number) => new Date(baseTime.getTime() + hours * HOUR); + + const opensAt = at(TEAM_WINDOW_OPEN_HOURS); + const closesAt = at(TEAM_WINDOW_CLOSE_HOURS); + const leaveLocksAt = at(LEAVE_LOCK_HOURS); + + const isOpen = now >= opensAt && now <= closesAt; + + return { + opensAt, + closesAt, + leaveLocksAt, + isOpen, + canCreate: isOpen, + canJoin: isOpen, + // Leaving shuts earlier than the rest of the window so rosters are stable + // through the final crunch and judging. + canLeave: isOpen && now < leaveLocksAt, + }; +} + +async function loadTeamWindow(db: DrizzleDB, hackathonId: string) { + const hackathon = await db.query.hackathons.findFirst({ + where: eq(hackathons.id, hackathonId), + }); + if (!hackathon) { + throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found." }); + } + const baseTime = hackathon.hackingStartTime ?? hackathon.startDate; + return computeTeamWindow(baseTime, new Date()); +} -async function checkTeamEditWindow(db: any, hackathonId: string) { - const hackathon = await db.query.hackathons.findFirst({ - where: eq(hackathons.id, hackathonId), +async function checkTeamEditWindow(db: DrizzleDB, hackathonId: string) { + const window = await loadTeamWindow(db, hackathonId); + const now = new Date(); + + if (now < window.opensAt) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Team creation and editing is not open yet. It starts 12 hours after the hacking begins.", }); - if (!hackathon) { - throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found." }); - } - const now = new Date(); - const baseTime = hackathon.hackingStartTime ?? hackathon.startDate; - const startEdit = new Date(baseTime.getTime() + 12 * 60 * 60 * 1000); - const endEdit = new Date(baseTime.getTime() + 34 * 60 * 60 * 1000); - if (now < startEdit) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Team creation and editing is not open yet. It starts 12 hours after the hacking begins.", - }); - } - if (now > endEdit) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Team creation and editing is closed. It ends 34 hours after the hacking begins.", - }); - } + } + if (now > window.closesAt) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Team creation and editing is closed. It ends 34 hours after the hacking begins.", + }); + } + return window; } export const teamRouter = createTRPCRouter({ - createTeam: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - name: z.string().min(1, "Team name is required").max(100), - description: z.string().max(500).optional(), - maxMembers: z.number().int().min(2).max(4).default(4), - }) - ) - .mutation(async ({ ctx, input }) => { - await checkTeamEditWindow(ctx.db, input.hackathonId); - // 1. Check if user is registered for this hackathon - const participant = await (ctx.db as NonNullable).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - }); + createTeam: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + name: z.string().min(1, "Team name is required").max(100), + description: z.string().max(500).optional(), + maxMembers: z.number().int().min(2).max(4).default(4), + }), + ) + .mutation(async ({ ctx, input }) => { + await checkTeamEditWindow(ctx.db as DrizzleDB, input.hackathonId); + // 1. Check if user is registered for this hackathon + const participant = await ( + ctx.db as NonNullable + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "You are not registered for this hackathon.", + }); + } - if (!participant) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "You are not registered for this hackathon.", - }); + // 2. Check if user is already in a team + if (participant.teamId) { + throw new TRPCError({ + code: "CONFLICT", + message: "You are already in a team for this hackathon.", + }); + } + + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + // 3. Create the team + const [newTeam] = await tx + .insert(hackathonTeams) + .values({ + hackathonId: input.hackathonId, + name: input.name, + description: input.description, + captainId: ctx.userId as string, + currentMembers: 1, // The captain is the first member + maxMembers: input.maxMembers, + }) + .returning(); + + // 4. Update the participant's team ID + if (newTeam) { + await tx + .update(hackathonParticipants) + .set({ teamId: newTeam.id }) + .where(eq(hackathonParticipants.id, participant.id)); } - // 2. Check if user is already in a team - if (participant.teamId) { - throw new TRPCError({ - code: "CONFLICT", - message: "You are already in a team for this hackathon.", - }); - } + return newTeam; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to create team: ${message}`, + }); + } + }), + + joinTeam: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + teamId: z.string().uuid("Invalid team ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + await checkTeamEditWindow(ctx.db as DrizzleDB, input.hackathonId); + // 1. Verify user is registered for hackathon + const participant = await ( + ctx.db as NonNullable + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "You are not registered for this hackathon.", + }); + } - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - // 3. Create the team - const [newTeam] = await tx - .insert(hackathonTeams) - .values({ - hackathonId: input.hackathonId, - name: input.name, - description: input.description, - captainId: ctx.userId as string, - currentMembers: 1, // The captain is the first member - maxMembers: input.maxMembers, - }) - .returning(); - - // 4. Update the participant's team ID - if (newTeam) { - await tx - .update(hackathonParticipants) - .set({ teamId: newTeam.id }) - .where(eq(hackathonParticipants.id, participant.id)); - } - - return newTeam; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to create team: ${message}`, - }); - } - }), - - joinTeam: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - teamId: z.string().uuid("Invalid team ID"), - }) - ) - .mutation(async ({ ctx, input }) => { - await checkTeamEditWindow(ctx.db, input.hackathonId); - // 1. Verify user is registered for hackathon - const participant = await (ctx.db as NonNullable).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), + // 2. Check if already in a team + if (participant.teamId) { + throw new TRPCError({ + code: "CONFLICT", + message: "You are already in a team.", + }); + } + + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + // 3. Find the team and check capacity + const team = await tx.query.hackathonTeams.findFirst({ + where: and( + eq(hackathonTeams.id, input.teamId), + eq(hackathonTeams.hackathonId, input.hackathonId), + ), }); - if (!participant) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "You are not registered for this hackathon.", - }); + if (!team) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Team not found.", + }); } - // 2. Check if already in a team - if (participant.teamId) { - throw new TRPCError({ - code: "CONFLICT", - message: "You are already in a team.", - }); + if (!team.isOpen) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "This team is closed.", + }); } - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - // 3. Find the team and check capacity - const team = await tx.query.hackathonTeams.findFirst({ - where: and( - eq(hackathonTeams.id, input.teamId), - eq(hackathonTeams.hackathonId, input.hackathonId) - ), - }); - - if (!team) { - throw new TRPCError({ code: "NOT_FOUND", message: "Team not found." }); - } - - if (!team.isOpen) { - throw new TRPCError({ code: "FORBIDDEN", message: "This team is closed." }); - } - - if (team.currentMembers >= team.maxMembers) { - throw new TRPCError({ code: "FORBIDDEN", message: "This team is full." }); - } - - // 4. Join the team - await tx - .update(hackathonParticipants) - .set({ teamId: team.id }) - .where(eq(hackathonParticipants.id, participant.id)); - - // 5. Increment team member count - await tx - .update(hackathonTeams) - .set({ currentMembers: team.currentMembers + 1 }) - .where(eq(hackathonTeams.id, team.id)); - - return { success: true }; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to join team: ${message}`, - }); + if (team.currentMembers >= team.maxMembers) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "This team is full.", + }); } - }), - - leaveTeam: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - }) - ) - .mutation(async ({ ctx, input }) => { - await checkTeamEditWindow(ctx.db, input.hackathonId); - const participant = await (ctx.db as NonNullable).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - }); - if (!participant || !participant.teamId) { - throw new TRPCError({ code: "NOT_FOUND", message: "You are not in a team." }); - } - - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - const team = await tx.query.hackathonTeams.findFirst({ - where: eq(hackathonTeams.id, participant.teamId!), - }); - - if (!team) throw new TRPCError({ code: "NOT_FOUND", message: "Team not found." }); - - // If captain is the only one left, they can "leave" which deletes the team - if (team.captainId === ctx.userId as string) { - if (team.currentMembers <= 1) { - // Delete team projects first - await tx.delete(hackathonProjects).where(eq(hackathonProjects.teamId, team.id)); - // Delete team - await tx.delete(hackathonTeams).where(eq(hackathonTeams.id, team.id)); - // Mark user as solo - await tx.update(hackathonParticipants).set({ teamId: null }).where(eq(hackathonParticipants.id, participant.id)); - return { success: true, message: "Team disbanded." }; - } - - throw new TRPCError({ - code: "FORBIDDEN", - message: "The captain cannot leave a multi-member team. You must disband it or transfer ownership.", - }); - } - - // 1. Remove user from team - await tx - .update(hackathonParticipants) - .set({ teamId: null }) - .where(eq(hackathonParticipants.id, participant.id)); - - // 2. Decrement team member count - await tx - .update(hackathonTeams) - .set({ currentMembers: Math.max(0, team.currentMembers - 1) }) - .where(eq(hackathonTeams.id, team.id)); - - return { success: true }; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to leave team: ${message}`, - }); - } - }), - - disbandTeam: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - teamId: z.string().uuid("Invalid team ID"), - }) - ) - .mutation(async ({ ctx, input }) => { - await checkTeamEditWindow(ctx.db, input.hackathonId); - const team = await (ctx.db as NonNullable).query.hackathonTeams.findFirst({ - where: and( - eq(hackathonTeams.id, input.teamId), - eq(hackathonTeams.hackathonId, input.hackathonId) - ), - }); - - if (!team) throw new TRPCError({ code: "NOT_FOUND", message: "Team not found." }); - if (team.captainId !== ctx.userId as string) { - throw new TRPCError({ code: "FORBIDDEN", message: "Only the captain can disband the team." }); - } + // 4. Join the team + await tx + .update(hackathonParticipants) + .set({ teamId: team.id }) + .where(eq(hackathonParticipants.id, participant.id)); + + // 5. Increment team member count + await tx + .update(hackathonTeams) + .set({ currentMembers: team.currentMembers + 1 }) + .where(eq(hackathonTeams.id, team.id)); + + return { success: true }; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to join team: ${message}`, + }); + } + }), + + leaveTeam: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + const window = await checkTeamEditWindow( + ctx.db as DrizzleDB, + input.hackathonId, + ); + + if (!window.canLeave) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Teams are locked. You cannot leave a team within 12 hours of the project deadline.", + }); + } + + const participant = await ( + ctx.db as NonNullable + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (!participant || !participant.teamId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "You are not in a team.", + }); + } - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - // 1. Remove all members - await tx - .update(hackathonParticipants) - .set({ teamId: null }) - .where(eq(hackathonParticipants.teamId, team.id)); - - // 2. Delete projects - await tx.delete(hackathonProjects).where(eq(hackathonProjects.teamId, team.id)); - - // 3. Delete team - await tx.delete(hackathonTeams).where(eq(hackathonTeams.id, team.id)); - - return { success: true }; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to disband team: ${message}`, - }); - } - }), - - submitProject: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid(), - teamId: z.string().uuid().optional(), // Can be solo - name: z.string().min(1, "Project name is required"), - description: z.string().min(10, "Description must be at least 10 characters"), - technologies: z.array(z.string()).optional(), - tracks: z.array(z.string()).optional(), - challenges: z.array(z.string()).optional(), - githubUrl: z.string().url("Must be a valid URL").optional().or(z.literal('')), - demoUrl: z.string().url("Must be a valid URL").optional().or(z.literal('')), - videoUrl: z.string().url("Must be a valid URL").optional().or(z.literal('')), - }) - ) - .mutation(async ({ ctx, input }) => { - // 1. Verify user is registered for hackathon - const participant = await (ctx.db as NonNullable).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - with: { team: true }, + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + const team = await tx.query.hackathonTeams.findFirst({ + where: eq(hackathonTeams.id, participant.teamId!), }); - if (!participant) { - throw new TRPCError({ code: "NOT_FOUND", message: "You are not registered for this hackathon." }); + if (!team) + throw new TRPCError({ + code: "NOT_FOUND", + message: "Team not found.", + }); + + // If captain is the only one left, they can "leave" which deletes the team + if (team.captainId === (ctx.userId as string)) { + if (team.currentMembers <= 1) { + // Delete team projects first + await tx + .delete(hackathonProjects) + .where(eq(hackathonProjects.teamId, team.id)); + // Delete team + await tx + .delete(hackathonTeams) + .where(eq(hackathonTeams.id, team.id)); + // Mark user as solo + await tx + .update(hackathonParticipants) + .set({ teamId: null }) + .where(eq(hackathonParticipants.id, participant.id)); + return { success: true, message: "Team disbanded." }; + } + + throw new TRPCError({ + code: "FORBIDDEN", + message: + "The captain cannot leave a multi-member team. You must disband it or transfer ownership.", + }); } - // 1.5. Verify hackathon is not past the submission window - const hackathon = await (ctx.db as NonNullable).query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - }); + // 1. Remove user from team + await tx + .update(hackathonParticipants) + .set({ teamId: null }) + .where(eq(hackathonParticipants.id, participant.id)); + + // 2. Decrement team member count + await tx + .update(hackathonTeams) + .set({ currentMembers: Math.max(0, team.currentMembers - 1) }) + .where(eq(hackathonTeams.id, team.id)); + + return { success: true }; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to leave team: ${message}`, + }); + } + }), + + disbandTeam: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + teamId: z.string().uuid("Invalid team ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + await checkTeamEditWindow(ctx.db as DrizzleDB, input.hackathonId); + const team = await ( + ctx.db as NonNullable + ).query.hackathonTeams.findFirst({ + where: and( + eq(hackathonTeams.id, input.teamId), + eq(hackathonTeams.hackathonId, input.hackathonId), + ), + }); + + if (!team) + throw new TRPCError({ code: "NOT_FOUND", message: "Team not found." }); + if (team.captainId !== (ctx.userId as string)) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "Only the captain can disband the team.", + }); + } + + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + // 1. Remove all members + await tx + .update(hackathonParticipants) + .set({ teamId: null }) + .where(eq(hackathonParticipants.teamId, team.id)); + + // 2. Delete projects + await tx + .delete(hackathonProjects) + .where(eq(hackathonProjects.teamId, team.id)); + + // 3. Delete team + await tx + .delete(hackathonTeams) + .where(eq(hackathonTeams.id, team.id)); + + return { success: true }; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to disband team: ${message}`, + }); + } + }), + + submitProject: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid(), + teamId: z.string().uuid().optional(), // Can be solo + name: z.string().min(1, "Project name is required"), + description: z + .string() + .min(10, "Description must be at least 10 characters"), + technologies: z.array(z.string()).optional(), + tracks: z.array(z.string()).optional(), + challenges: z.array(z.string()).optional(), + githubUrl: z + .string() + .url("Must be a valid URL") + .optional() + .or(z.literal("")), + demoUrl: z + .string() + .url("Must be a valid URL") + .optional() + .or(z.literal("")), + videoUrl: z + .string() + .url("Must be a valid URL") + .optional() + .or(z.literal("")), + }), + ) + .mutation(async ({ ctx, input }) => { + // 1. Verify user is registered for hackathon + const participant = await ( + ctx.db as NonNullable + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + with: { team: true }, + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "You are not registered for this hackathon.", + }); + } - if (!hackathon) { - throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found." }); - } + // 1.5. Verify hackathon is not past the submission window + const hackathon = await ( + ctx.db as NonNullable + ).query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + }); - const now = new Date(); - const baseTime = hackathon.hackingStartTime ?? hackathon.startDate; - const startSubmission = new Date(baseTime.getTime() + 12 * 60 * 60 * 1000); - const devpostFinalDeadline = new Date(baseTime.getTime() + 34 * 60 * 60 * 1000); - const hardDeadline = new Date(baseTime.getTime() + 36 * 60 * 60 * 1000); - - if (now < startSubmission) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Project submission is not open yet. It starts 12 hours after the hacking begins.", - }); - } + if (!hackathon) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found.", + }); + } + + const now = new Date(); + const baseTime = hackathon.hackingStartTime ?? hackathon.startDate; + const startSubmission = new Date( + baseTime.getTime() + 12 * 60 * 60 * 1000, + ); + const devpostFinalDeadline = new Date( + baseTime.getTime() + 34 * 60 * 60 * 1000, + ); + const hardDeadline = new Date(baseTime.getTime() + 36 * 60 * 60 * 1000); + + if (now < startSubmission) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Project submission is not open yet. It starts 12 hours after the hacking begins.", + }); + } - if (now > hardDeadline) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Project submission closed. The submission window ended 36 hours after the hacking started.", - }); - } + if (now > hardDeadline) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Project submission closed. The submission window ended 36 hours after the hacking started.", + }); + } + + // Fetch existing project to check for edit restrictions + let existingProject; + if (input.teamId) { + existingProject = await ( + ctx.db as NonNullable + ).query.hackathonProjects.findFirst({ + where: and( + eq(hackathonProjects.hackathonId, input.hackathonId), + eq(hackathonProjects.teamId, input.teamId), + ), + }); + } - // Fetch existing project to check for edit restrictions - let existingProject; - if (input.teamId) { - existingProject = await (ctx.db as NonNullable).query.hackathonProjects.findFirst({ - where: and( - eq(hackathonProjects.hackathonId, input.hackathonId), - eq(hackathonProjects.teamId, input.teamId) - ) - }); - } + if (existingProject && now > devpostFinalDeadline) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Project edits are closed. Devposts must be final 34 hours after the hacking starts.", + }); + } + + // Validate team ownership to prevent IDOR attacks + // Use teamId from participant record instead of nested team object + if (input.teamId) { + // Verify team belongs to this hackathon + const team = await ( + ctx.db as NonNullable + ).query.hackathonTeams.findFirst({ + where: and( + eq(hackathonTeams.id, input.teamId), + eq(hackathonTeams.hackathonId, input.hackathonId), + ), + }); - if (existingProject && now > devpostFinalDeadline) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Project edits are closed. Devposts must be final 34 hours after the hacking starts.", - }); - } + if (!team) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Team not found for this hackathon.", + }); + } - // Validate team ownership to prevent IDOR attacks - // Use teamId from participant record instead of nested team object - if (input.teamId) { - // Verify team belongs to this hackathon - const team = await (ctx.db as NonNullable).query.hackathonTeams.findFirst({ - where: and( - eq(hackathonTeams.id, input.teamId), - eq(hackathonTeams.hackathonId, input.hackathonId) - ), - }); - - if (!team) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Team not found for this hackathon.", - }); - } - - // Verify captain ownership using teamId comparison (not nested object) - if (team.captainId !== ctx.userId as string) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Only the team captain can submit the project.", - }); - } + // Verify captain ownership using teamId comparison (not nested object) + if (team.captainId !== (ctx.userId as string)) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "Only the team captain can submit the project.", + }); + } + } else { + // No team ID provided - solo submission (participant is already in the team) + } + + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + // We clean up empty strings to be null + const githubUrl = + input.githubUrl === "" ? undefined : input.githubUrl; + const demoUrl = input.demoUrl === "" ? undefined : input.demoUrl; + const videoUrl = input.videoUrl === "" ? undefined : input.videoUrl; + + let finalProject; + if (existingProject) { + // Update existing + const [updated] = await tx + .update(hackathonProjects) + .set({ + name: input.name, + description: input.description, + technologies: input.technologies || [], + tracks: input.tracks || [], + challenges: input.challenges || [], + githubUrl, + demoUrl, + videoUrl, + status: "submitted", + submittedAt: new Date(), + }) + .where(eq(hackathonProjects.id, existingProject.id)) + .returning(); + finalProject = updated; } else { - // No team ID provided - solo submission (participant is already in the team) - } - - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - // We clean up empty strings to be null - const githubUrl = input.githubUrl === '' ? undefined : input.githubUrl; - const demoUrl = input.demoUrl === '' ? undefined : input.demoUrl; - const videoUrl = input.videoUrl === '' ? undefined : input.videoUrl; - - let finalProject; - if (existingProject) { - // Update existing - const [updated] = await tx.update(hackathonProjects).set({ - name: input.name, - description: input.description, - technologies: input.technologies || [], - tracks: input.tracks || [], - challenges: input.challenges || [], - githubUrl, - demoUrl, - videoUrl, - status: "submitted", - submittedAt: new Date() - }).where(eq(hackathonProjects.id, existingProject.id)).returning(); - finalProject = updated; - } else { - // Insert new - const [inserted] = await tx.insert(hackathonProjects).values({ - hackathonId: input.hackathonId, - teamId: input.teamId, - name: input.name, - description: input.description, - technologies: input.technologies || [], - tracks: input.tracks || [], - challenges: input.challenges || [], - githubUrl, - demoUrl, - videoUrl, - status: "submitted", - submittedAt: new Date() - }).returning(); - finalProject = inserted; - } - - // Mark the participant as having submitted - await tx.update(hackathonParticipants).set({ - hasSubmittedProject: true - }).where(eq(hackathonParticipants.id, participant.id)); - - return finalProject; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to submit project: ${message}`, - }); + // Insert new + const [inserted] = await tx + .insert(hackathonProjects) + .values({ + hackathonId: input.hackathonId, + teamId: input.teamId, + name: input.name, + description: input.description, + technologies: input.technologies || [], + tracks: input.tracks || [], + challenges: input.challenges || [], + githubUrl, + demoUrl, + videoUrl, + status: "submitted", + submittedAt: new Date(), + }) + .returning(); + finalProject = inserted; } - }), - - list: protectedProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const teams = await (ctx.db as NonNullable).query.hackathonTeams.findMany({ - where: eq(hackathonTeams.hackathonId, input.hackathonId), - with: { - captain: { - columns: { id: true, name: true, image: true }, - }, - participants: { - columns: { - id: true, - userId: true, - registrationStatus: true, - }, - with: { - user: { - columns: { id: true, name: true, image: true }, - }, - }, - }, - }, - orderBy: (hackathonTeams, { desc }) => [desc(hackathonTeams.createdAt)], - }); - return teams; - }), + // Mark the participant as having submitted + await tx + .update(hackathonParticipants) + .set({ + hasSubmittedProject: true, + }) + .where(eq(hackathonParticipants.id, participant.id)); + + return finalProject; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to submit project: ${message}`, + }); + } + }), + + /** Lets the UI disable team actions instead of letting the mutation fail. */ + window: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + return await loadTeamWindow(ctx.db as DrizzleDB, input.hackathonId); + }), + + list: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const teams = await ( + ctx.db as NonNullable + ).query.hackathonTeams.findMany({ + where: eq(hackathonTeams.hackathonId, input.hackathonId), + with: { + captain: { + columns: { id: true, name: true, image: true }, + }, + participants: { + columns: { + id: true, + userId: true, + registrationStatus: true, + }, + with: { + user: { + columns: { id: true, name: true, image: true }, + }, + }, + }, + }, + orderBy: (hackathonTeams, { desc }) => [desc(hackathonTeams.createdAt)], + }); + + return teams; + }), }); diff --git a/packages/api/src/routers/user.ts b/packages/api/src/routers/user.ts index 9eda3abb..b725a91a 100644 --- a/packages/api/src/routers/user.ts +++ b/packages/api/src/routers/user.ts @@ -3,8 +3,9 @@ import { TRPCError } from "@trpc/server"; import { createTRPCRouter, protectedProcedure, uploadProcedure } from "../trpc"; import { users, userProfiles } from "@query/db"; import { eq } from "drizzle-orm"; -import { imageSize } from "image-size"; import { CacheKeys } from "../middleware/cache"; +import type { DrizzleDB } from "@query/db"; +import { fetchPortalContext } from "../services/portal-context"; export const userRouter = createTRPCRouter({ me: protectedProcedure.query(async ({ ctx }) => { @@ -20,7 +21,9 @@ export const userRouter = createTRPCRouter({ }>(cacheKey); if (cached) return cached; - const user = await (ctx.db as NonNullable).query.users.findFirst({ + const user = await ( + ctx.db as NonNullable + ).query.users.findFirst({ where: eq(users.id, ctx.userId as string), columns: { id: true, email: true, name: true, image: true }, with: { @@ -48,6 +51,26 @@ export const userRouter = createTRPCRouter({ return result; }), + getPortalContext: protectedProcedure.query(async ({ ctx }) => { + const userId = ctx.userId as string; + const cacheKey = CacheKeys.portalContext(userId); + const cached = ctx.cache.get>>( + cacheKey, + ); + if (cached) return cached; + + if (!ctx.db) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Database unavailable", + }); + } + + const result = await fetchPortalContext(ctx.db as DrizzleDB, userId); + ctx.cache.set(cacheKey, result, 300); + return result; + }), + updateProfile: protectedProcedure .input( z.object({ @@ -56,7 +79,7 @@ export const userRouter = createTRPCRouter({ bio: z.string().max(500).optional(), website: z.string().url().max(500).optional(), location: z.string().max(200).optional(), - }) + }), ) .mutation(async ({ ctx, input }) => { const { name, image, bio, website, location } = input; @@ -66,11 +89,18 @@ export const userRouter = createTRPCRouter({ if (name !== undefined || image !== undefined) { ops.push( - (ctx.db as NonNullable).update(users).set({ name, image }).where(eq(users.id, ctx.userId as string)) + (ctx.db as NonNullable) + .update(users) + .set({ name, image }) + .where(eq(users.id, ctx.userId as string)), ); } - if (bio !== undefined || website !== undefined || location !== undefined) { + if ( + bio !== undefined || + website !== undefined || + location !== undefined + ) { // Use upsert instead of check-then-insert (eliminates one round-trip) ops.push( (ctx.db as NonNullable) @@ -84,7 +114,7 @@ export const userRouter = createTRPCRouter({ location: location ?? undefined, updatedAt: new Date(), }, - }) + }), ); } @@ -98,40 +128,65 @@ export const userRouter = createTRPCRouter({ updateProfileImage: uploadProcedure .input( z.object({ - base64Image: z.string() - .regex(/^data:image\/(jpeg|png|webp);base64,[a-zA-Z0-9+/]+={0,2}$/, "Invalid image format") + base64Image: z + .string() + .regex( + /^data:image\/(jpeg|png|webp);base64,[a-zA-Z0-9+/]+={0,2}$/, + "Invalid image format", + ) .max(2 * 1024 * 1024), - }) + }), ) .mutation(async ({ ctx, input }) => { const base64Data = input.base64Image.split(",")[1]; if (!base64Data) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Invalid base64 payload" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Invalid base64 payload", + }); } const buffer = Buffer.from(base64Data, "base64"); try { + const { imageSize } = await import("image-size"); const dimensions = imageSize(buffer); if (!dimensions.width || !dimensions.height) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Invalid image dimensions. File may be corrupt." }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Invalid image dimensions. File may be corrupt.", + }); } if (dimensions.width > 2000 || dimensions.height > 2000) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Image dimensions exceed the maximum allowed size of 2000x2000 pixels." }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: + "Image dimensions exceed the maximum allowed size of 2000x2000 pixels.", + }); } - const allowedTypes = ['jpg', 'jpeg', 'png', 'webp']; + const allowedTypes = ["jpg", "jpeg", "png", "webp"]; if (!dimensions.type || !allowedTypes.includes(dimensions.type)) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Malicious payload detected: File signature does not match expected image formats." }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: + "Malicious payload detected: File signature does not match expected image formats.", + }); } } catch (err) { if (err instanceof TRPCError) throw err; - throw new TRPCError({ code: "BAD_REQUEST", message: "Could not parse image. File may be corrupt or malicious." }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Could not parse image. File may be corrupt or malicious.", + }); } - await (ctx.db as NonNullable).update(users).set({ image: input.base64Image }).where(eq(users.id, ctx.userId as string)); + await (ctx.db as NonNullable) + .update(users) + .set({ image: input.base64Image }) + .where(eq(users.id, ctx.userId as string)); ctx.cache.deletePattern(`user:${ctx.userId as string}*`); return { success: true }; }), -}); \ No newline at end of file +}); diff --git a/packages/api/src/routers/user/portal-context.test.ts b/packages/api/src/routers/user/portal-context.test.ts new file mode 100644 index 00000000..27a79c1c --- /dev/null +++ b/packages/api/src/routers/user/portal-context.test.ts @@ -0,0 +1,67 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; +import { appRouter } from "../../root"; +import { cache } from "../../middleware/cache"; +import { db } from "@query/db"; + +const mockFindFirst = vi.fn(); + +vi.mock("@query/db", () => ({ + db: { + query: { + admins: { findFirst: (...args: unknown[]) => mockFindFirst("admins", ...args) }, + hackathons: { findFirst: (...args: unknown[]) => mockFindFirst("hackathons", ...args) }, + judges: { findFirst: (...args: unknown[]) => mockFindFirst("judges", ...args) }, + members: { findFirst: (...args: unknown[]) => mockFindFirst("members", ...args) }, + users: { findFirst: vi.fn() }, + }, + }, + admins: { userId: "user_id", isActive: "is_active" }, + members: { userId: "user_id", hackathonId: "hackathon_id" }, + judges: { userId: "user_id", isActive: "is_active" }, + hackathons: { startDate: "start_date" }, + users: { id: "id" }, + userProfiles: { userId: "user_id" }, +})); + +describe("user.getPortalContext", () => { + beforeEach(() => { + vi.clearAllMocks(); + cache.clear(); + }); + + const ctx = { + db, + session: { user: { id: "user-1" } }, + userId: "user-1", + cache, + clientIp: "127.0.0.1", + req: undefined, + }; + + it("returns combined role flags and caches the result", async () => { + mockFindFirst.mockImplementation((table: string) => { + if (table === "admins") return { role: "admin", permissions: [] }; + if (table === "hackathons") return { id: "hack-1" }; + if (table === "judges") return null; + if (table === "members") { + return { + isActive: true, + membershipEndDate: new Date(Date.now() + 86400000), + memberType: "new", + renewalCount: 0, + }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + const first = await caller.user.getPortalContext(); + const second = await caller.user.getPortalContext(); + + expect(first.isAdmin).toBe(true); + expect(first.isJudge).toBe(false); + expect(first.member.isMember).toBe(true); + expect(second).toEqual(first); + expect(mockFindFirst).toHaveBeenCalledTimes(4); + }); +}); diff --git a/packages/api/src/services/portal-context.test.ts b/packages/api/src/services/portal-context.test.ts new file mode 100644 index 00000000..1de6c2ec --- /dev/null +++ b/packages/api/src/services/portal-context.test.ts @@ -0,0 +1,109 @@ +import { describe, it, expect, vi } from "vitest"; + +vi.mock("@query/db", () => ({ + admins: { userId: "user_id", isActive: "is_active" }, + members: { userId: "user_id", hackathonId: "hackathon_id" }, + judges: { userId: "user_id", isActive: "is_active" }, + hackathons: { startDate: "start_date" }, +})); + +vi.mock("drizzle-orm", () => ({ + eq: (...args: unknown[]) => args, + and: (...args: unknown[]) => args, +})); + +import { + buildMemberContext, + fetchPortalContext, +} from "./portal-context"; +import { EMPTY_MEMBER_CONTEXT } from "../types/portal-context"; + +describe("buildMemberContext", () => { + it("returns empty context when no member record", () => { + expect(buildMemberContext(null)).toEqual(EMPTY_MEMBER_CONTEXT); + expect(buildMemberContext(undefined)).toEqual(EMPTY_MEMBER_CONTEXT); + }); + + it("marks expired memberships inactive", () => { + const past = new Date("2020-01-01"); + const ctx = buildMemberContext({ + isActive: true, + membershipEndDate: past, + memberType: "continuous", + renewalCount: 1, + }); + expect(ctx.isMember).toBe(true); + expect(ctx.isActive).toBe(false); + expect(ctx.daysRemaining).toBeLessThan(0); + }); + + it("marks active memberships with days remaining", () => { + const future = new Date(Date.now() + 10 * 24 * 60 * 60 * 1000); + const ctx = buildMemberContext({ + isActive: true, + membershipEndDate: future, + memberType: "new", + renewalCount: 0, + }); + expect(ctx.isActive).toBe(true); + expect(ctx.daysRemaining).toBeGreaterThan(0); + }); +}); + +describe("fetchPortalContext", () => { + it("aggregates admin, judge, and member flags", async () => { + const future = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000); + const db = { + query: { + admins: { + findFirst: async () => ({ + role: "admin", + permissions: ["events"], + isActive: true, + }), + }, + hackathons: { + findFirst: async () => ({ id: "hack-1" }), + }, + judges: { + findFirst: async () => ({ id: "judge-1", name: "Alex Judge" }), + }, + members: { + findFirst: async () => ({ + isActive: true, + membershipEndDate: future, + memberType: "continuous", + renewalCount: 2, + }), + }, + }, + }; + + const result = await fetchPortalContext(db as never, "user-1"); + + expect(result.isAdmin).toBe(true); + expect(result.role).toBe("admin"); + expect(result.permissions).toEqual(["events"]); + expect(result.isJudge).toBe(true); + expect(result.judgeId).toBe("judge-1"); + expect(result.member.isMember).toBe(true); + expect(result.member.isActive).toBe(true); + }); + + it("returns defaults when user has no roles", async () => { + const db = { + query: { + admins: { findFirst: async () => null }, + hackathons: { findFirst: async () => null }, + judges: { findFirst: async () => null }, + members: { findFirst: async () => null }, + }, + }; + + const result = await fetchPortalContext(db as never, "user-2"); + + expect(result.isAdmin).toBe(false); + expect(result.isJudge).toBe(false); + expect(result.member).toEqual(EMPTY_MEMBER_CONTEXT); + }); +}); diff --git a/packages/api/src/services/portal-context.ts b/packages/api/src/services/portal-context.ts new file mode 100644 index 00000000..40a17071 --- /dev/null +++ b/packages/api/src/services/portal-context.ts @@ -0,0 +1,87 @@ +import { admins, members, judges } from "@query/db"; +import { eq, and } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; +import { + EMPTY_MEMBER_CONTEXT, + type MemberContext, + type PortalContext, +} from "../types/portal-context"; + +function buildMemberContext( + memberRecord: { + isActive: boolean; + membershipEndDate: Date | null; + memberType: string | null; + renewalCount: number; + } | null | undefined, +): MemberContext { + if (!memberRecord) return EMPTY_MEMBER_CONTEXT; + + const now = new Date(); + const expiresAt = memberRecord.membershipEndDate; + const isActive = !!( + memberRecord.isActive && + expiresAt && + expiresAt > now + ); + + let daysRemaining: number | null = null; + if (expiresAt) { + daysRemaining = Math.ceil( + (expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24), + ); + } + + return { + isMember: true, + isActive, + expiresAt, + daysRemaining, + memberType: memberRecord.memberType, + renewalCount: memberRecord.renewalCount, + }; +} + +/** Loads admin, judge, and member flags for the current user in one round-trip batch. */ +export async function fetchPortalContext( + db: DrizzleDB, + userId: string, +): Promise { + const [admin, latestHackathon, judgeRecord] = await Promise.all([ + db.query.admins.findFirst({ + where: and(eq(admins.userId, userId), eq(admins.isActive, true)), + }), + db.query.hackathons.findFirst({ + orderBy: (h, { desc: descFn }) => [descFn(h.startDate)], + columns: { id: true }, + }), + db.query.judges.findFirst({ + where: and(eq(judges.userId, userId), eq(judges.isActive, true)), + columns: { id: true, name: true }, + }), + ]); + + let member = EMPTY_MEMBER_CONTEXT; + + if (latestHackathon?.id) { + const memberRecord = await db.query.members.findFirst({ + where: and( + eq(members.userId, userId), + eq(members.hackathonId, latestHackathon.id), + ), + }); + member = buildMemberContext(memberRecord ?? null); + } + + return { + isAdmin: !!admin, + role: admin?.role ?? null, + permissions: admin?.permissions ?? [], + isJudge: !!judgeRecord, + judgeId: judgeRecord?.id ?? null, + judgeName: judgeRecord?.name ?? null, + member, + }; +} + +export { buildMemberContext }; diff --git a/packages/api/src/test/create-mock-context.ts b/packages/api/src/test/create-mock-context.ts new file mode 100644 index 00000000..72d1229f --- /dev/null +++ b/packages/api/src/test/create-mock-context.ts @@ -0,0 +1,29 @@ +import type { Context } from "../context"; +import { cache } from "../middleware/cache"; +import { db } from "@query/db"; + +type MockContextOptions = { + userId?: string; + clientIp?: string; + headers?: Record; +}; + +/** Builds a tRPC context for unit/integration tests. */ +export function createMockContext( + options: MockContextOptions = {}, +): Context { + const { userId, clientIp = "127.0.0.1", headers = {} } = options; + + return { + db, + session: userId ? { user: { id: userId } } : null, + userId, + cache, + clientIp, + req: { + headers: { + get: (name: string) => headers[name.toLowerCase()] ?? null, + }, + } as Context["req"], + }; +} diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts index 8015f7b2..1ea177ad 100644 --- a/packages/api/src/trpc.ts +++ b/packages/api/src/trpc.ts @@ -3,16 +3,29 @@ import type { TRPCDefaultErrorShape } from "@trpc/server"; import superjson from "superjson"; import { ZodError } from "zod"; import type { Context } from "./context"; -import { rateLimit, RATE_LIMITS, sanitizeInput, logSecurityEvent, ddosProtection, validateRequestSize } from "./middleware/security"; - -export const errorFormatter = ({ shape, error }: { +import { + rateLimit, + RATE_LIMITS, + sanitizeInput, + logSecurityEvent, + ddosProtection, + validateRequestSize, +} from "./middleware/security"; + +export const errorFormatter = ({ + shape, + error, +}: { shape: TRPCDefaultErrorShape; error: TRPCError; }) => { - const isDev = process.env.NODE_ENV === 'development'; + const isDev = process.env.NODE_ENV === "development"; return { ...shape, - message: error.code === 'INTERNAL_SERVER_ERROR' && !isDev ? 'An unexpected error occurred' : shape.message, + message: + error.code === "INTERNAL_SERVER_ERROR" && !isDev + ? "An unexpected error occurred" + : shape.message, data: { ...shape.data, zodError: error.cause instanceof ZodError ? error.cause.flatten() : null, @@ -27,6 +40,7 @@ const t = initTRPC.context().create({ }); export const createTRPCRouter = t.router; +export const mergeRouters = t.mergeRouters; const requiresDb = t.middleware(async ({ ctx, next }) => { if (!ctx.db) { @@ -50,9 +64,9 @@ const sanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => { if (rawInput != null) { if (!validateRequestSize(rawInput)) { logSecurityEvent({ - type: 'validation_error', + type: "validation_error", identifier: ctx.userId ?? ctx.clientIp, - details: 'Request payload too large', + details: "Request payload too large", }); throw new TRPCError({ code: "PAYLOAD_TOO_LARGE", @@ -66,10 +80,12 @@ const sanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => { }); const enforceContentType = t.middleware(async ({ ctx, next, type }) => { - if (type === 'mutation' && ctx.req) { - const contentType = ctx.req.headers.get('content-type') || ''; - const isJson = contentType.toLowerCase().includes('application/json'); - const isMultipart = contentType.toLowerCase().includes('multipart/form-data'); + if (type === "mutation" && ctx.req) { + const contentType = ctx.req.headers.get("content-type") || ""; + const isJson = contentType.toLowerCase().includes("application/json"); + const isMultipart = contentType + .toLowerCase() + .includes("multipart/form-data"); if (contentType && !isJson && !isMultipart) { throw new TRPCError({ code: "BAD_REQUEST", @@ -80,38 +96,40 @@ const enforceContentType = t.middleware(async ({ ctx, next, type }) => { return next(); }); -const uploadSanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => { - // Allow up to 2MB for base64 image uploads - const rawInput = await getRawInput(); +const uploadSanitizeInputs = t.middleware( + async ({ next, ctx, getRawInput }) => { + // Allow up to 2MB for base64 image uploads + const rawInput = await getRawInput(); - if (rawInput && !validateRequestSize(rawInput, 2 * 1024 * 1024)) { - logSecurityEvent({ - type: 'validation_error', - identifier: ctx.userId ?? ctx.clientIp, - details: 'Upload payload too large (max 2MB)', - }); - throw new TRPCError({ - code: "PAYLOAD_TOO_LARGE", - message: "Image payload is too large (>2MB)", - }); - } + if (rawInput && !validateRequestSize(rawInput, 2 * 1024 * 1024)) { + logSecurityEvent({ + type: "validation_error", + identifier: ctx.userId ?? ctx.clientIp, + details: "Upload payload too large (max 2MB)", + }); + throw new TRPCError({ + code: "PAYLOAD_TOO_LARGE", + message: "Image payload is too large (>2MB)", + }); + } - // We intentionally skip the recursive `sanitizeInput` here because it truncates - // strings longer than 10,000 characters (base64 strings are much larger). - // The zod validator on the procedure will ensure it's a valid data URI structure. + // We intentionally skip the recursive `sanitizeInput` here because it truncates + // strings longer than 10,000 characters (base64 strings are much larger). + // The zod validator on the procedure will ensure it's a valid data URI structure. - const result = await next(); + const result = await next(); - if (!result.ok) { - logSecurityEvent({ - type: 'validation_error', - identifier: ctx.userId ?? 'unknown', - details: 'Upload Procedure failed', - }); - } + if (!result.ok) { + logSecurityEvent({ + type: "validation_error", + identifier: ctx.userId ?? "unknown", + details: "Upload Procedure failed", + }); + } - return result; -}); + return result; + }, +); /** * Surgical cache invalidation: each mutation path maps to the exact cache key @@ -120,50 +138,64 @@ const uploadSanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => */ const CACHE_INVALIDATION_MAP: Record = { // Hackathon mutations — scope by what actually changed - "hackathon.register": ["hackathon:*:participants", "hackathon:*:analytics"], - "hackathon.updateParticipantStatus": ["hackathon:*:participants", "hackathon:*:analytics"], - "hackathon.batchUpdateParticipantStatus": ["hackathon:*:participants", "hackathon:*:analytics"], - "hackathon.scanParticipantPass": ["hackathon:*:participants"], - "hackathon.create": ["hackathons:list"], - "hackathon.update": ["hackathons:list", "hackathon:*"], - "hackathon.delete": ["hackathons:list", "hackathon:*"], - "hackathon.createEvent": ["hackathon:*:events"], - "hackathon.updateEvent": ["hackathon:*:events"], - "hackathon.deleteEvent": ["hackathon:*:events"], + "hackathon.register": ["hackathon:*:participants", "hackathon:*:analytics"], + "hackathon.updateParticipantStatus": [ + "hackathon:*:participants", + "hackathon:*:analytics", + ], + "hackathon.batchUpdateParticipantStatus": [ + "hackathon:*:participants", + "hackathon:*:analytics", + ], + "hackathon.scanParticipantPass": ["hackathon:*:participants"], + "hackathon.create": ["hackathons:list"], + "hackathon.update": ["hackathons:list", "hackathon:*"], + "hackathon.delete": ["hackathons:list", "hackathon:*"], + "hackathon.createEvent": ["hackathon:*:events"], + "hackathon.updateEvent": ["hackathon:*:events"], + "hackathon.deleteEvent": ["hackathon:*:events"], // Judge mutations — only invalidate judging-related keys - "judge.submitVote": ["hackathon:*:rankings", "hackathon:*:judge-analytics"], - "judge.completeAndNext": ["hackathon:*:rankings", "hackathon:*:judge-analytics"], - "judge.toggleJudging": ["hackathon:*"], - "judge.assignJudgesToProjects": ["hackathon:*:rankings", "hackathon:*:judge-analytics"], - "judge.assignToHackathon": ["judge:*"], + "judge.submitVote": ["hackathon:*:rankings", "hackathon:*:judge-analytics"], + "judge.completeAndNext": [ + "hackathon:*:rankings", + "hackathon:*:judge-analytics", + ], + "judge.toggleJudging": ["hackathon:*"], + "judge.assignJudgesToProjects": [ + "hackathon:*:rankings", + "hackathon:*:judge-analytics", + ], + "judge.assignToHackathon": ["judge:*"], // Member mutations - "member.update": ["member:*", "user:*:profile"], + "member.update": ["member:*", "user:*:profile"], // Stripe — invalidate member status after linking - "stripe.attemptAutoLink": ["member:*"], - "stripe.linkAccount": ["member:*"], + "stripe.attemptAutoLink": ["member:*"], + "stripe.linkAccount": ["member:*"], // Events (club check-ins) - "events.create": ["events:list"], - "events.delete": ["events:list"], - "events.toggleCheckIn": ["events:list"], - "events.checkIn": ["events:list", "member:*"], + "events.create": ["events:list"], + "events.delete": ["events:list"], + "events.toggleCheckIn": ["events:list"], + "events.checkIn": ["events:list", "member:*"], }; -const cacheInvalidationMiddleware = t.middleware(async ({ ctx, next, type, path }) => { - const result = await next(); - - if (type === 'mutation' && result.ok) { - const patterns = CACHE_INVALIDATION_MAP[path]; - if (patterns) { - for (const pattern of patterns) ctx.cache.deletePattern(pattern); - } else { - // Fallback: evict the whole namespace (safe but broad) - const namespace = path.split('.')[0]; - if (namespace) ctx.cache.deletePattern(`${namespace}:*`); +const cacheInvalidationMiddleware = t.middleware( + async ({ ctx, next, type, path }) => { + const result = await next(); + + if (type === "mutation" && result.ok) { + const patterns = CACHE_INVALIDATION_MAP[path]; + if (patterns) { + for (const pattern of patterns) ctx.cache.deletePattern(pattern); + } else { + // Fallback: evict the whole namespace (safe but broad) + const namespace = path.split(".")[0]; + if (namespace) ctx.cache.deletePattern(`${namespace}:*`); + } } - } - return result; -}); + return result; + }, +); export const publicProcedure = t.procedure .use(sanitizeInputs) @@ -180,13 +212,19 @@ export const publicProcedure = t.procedure const identifier = ctx.userId || `ip-${ctx.clientIp}`; const config = RATE_LIMITS.public; - const tokens = type === 'mutation' ? config.mutationTokens : config.queryTokens; + const tokens = + type === "mutation" ? config.mutationTokens : config.queryTokens; - const result = rateLimit(identifier, config.maxTokens, config.refillRate, tokens); + const result = rateLimit( + identifier, + config.maxTokens, + config.refillRate, + tokens, + ); if (!result.allowed) { logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier, details: `Public ${type} blocked, retry after ${result.retryAfter}s`, }); @@ -206,13 +244,19 @@ const isAuthed = t.middleware(async ({ ctx, next, type }) => { } const config = RATE_LIMITS.authenticated; - const tokens = type === 'mutation' ? config.mutationTokens : config.queryTokens; + const tokens = + type === "mutation" ? config.mutationTokens : config.queryTokens; - const result = rateLimit(`auth-${ctx.userId}`, config.maxTokens, config.refillRate, tokens); + const result = rateLimit( + `auth-${ctx.userId}`, + config.maxTokens, + config.refillRate, + tokens, + ); if (!result.allowed) { logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier: ctx.userId, details: `Authenticated ${type} blocked, retry after ${result.retryAfter}s`, }); diff --git a/packages/api/src/types/portal-context.ts b/packages/api/src/types/portal-context.ts new file mode 100644 index 00000000..b62a62fc --- /dev/null +++ b/packages/api/src/types/portal-context.ts @@ -0,0 +1,27 @@ +export type MemberContext = { + isMember: boolean; + isActive: boolean | null; + expiresAt: Date | null; + daysRemaining: number | null; + memberType: string | null; + renewalCount: number; +}; + +export type PortalContext = { + isAdmin: boolean; + role: string | null; + permissions: string[]; + isJudge: boolean; + judgeId: string | null; + judgeName: string | null; + member: MemberContext; +}; + +export const EMPTY_MEMBER_CONTEXT: MemberContext = { + isMember: false, + isActive: false, + expiresAt: null, + daysRemaining: null, + memberType: null, + renewalCount: 0, +}; diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json index d7d67135..0077a323 100644 --- a/packages/api/tsconfig.json +++ b/packages/api/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "@query/tsconfig/base.json", + "extends": "../../tooling/typescript/base.json", "compilerOptions": { "outDir": "dist", "rootDir": "src" }, "include": ["src", "src/.internal-tests/**/*.ts"], "exclude": ["node_modules", "dist"] -} \ No newline at end of file +} diff --git a/packages/api/vitest.config.ts b/packages/api/vitest.config.ts index 55a658e9..f30f2012 100644 --- a/packages/api/vitest.config.ts +++ b/packages/api/vitest.config.ts @@ -1,11 +1,34 @@ -import { defineConfig } from 'vitest/config'; -import { resolve } from 'path'; +import { defineConfig } from "vitest/config"; +import { resolve } from "path"; + +const pkg = (name: string) => resolve(__dirname, "node_modules", name); export default defineConfig({ test: { - include: ['src/.internal-tests/**/*.test.ts'], + include: [ + "src/**/*.test.ts", + "src/.internal-tests/**/*.test.ts", + ], + server: { + deps: { + inline: [ + "drizzle-orm", + "@trpc/server", + "superjson", + "zod", + "@query/db", + ], + }, + }, + }, + resolve: { alias: { - '@query/db': resolve(__dirname, '../db/src/index.ts'), + "@query/db": resolve(__dirname, "../db/src/index.ts"), + "@query/auth/email": resolve(__dirname, "../auth/src/email.ts"), + "drizzle-orm": pkg("drizzle-orm"), + "@trpc/server": pkg("@trpc/server"), + superjson: pkg("superjson"), + zod: pkg("zod"), }, }, }); diff --git a/packages/auth/.cache/tsbuildinfo.json b/packages/auth/.cache/tsbuildinfo.json new file mode 100644 index 00000000..6577c47f --- /dev/null +++ b/packages/auth/.cache/tsbuildinfo.json @@ -0,0 +1 @@ +{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/lib/mysql.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/lib/pg.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/lib/sqlite.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/lib/utils.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@9.0.3/node_modules/@auth/drizzle-adapter/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.19.40/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_6d4db5c24c9b31d9e2a449692c1b00e3/node_modules/next-auth/adapters.d.ts","../../db/src/schemas/auth.ts","../../db/src/schemas/hackathons.ts","../../db/src/schemas/members.ts","../../db/src/schemas/admins.ts","../../db/src/schemas/events.ts","../../db/src/schemas/judge.ts","../../db/src/schemas/stripe.ts","../../db/src/schemas/security.ts","../../db/src/schemas/index.ts","../../db/src/client.ts","../../db/src/index.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/adapters.d.ts","../src/adapter.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/css.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/style.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/styled-jsx/types/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/get-page-files.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/canary.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/experimental.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/canary.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/experimental.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/fallback.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/bundler.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/load-custom-routes.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/image-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/body-streams.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/search-params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/vary-params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-kind.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matches/route-match.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/app-router-headers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/cache-control.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/render-result.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/response-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/response-cache/index.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/static-paths/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/instrumentation/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/worker.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/page-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/require-hook.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-baseline.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/node-environment.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/page-extensions-type.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/next-url.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/mitt.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/with-router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/route-loader.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/page-loader.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/flight-data-helpers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/templates/pages.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/render.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/load-default-error-components.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/base-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/after/after.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/after/after-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/lazy-result.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/async-storage/work-store.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/http.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/redirect-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/templates/app-route.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/get-supported-browsers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/utils.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/rendering-mode.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/cpu-profile.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/export/routes/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/export/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/export/worker.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/worker.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/coalesced-function.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/trace/trace.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/trace/shared.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/load-jsconfig.d.ts","../../../node_modules/.pnpm/@next+env@16.2.11/node_modules/@next/env/dist/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/telemetry/storage.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/build-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/swc/generated-native.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/define-env.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/swc/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/swc/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/shared/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/parse-stack.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/server/shared.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/debug-channel.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/base-http/node.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../../node_modules/.pnpm/@img+colour@1.1.0/node_modules/@img/colour/index.d.ts","../../../node_modules/.pnpm/sharp@0.35.3_@types+node@20.19.40/node_modules/sharp/dist/index.d.mts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/image-optimizer.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/next-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/lru-cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/next.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/render-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/route-module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/load-components.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/adapter.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/app-render.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/layout-router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/client-page.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/client-segment.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/metadata/metadata.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/app-render/entry-base.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/templates/app-page.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/jsx-dev-runtime.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/compiler-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/client.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.2.17/node_modules/@types/react-dom/server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/fallback-params.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/after/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/connection.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/exports/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request-meta.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/cli/next-test.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/size-limit.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/config-shared.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/base-http/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/api-utils/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/build/adapter/build-complete.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/utils.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/pages/_app.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/app.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/cache.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/pages/_document.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/document.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/pages/_error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/catch-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/api/error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/head.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/head.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/headers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/server/request/draft-mode.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/headers.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/image-component.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/shared/lib/image-external.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/image.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/link.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/link.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/redirect.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/not-found.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/forbidden.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/unauthorized.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/components/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/router.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/client/script.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/script.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/server.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/types/compiled.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/types.d.ts","../../../node_modules/.pnpm/next@16.2.11_@playwright+te_b979904d474894561c59986f25356e98/node_modules/next/index.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/lib/types.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/errors.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/google.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/providers/google.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.3_nodemailer@9.0.3/node_modules/@auth/core/providers/github.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/providers/github.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.32_nex_4a8037c68c76a116ef9d8f0c5bf19f5a/node_modules/next-auth/providers/nodemailer.d.ts","../src/config.ts","../src/auth.ts","../src/email.ts","../src/utils.ts","../src/index.ts"],"fileIdsList":[[370,378,390,436,508],[390,436],[361,362,363,364,365,367,370,378,379,390,436],[367,370,390,436],[361,390,436],[370,390,436],[366,370,390,436],[360,366,390,436],[359,368,370,379,390,436],[370,372,378,390,436],[370,374,375,378,390,436],[378,390,436],[368,370,373,376,377,390,436],[370,376,390,436],[358,361,366,370,374,378,390,436],[370,378,390,436],[357,358,359,360,366,367,369,378,390,436],[379,383,390,436],[78,356,379,390,436],[78,215,379,390,436],[78,301,379,390,436],[215,301,356,380,381,382,390,436],[390,433,436],[390,435,436],[436],[390,436,441,469],[390,436,437,442,447,455,466,477],[390,436,437,438,447,455],[385,386,387,390,436],[390,436,439,478],[390,436,440,441,448,456],[390,436,441,466,474],[390,436,442,444,447,455],[390,435,436,443],[390,436,444,445],[390,436,446,447],[390,435,436,447],[390,436,447,448,449,466,477],[390,436,447,448,449,462,466,469],[390,436,444,447,450,455,466,477],[390,436,447,448,450,451,455,466,474,477],[390,436,450,452,466,474,477],[388,389,390,391,392,393,394,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483],[390,436,447,453],[390,436,454,477,482],[390,436,444,447,455,466],[390,436,456],[390,436,457],[390,435,436,458],[390,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483],[390,436,460],[390,436,461],[390,436,447,462,463],[390,436,462,464,478,480],[390,436,447,466,467,469],[390,436,468,469],[390,436,466,467],[390,436,469],[390,436,470],[390,433,436,466,471],[390,436,447,472,473],[390,436,472,473],[390,436,441,455,466,474],[390,436,475],[390,436,455,476],[390,436,450,461,477],[390,436,441,478],[390,436,466,479],[390,436,454,480],[390,436,481],[390,431,436],[390,431,436,447,449,458,466,469,477,480,482],[390,436,466,483],[390,436,491],[390,436,447,466,474,484,485,486,489,490,491],[390,436,512,521,523],[390,436,512],[390,436,512,516,519,520,521,522,805,850],[390,436,512,787],[390,436,512,516,520,523,805,850],[390,436,512,516,519,523,805,850],[390,436,510,511],[60,63,67,84,85,390,436],[60,78,79,390,436],[80,390,436],[60,81,85,390,436],[60,81,84,85,143,215,267,301,356,390,436],[60,63,81,84,302,390,436],[60,390,436],[115,120,139,390,436],[60,76,115,390,436],[89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,118,390,436],[60,85,88,117,302,390,436],[60,85,117,302,390,436],[60,81,84,85,110,115,116,302,390,436],[60,81,84,85,115,117,302,390,436],[60,117,302,390,436],[60,85,115,117,302,390,436],[88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,117,118,390,436],[60,87,117,302,390,436],[60,85,99,117,302,390,436],[60,85,99,115,117,302,390,436],[60,61,67,73,80,81,84,115,119,120,122,124,125,126,128,134,135,139,390,436],[60,67,81,84,115,119,134,138,139,390,436],[60,115,119,390,436],[86,87,110,111,112,113,114,115,116,119,126,127,128,134,135,137,138,140,141,142,390,436],[60,84,115,119,390,436],[60,84,111,115,390,436],[60,84,115,128,390,436],[60,61,71,83,84,115,123,128,135,139,390,436],[129,130,131,132,133,136,139,390,436],[60,61,63,71,73,83,84,110,115,117,123,128,130,135,136,139,390,436],[60,61,73,84,119,126,133,135,139,390,436],[60,67,71,81,84,115,123,128,135,390,436],[60,71,84,121,123,390,436],[60,71,84,123,128,135,138,390,436],[60,61,71,73,79,81,83,84,115,119,120,123,126,128,135,139,390,436],[61,62,63,73,81,83,84,115,119,120,128,133,138,390,436],[60,61,63,71,81,83,84,85,115,117,120,123,128,135,139,390,436],[60,84,87,115,390,436],[60,67,76,79,80,81,121,127,135,139,390,436],[61,83,84,390,436],[60,63,86,109,110,112,113,114,116,117,302,390,436],[61,84,85,86,110,112,113,114,115,116,119,120,138,143,302,390,436],[60,84,390,436],[60,73,81,83,84,117,120,136,137,302,390,436],[60,61,62,63,67,68,69,70,71,76,77,81,85,302,390,436],[332,339,352,390,436],[60,84,332,390,436],[304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,324,325,326,327,335,390,436],[60,85,302,334,390,436],[60,81,85,302,334,390,436],[60,81,84,85,302,332,333,390,436],[60,81,84,85,302,332,334,390,436],[60,81,85,302,332,334,390,436],[304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,324,325,326,327,334,335,390,436],[60,85,302,314,334,390,436],[60,81,85,302,322,390,436],[60,61,67,80,81,84,332,338,339,344,345,346,347,349,352,390,436],[60,67,81,84,192,332,334,337,342,343,349,352,390,436],[60,332,336,390,436],[303,329,330,331,332,333,336,338,344,346,348,349,350,351,353,354,355,390,436],[60,84,332,336,390,436],[60,84,332,339,349,390,436],[60,61,71,81,84,332,334,344,349,352,390,436],[337,340,341,342,343,352,390,436],[60,63,71,73,79,84,123,332,334,341,342,344,349,352,390,436],[60,61,338,340,344,352,390,436],[60,67,71,81,84,332,344,349,390,436],[60,61,71,73,79,81,83,84,329,332,336,338,339,344,349,352,390,436],[61,62,63,73,81,83,84,332,336,339,340,349,351,390,436],[60,61,71,79,81,84,85,332,334,344,349,352,390,436],[60,332,351,390,436],[60,67,79,80,81,84,344,348,352,390,436],[61,73,83,84,341,390,436],[60,63,302,303,328,329,330,331,333,334,390,436],[61,78,303,329,330,331,332,333,339,340,351,356,390,436],[60,73,83,84,302,336,339,341,350,390,436],[60,67,70,80,81,198,205,390,436,492,493],[390,436,493,494],[60,67,70,79,81,84,199,205,209,215,253,390,436,492],[61,63,84,85,390,436],[185,191,209,390,436],[60,76,185,390,436],[145,146,147,148,149,151,152,153,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,188,390,436],[60,85,155,187,302,390,436],[60,85,187,302,390,436],[60,81,85,187,302,390,436],[60,81,84,85,180,185,186,302,390,436],[60,81,84,85,185,187,302,390,436],[60,187,302,390,436],[60,81,85,150,187,302,390,436],[60,81,85,185,187,302,390,436],[145,146,147,148,149,151,152,153,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,187,188,189,390,436],[60,154,187,302,390,436],[60,85,157,187,302,390,436],[60,85,185,187,302,390,436],[60,85,150,157,185,187,302,390,436],[60,81,85,150,185,187,302,390,436],[60,61,67,80,81,84,185,190,191,193,194,195,196,197,199,204,205,208,209,390,436],[60,67,81,84,185,190,192,199,204,208,209,390,436],[60,185,190,390,436],[144,154,180,181,182,183,184,185,186,190,197,198,199,204,205,207,208,210,211,212,214,390,436],[60,84,185,190,390,436],[60,84,181,185,390,436],[60,81,84,185,199,390,436],[60,61,71,73,79,83,84,123,185,199,205,209,390,436],[196,200,201,202,203,206,209,390,436],[60,61,63,71,73,79,83,84,123,180,185,187,199,201,205,206,209,390,436],[60,61,84,190,197,203,205,209,390,436],[60,67,71,81,84,123,185,199,205,390,436],[60,71,84,123,199,205,208,390,436],[60,61,71,73,79,81,83,84,123,185,190,191,197,199,205,209,390,436],[61,62,63,73,81,83,84,185,190,191,199,203,208,390,436],[60,61,63,71,73,79,81,83,84,85,123,185,187,191,199,205,209,390,436],[60,81,84,154,185,189,208,390,436],[60,67,76,79,80,81,121,198,205,209,390,436],[61,73,83,84,206,390,436],[60,63,144,179,180,182,183,184,186,187,302,390,436],[61,84,85,144,180,182,183,184,185,186,190,191,208,215,302,390,436],[213,390,436],[60,73,81,83,84,187,191,206,207,302,390,436],[60,76,390,436],[61,62,63,81,84,85,302,390,436],[60,63,66,78,81,84,85,390,436],[302,390,436],[78,390,436],[245,263,390,436],[216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,235,236,237,238,239,240,247,390,436],[60,85,246,302,390,436],[60,81,85,246,302,390,436],[60,81,85,245,302,390,436],[60,81,84,85,245,246,302,390,436],[60,81,85,245,246,302,390,436],[60,76,81,85,246,302,390,436],[216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,235,236,237,238,239,240,246,247,390,436],[60,85,226,246,302,390,436],[60,81,85,234,302,390,436],[60,61,67,80,84,245,252,255,256,257,260,262,263,390,436],[60,67,81,84,192,245,246,249,250,251,262,263,390,436],[242,243,244,245,248,252,257,260,261,262,264,265,266,390,436],[60,84,245,248,390,436],[60,245,248,390,436],[60,84,245,262,390,436],[60,61,71,81,84,245,246,252,262,263,390,436],[249,250,251,258,259,263,390,436],[60,63,71,84,123,245,246,250,252,262,263,390,436],[60,61,252,257,258,263,390,436],[60,61,71,73,79,81,83,84,245,248,252,257,262,263,390,436],[61,62,63,73,81,83,84,245,248,258,262,390,436],[60,61,71,81,84,85,245,246,252,262,263,390,436],[60,245,390,436],[60,67,79,80,81,84,252,261,263,390,436],[61,73,83,84,259,390,436],[60,63,241,242,243,244,246,302,390,436],[61,84,85,242,243,244,245,267,302,390,436],[60,67,70,80,81,252,254,261,390,436],[60,67,70,79,81,84,252,253,262,263,390,436],[84,85,390,436],[64,65,390,436],[72,74,390,436],[73,84,85,390,436],[66,75,84,390,436],[60,61,63,81,82,83,85,390,436],[273,294,299,390,436],[60,84,294,390,436],[269,289,290,291,292,297,390,436],[60,81,85,296,302,390,436],[60,81,84,85,294,295,302,390,436],[60,81,84,85,294,296,302,390,436],[269,289,290,291,292,296,297,390,436],[60,81,85,288,294,296,302,390,436],[60,85,296,302,390,436],[60,81,85,294,296,302,390,436],[60,61,67,80,81,84,273,274,275,276,279,284,285,294,299,390,436],[60,67,81,84,192,279,284,294,298,299,390,436],[60,294,298,390,436],[268,270,271,272,276,277,279,284,285,287,288,294,295,298,300,390,436],[60,84,294,298,390,436],[60,84,279,287,294,390,436],[60,61,71,81,83,84,123,279,285,294,296,299,390,436],[280,281,282,283,286,299,390,436],[60,61,71,73,81,83,84,123,270,279,281,285,286,294,296,299,390,436],[60,61,276,283,285,299,390,436],[60,67,71,81,84,123,279,285,294,390,436],[60,71,84,121,123,285,390,436],[60,61,71,73,79,81,83,84,123,273,276,279,285,294,298,299,390,436],[61,62,63,73,81,83,84,273,279,283,287,294,298,390,436],[60,61,71,81,83,84,85,123,273,279,285,294,296,299,390,436],[60,67,71,79,80,84,121,277,278,285,299,390,436],[61,73,83,84,286,390,436],[60,63,268,270,271,272,293,295,296,302,390,436],[60,294,296,390,436],[61,84,268,270,271,272,273,287,294,295,301,390,436],[60,73,83,84,273,286,296,302,390,436],[60,62,81,84,85,390,436],[63,70,80,84,85,390,436],[379,390,436],[366,370,378,390,436,851,855,856,857,858],[366,370,390,436,851,855,856],[390,436,851],[390,436,862],[390,436,860],[375,390,436],[390,436,808],[390,436,810,811,812,813],[390,436,757,819,820],[390,436,528,529,531,543,567,682,693,801],[390,436,531,562,563,564,566,801],[390,436,531,699,701,703,704,706,801,803],[390,436,531,565,602,801],[390,436,529,531,542,543,549,555,560,681,682,683,692,801,803],[390,436,801],[390,436,538,544,563,583,678],[390,436,531],[390,436,524,538,544],[390,436,710],[390,436,707,708,710],[390,436,707,709,801],[390,436,450,583,781,798],[390,436,450,654,657,673,678,798],[390,436,450,626,798],[390,436,686],[390,436,685,686,687],[390,436,685],[390,436,450,518,524,531,543,549,555,561,563,567,568,581,582,649,679,680,693,801,805],[390,436,528,531,565,602,699,700,705,801,853],[390,436,565,853],[390,436,528,582,752,801,853],[390,436,853],[390,436,531,565,566,853],[390,436,702,853],[390,436,568,681,684,691],[390,436,512,757],[390,436,461,538,553],[390,436,538,553],[390,436,512,623],[390,436,512,553],[390,436,512,544,553,757],[390,436,538,609,623,624,835,842],[390,436,608,836,837,838,839,841],[390,436,659],[390,436,659,660],[390,436,542,544,611,612],[390,436,544,618,619],[390,436,544,613,621],[390,436,618],[390,436,536,544,611,612,613,614,615,616,617,618,621],[390,436,544,611,618,619,620,622],[390,436,544,612,614,615],[390,436,612,614,617,619],[390,436,840],[390,436,544],[390,436,512,532,829],[390,436,477,512],[390,436,512,565,600],[390,436,512,565,693],[390,436,598,603],[390,436,512,599,807],[390,436,450,512,516,519,520,523,805,849],[390,436,450,544],[390,436,450,543,548,629,646,688,689,693,749,751,801,802],[390,436,581,690],[390,436,805],[390,436,530],[390,436,512,535,538,754,770,772],[390,436,461,538,754,769,770,771,852],[390,436,763,764,765,766,767,768],[390,436,765],[390,436,769],[390,436,553,717,718,720],[390,436,512,544,711,712,713,714,719],[390,436,717,719],[390,436,715],[390,436,716],[390,436,512,553,599,807],[390,436,512,553,806,807],[390,436,512,553,807],[390,436,646,647],[390,436,647],[390,436,450,802,807],[390,436,676],[390,435,436,675],[390,436,538,544,550,552,654,667,671,673,751,754,790,791,798,802],[390,436,544,593,615],[390,436,654,665,668,673],[390,436,512,535,538,654,657,673,676,710,758,759,760,761,762,773,774,775,776,777,778,779,780,853],[390,436,535,538,563,654,661,662,663,666,667],[390,436,466,544,563,665,672,754,755,798],[390,436,669],[390,436,450,461,532,544,548,558,590,591,594,646,649,714,749,750,790,801,802,803,805,853],[390,436,535,536,538],[390,436,654],[390,435,436,563,590,591,648,649,650,651,652,653,802],[390,436,673],[390,435,436,537,538,548,552,588,654,661,662,663,664,665,668,669,670,671,672,791],[390,436,450,588,589,661,802,803],[390,436,563,591,646,649,654,751,802],[390,436,450,801,803],[390,436,450,466,798,802,803],[390,436,450,461,524,538,543,550,552,555,558,565,585,590,591,592,593,594,629,630,632,635,637,640,641,642,643,645,693,749,751,798,801,802,803],[390,436,450,466],[390,436,531,532,533,561,798,799,800,805,807,853],[390,436,528,529,801],[390,436,722],[390,436,450,466,477,540,706,710,711,712,713,714,720,721,853],[390,436,461,477,524,538,540,552,555,591,630,635,645,646,699,726,727,728,735,738,739,749,751,798,801],[390,436,555,561,568,581,591,649,801],[390,436,450,477,532,543,552,591,733,798,801],[390,436,753],[390,436,450,722,736,737,746],[390,436,798,801],[390,436,651,791],[390,436,552,590,693,807],[390,436,450,461,530,635,695,699,728,735,738,741,798],[390,436,450,568,581,699,742],[390,436,531,592,693,744,801,803],[390,436,450,477,714,801],[390,436,450,565,592,693,694,695,704,722,743,745,801],[390,436,450,518,590,748,805,807],[390,436,644,749],[390,436,450,461,538,541,543,544,550,552,558,567,568,581,591,594,630,632,642,645,646,693,726,727,728,729,731,734,749,751,798,807],[390,436,450,466,568,735,740,746,798],[390,436,571,572,573,574,575,576,577,578,579,580],[390,436,585,636],[390,436,638],[390,436,636],[390,436,638,639],[390,436,450,542,543,544,548,549,802],[390,436,450,461,530,532,550,554,590,593,594,628,749,798,803,805,807],[390,436,450,461,477,534,541,542,552,554,591,747,791,797,802],[390,436,661],[390,436,662],[390,436,544,555,790],[390,436,663],[390,436,537],[390,436,539,551],[390,436,450,539,543,550],[390,436,546,551],[390,436,547],[390,436,539,540],[390,436,539,595],[390,436,539],[390,436,541,585,634],[390,436,633],[390,436,538,540,541],[390,436,541,631],[390,436,538,540],[390,436,590,693],[390,436,790],[390,436,450,477,550,552,556,590,693,748,751,754,755,756,782,783,786,789,791,798,802],[390,436,604,607,609,610,623,624],[390,436,512,521,523,553,784,785],[390,436,512,521,523,553,784,785,788],[390,436,677],[390,436,563,584,589,590,654,655,656,657,658,660,673,674,676,679,748,751,801,803],[390,436,623],[390,436,450,628,798],[390,436,628],[390,436,450,550,596,625,627,629,748,798,805,807],[390,436,604,605,606,607,609,610,623,624,806],[390,436,450,461,477,518,539,540,552,558,590,591,594,693,746,747,749,798,801,802,805],[390,436,535,538,545],[390,436,589,591,723,726],[390,436,589,724,792,793,794,795,796],[390,436,450,585,801],[390,436,450],[390,436,588,673],[390,436,587],[390,436,589,642],[390,436,586,588,801],[390,436,450,534,589,723,724,725,798,801,802],[390,436,512,538,544,622],[390,436,512,536],[390,436,526,527],[390,436,512,532],[390,436,512,538,608],[390,436,512,518,590,594,805,807],[390,436,532,829,830],[390,436,512,603],[390,436,461,477,512,530,597,599,601,602,807],[390,436,538,565,802],[390,436,538,730],[390,436,448,450,461,512,528,530,603,701,805,806],[390,436,512,519,520,523,805,850],[390,436,512,513,514,515,516],[390,436,441],[390,436,696,697,698],[390,436,696],[390,436,450,452,461,484,512,516,519,520,521,523,524,530,558,563,741,769,803,804,807,850],[390,436,815],[390,436,817],[390,436,821],[390,436,823],[390,436,825,826,827],[390,436,831],[390,436,517,809,814,816,818,822,824,828,832,834,844,845,847,851,852,853,854],[390,436,833],[390,436,843],[390,436,599],[390,436,846],[390,435,436,589,723,724,726,792,793,795,796,848,850],[390,436,484],[390,436,484,486,487,488],[390,436,466,484,486],[371,390,436],[372,390,436],[390,436,466,484,732],[390,403,407,436,477],[390,403,436,466,477],[390,398,436],[390,400,403,436,474,477],[390,436,455,474],[390,398,436,484],[390,400,403,436,455,477],[390,395,396,399,402,436,447,466,477],[390,403,410,436],[390,395,401,436],[390,403,424,425,436],[390,399,403,436,469,477,484],[390,424,436,484],[390,397,398,436,484],[390,403,436],[390,397,398,399,400,401,402,403,404,405,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,425,426,427,428,429,430,436],[390,403,418,436],[390,403,410,411,436],[390,401,403,411,412,436],[390,402,436],[390,395,398,403,436],[390,403,407,411,412,436],[390,407,436],[390,401,403,406,436,477],[390,395,400,403,410,436],[390,436,466],[390,398,403,424,436,482,484],[78,379,384,390,436,507,508],[390,436,509,859,865],[78,390,436,441,507,859,861,863,864],[390,436,509,865,866,867,868],[390,436,866],[390,436,492,495,505],[78,390,436,497,498,499,500,501,504,505,506],[78,215,390,436,497],[215,390,436,496],[78,215,390,436,497,499],[390,436,497,498,499,500,501,502,503,504],[78,215,390,436,497,498],[215,390,436]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"d0e327cd50cc55eb34fef7028c46f2dcb28fbfe1b5329dbd2277be5e186bbeac","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"4fc633107330ab389f07f86af80192ac697a68a586ad76dcf43304410e7cfb6a","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"e8fc8d807069e0f94d481106510fae66792e6a66f330c45fd3c769053cfa5608","impliedFormat":99},{"version":"4c57148a2cb7736c37a7ca128fc8adec5a683413663c17604a28da143ca1a65b","impliedFormat":99},{"version":"37a5b233da6141bd6cd4e78dd8bcd9c0dd29e33ec10707cb57c66304cf743e46","impliedFormat":99},{"version":"c8e1a516135ad6fd057ddc5a01036067ff3b43b3277d18f1eb4c5df22630b50b","impliedFormat":99},{"version":"7d8b55f6b9e7a7a003063ecd596c72c23fe6d8225d6cf3e00e8b375059123513","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"092c1137e31de289f3cc6a57fdccb3cca298d8a680d1e367d206d3318f1394a1","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e20d899c28ca26a2a7afc98beaa69e63ff7fba0a8bc47b4e3bf3ede5e09e424","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"085f552d005479e2e6a7311cdbbe5d8c55c497b4d19274285df161ee9684cd9c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"007faacc9268357caa21d24169f3f3f2497af3e9241308df2d89f6e6d9bb3f2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"10b981156c3bd1db5b9146245e30473e1fa2b58c98346f8acdb7538947df3365","957f26931c2ed5af42709bad6abb710f43631371014ef4c81fac9d5f419d4249","447f663a195a5c8d2c4ba312f9115387092f87269f630010e00c5972f64deec5","600dc6bc372ea5db0ecf68eef984fd5d509bef523ab355230a76ed227781de11","4e7d11e3921bd8923d16ce24d0d3e56053dba6f9c683ab63674c7d2bb0298a06","e0ad30d8cc36c538119167dae544bee3c93daefb2269553a8e45a02a87534257","f06dd40409e73885ed1daecf8afdc0ba400c84bc921742be9fe4a63fdbf03cdc","f1c72d16f8460774f81d19edc0669252a2fa32de15c5d0c5024b6c7e213587de","50980b4f45fc54d0874da9ae7fed6628981b618fe7cbba94952e60479119b23c","0e8cab67ed21b45b6103c42d45abb001b7f5c03a8404a787c2adb76582bebc29","4d9c5742d3c56b0aa7f9aece6be317528d9e99f9ccccbc99f39848b7a0a47205",{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"55fb0f8cb5ac66d36524d612cec1415df09c4d4da07ba63fe38221e81a4b0737",{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc782ff85b2cb10075ecffc158af7bfb27ff97bf8491c917efea0c3d622d5ac4","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"115b2ad73fa7d175cd71a5873d984c21593b2a022f1a2036cc39d9f53629e5dc","impliedFormat":1},{"version":"1be330b3a0b00590633f04c3b35db7fa618c9ee079258e2b24c137eb4ffcd728","impliedFormat":1},{"version":"3253d41f1fefc58f0ba77053f23a3c310cf1a2b880d3b98c63d52161baa730d3","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"48dcc919f76c040a999c0d46d2bf25ab089645ca21b837f120b222f56a86cd76","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"2467b00d963828f540f4acd7910f4c04cfe4b489550e6bb682212f65583bca5b","impliedFormat":1},{"version":"854e50b93090b3f8fd6e355b074e1d24dce1ae0240f1ce46563e35fea210a6d5","impliedFormat":99},{"version":"5a16e93d5d53d987dddda1ec606c9821f6bd31d1bdf0635e05e3841312cefa8b","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"88e9caa9c5d2ba629240b5913842e7c57c5c0315383b8dc9d436ef2b60f1c391","impliedFormat":1},{"version":"ddf68b3b62e49cf6fd93ba2351ad0fbbcf62ca2d5d7afc9f186114e4b481c3cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"5757b78830c681b3124af568b94c269259ea5e8171a4316508ef67310c2ed1ed","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"69dbe5d61d2f298046513598f55bd1e719c50dfd6af2f9feea6fc84f8aa3c4bf","impliedFormat":99},{"version":"7e442e27a133b8026f45b7e2b04a7aee35dde73f48077cd0e1c6d8d7b89f1304","impliedFormat":99},{"version":"2ebe2f0255b6f301ba7bc0e10c3dda289c6cf1876f289f7a8f6444613d988e5e","impliedFormat":99},{"version":"012b5083a47ccbe050763f8df2be89daa50c1606e9a0bb31f64276d508c02d78","impliedFormat":99},{"version":"790ed69a8312f812298f3d5329e1a5198576009a8214feefa7a8d5f9dbc25046","impliedFormat":99},{"version":"96c709e09fddb3e146cdc39df645f1fde76c2bbe8f455180112af4b36811dbcf","impliedFormat":99},{"version":"7955f23e27696e82e256b5c9fd58c2a0bce85b21f2ea97584733a0456d187dce","impliedFormat":99},{"version":"2316180d3e3055f30525cc4f2c0a5d393fe5ec8de3c7a6732bd8aa7cad4b5bb9","impliedFormat":99},{"version":"aeae6c24b13d1a0c7bbc1aa2119ba91562c1b0ef89aa5aa41b1b6bb85a03887f","impliedFormat":99},{"version":"577f8c84c3d215df31edf727f213774fa52938e6551ce0acfe0426b2a8a62dc3","signature":"bdcb4e4bde1a6c5eb93f98a7a73d6777e51e6459b999884a83c644abebfe0d91"},"5fffb2abb62be3e554943b079c8ef2d5dd4bb8373a54aab173284a96bd4ce774","fc59d4f732e424a6514fc9c3c898a330d63e21b4b850945a8c2af2caa155d76e","4a11be49f47787b1e86cf27657d31fb3c98a1c65a935623d149db3cbfd8e5eca","29b50dbd1c5c334e78a8ec8361a88be3079316f901c39b66615b41a660162dc0"],"root":[509,[865,869]],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":200,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[379,1],[858,2],[366,3],[364,4],[362,5],[361,2],[365,6],[359,6],[363,7],[367,8],[369,9],[357,2],[373,10],[376,11],[862,12],[860,12],[378,13],[375,14],[377,15],[374,2],[368,16],[370,17],[360,2],[384,18],[380,19],[381,20],[382,21],[383,22],[732,2],[701,2],[433,23],[434,23],[435,24],[390,25],[436,26],[437,27],[438,28],[385,2],[388,29],[386,2],[387,2],[439,30],[440,31],[441,32],[442,33],[443,34],[444,35],[445,35],[446,36],[447,37],[448,38],[449,39],[391,2],[389,2],[450,40],[451,41],[452,42],[484,43],[453,44],[454,45],[455,46],[456,47],[457,48],[458,49],[459,50],[460,51],[461,52],[462,53],[463,53],[464,54],[465,2],[466,55],[468,56],[467,57],[469,58],[470,59],[471,60],[472,61],[473,62],[474,63],[475,64],[476,65],[477,66],[478,67],[479,68],[480,69],[481,70],[392,2],[393,2],[394,2],[432,71],[482,72],[483,73],[492,74],[491,75],[490,74],[522,76],[787,77],[523,78],[521,77],[788,79],[519,80],[785,2],[520,81],[510,2],[512,82],[784,77],[553,77],[511,2],[68,83],[80,84],[253,85],[79,2],[82,86],[302,87],[85,88],[60,2],[69,89],[140,90],[86,91],[109,92],[118,93],[89,93],[90,94],[91,94],[117,95],[92,96],[93,94],[99,97],[94,98],[95,94],[96,94],[119,99],[88,100],[97,93],[98,98],[100,101],[101,101],[102,98],[103,94],[104,93],[105,94],[106,102],[107,102],[108,94],[127,103],[135,104],[116,105],[143,106],[110,107],[112,108],[113,105],[122,109],[129,110],[134,111],[131,112],[136,113],[124,114],[125,115],[132,116],[133,117],[139,118],[130,119],[111,89],[141,120],[87,89],[128,121],[126,122],[115,123],[114,105],[142,124],[120,125],[137,2],[138,126],[78,127],[70,89],[192,2],[353,128],[303,129],[328,130],[335,131],[304,131],[305,131],[306,132],[334,133],[307,134],[322,131],[308,135],[309,135],[310,132],[311,131],[312,132],[313,131],[336,136],[314,131],[315,131],[316,137],[317,131],[318,131],[319,137],[320,132],[321,131],[323,138],[324,137],[325,131],[326,132],[327,131],[348,139],[344,140],[333,141],[356,142],[329,143],[330,141],[345,144],[337,145],[346,146],[343,147],[341,148],[347,149],[340,150],[352,151],[342,152],[354,153],[349,154],[338,155],[332,156],[331,141],[355,157],[339,125],[350,2],[351,158],[494,159],[495,160],[493,161],[62,162],[210,163],[144,164],[179,165],[188,166],[145,167],[146,167],[147,168],[148,167],[187,169],[149,170],[150,171],[151,172],[152,167],[189,173],[190,174],[153,167],[155,175],[156,166],[158,176],[159,177],[160,177],[161,168],[162,167],[163,167],[164,173],[165,168],[166,168],[167,177],[168,167],[169,166],[170,167],[171,168],[172,178],[157,179],[173,167],[174,168],[175,167],[176,167],[177,167],[178,167],[198,180],[205,181],[186,182],[215,183],[180,184],[182,185],[183,182],[193,186],[200,187],[204,188],[202,189],[206,190],[194,191],[195,115],[196,192],[203,193],[209,194],[201,195],[181,89],[211,196],[154,89],[199,197],[197,198],[185,199],[184,182],[212,200],[213,2],[214,201],[191,125],[207,2],[208,202],[73,203],[83,204],[71,89],[67,205],[123,206],[121,207],[264,208],[241,209],[247,210],[216,210],[217,210],[218,211],[246,212],[219,213],[234,210],[220,214],[221,214],[222,211],[223,210],[224,215],[225,210],[248,216],[226,210],[227,210],[228,217],[229,210],[230,210],[231,217],[232,211],[233,210],[235,218],[236,217],[237,210],[238,211],[239,210],[240,210],[261,219],[252,220],[267,221],[242,222],[243,223],[256,224],[249,225],[260,226],[251,227],[259,228],[258,229],[263,230],[250,231],[265,232],[262,233],[257,234],[245,235],[244,223],[266,236],[255,237],[254,238],[64,239],[66,240],[65,239],[72,239],[75,241],[74,242],[76,243],[84,244],[300,245],[268,246],[293,247],[297,248],[296,249],[269,250],[298,251],[289,252],[290,248],[291,253],[292,254],[277,255],[285,256],[295,257],[301,258],[270,259],[271,257],[274,260],[280,261],[284,262],[282,263],[286,264],[275,265],[278,266],[283,267],[299,268],[281,269],[279,270],[276,271],[294,272],[272,273],[288,274],[273,125],[287,275],[61,125],[63,276],[81,277],[77,2],[508,278],[859,279],[857,280],[856,281],[863,282],[861,283],[864,284],[496,278],[809,285],[814,286],[821,287],[804,288],[557,2],[565,289],[705,290],[708,291],[680,2],[693,292],[700,293],[582,2],[682,2],[563,2],[679,294],[725,295],[564,2],[555,296],[707,297],[709,298],[710,299],[782,300],[674,301],[627,302],[687,303],[688,304],[686,305],[685,2],[681,306],[706,307],[566,308],[752,2],[753,309],[593,310],[567,311],[594,310],[630,310],[533,310],[703,312],[702,2],[692,313],[799,2],[542,2],[820,314],[760,315],[761,316],[757,317],[838,2],[657,2],[762,318],[758,319],[843,320],[842,321],[837,2],[608,2],[660,322],[659,2],[836,323],[759,77],[613,324],[620,325],[622,326],[612,2],[617,327],[619,328],[621,329],[616,330],[614,2],[618,331],[839,2],[835,2],[841,332],[840,2],[611,333],[830,334],[833,335],[601,336],[600,337],[599,338],[846,77],[598,339],[587,2],[848,2],[849,77],[850,340],[525,2],[689,341],[690,342],[691,343],[529,2],[694,2],[549,344],[524,2],[774,77],[531,345],[773,346],[772,347],[763,2],[764,2],[771,2],[766,2],[769,348],[765,2],[767,349],[770,350],[768,349],[562,2],[559,2],[560,310],[714,2],[719,351],[720,352],[718,353],[716,354],[717,355],[712,2],[780,318],[554,318],[808,356],[815,357],[819,358],[648,359],[647,2],[642,2],[795,360],[803,361],[675,362],[676,363],[755,364],[664,2],[778,365],[652,77],[669,366],[781,367],[665,2],[668,368],[666,2],[779,369],[776,370],[775,2],[777,2],[672,2],[751,371],[537,372],[650,373],[654,374],[670,375],[673,376],[662,377],[655,378],[802,379],[728,380],[646,381],[534,382],[801,383],[530,384],[721,385],[713,2],[722,386],[740,387],[711,2],[739,388],[518,2],[734,389],[558,2],[754,390],[729,2],[543,2],[545,2],[684,2],[738,391],[561,2],[585,392],[671,393],[591,394],[651,2],[737,2],[715,2],[742,395],[743,396],[683,2],[745,397],[747,398],[746,399],[695,2],[736,382],[749,400],[645,401],[735,402],[741,403],[570,2],[574,2],[573,2],[572,2],[577,2],[571,2],[580,2],[579,2],[576,2],[575,2],[578,2],[581,404],[569,2],[637,405],[636,2],[641,406],[638,407],[640,408],[643,406],[639,407],[550,409],[629,410],[798,411],[796,2],[825,412],[827,413],[791,414],[826,415],[538,416],[535,416],[568,2],[552,417],[551,418],[547,419],[548,420],[556,421],[584,421],[595,421],[631,422],[596,422],[540,423],[539,2],[635,424],[634,425],[633,426],[632,427],[541,428],[783,429],[583,430],[790,431],[756,432],[786,433],[789,434],[678,435],[677,436],[658,437],[644,438],[626,439],[628,440],[625,441],[748,442],[649,2],[813,2],[546,443],[750,444],[797,445],[656,2],[586,446],[663,447],[661,448],[588,449],[723,450],[792,2],[589,451],[724,451],[811,2],[810,2],[812,2],[794,2],[793,2],[726,452],[653,2],[623,453],[544,454],[602,2],[528,455],[590,2],[817,77],[527,2],[829,456],[610,77],[823,318],[609,457],[806,458],[607,456],[532,2],[831,459],[605,77],[606,77],[597,2],[526,2],[604,460],[603,461],[592,462],[667,52],[727,52],[744,2],[731,463],[730,2],[615,333],[536,2],[624,77],[800,344],[807,464],[513,77],[516,465],[517,466],[514,77],[515,2],[704,467],[699,468],[698,2],[697,469],[696,2],[805,470],[816,471],[818,472],[822,473],[824,474],[828,475],[832,476],[855,477],[834,478],[844,479],[845,480],[847,481],[851,482],[854,344],[853,2],[852,483],[358,2],[489,484],[486,483],[488,485],[487,2],[485,2],[372,486],[371,487],[733,488],[58,2],[59,2],[10,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[22,2],[23,2],[4,2],[24,2],[28,2],[25,2],[26,2],[27,2],[29,2],[30,2],[31,2],[5,2],[32,2],[33,2],[34,2],[35,2],[6,2],[39,2],[36,2],[37,2],[38,2],[40,2],[7,2],[41,2],[46,2],[47,2],[42,2],[43,2],[44,2],[45,2],[8,2],[51,2],[48,2],[49,2],[50,2],[52,2],[9,2],[53,2],[54,2],[55,2],[57,2],[56,2],[1,2],[410,489],[420,490],[409,489],[430,491],[401,492],[400,493],[429,483],[423,494],[428,495],[403,496],[417,497],[402,498],[426,499],[398,500],[397,483],[427,501],[399,502],[404,503],[405,2],[408,503],[395,2],[431,504],[421,505],[412,506],[413,507],[415,508],[411,509],[414,510],[424,483],[406,511],[407,512],[416,513],[396,514],[419,505],[418,503],[422,2],[425,515],[509,516],[866,517],[865,518],[867,2],[869,519],[868,520],[506,521],[507,522],[500,523],[497,524],[501,525],[498,525],[505,526],[502,527],[499,527],[504,528],[503,523]],"affectedFilesPendingEmit":[509,866,865,867,869,868],"version":"6.0.2"} \ No newline at end of file diff --git a/packages/auth/package.json b/packages/auth/package.json index caa6cd5c..4a3d9675 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -5,7 +5,8 @@ "main": "./src/index.ts", "types": "./src/index.ts", "exports": { - ".": "./src/index.ts" + ".": "./src/index.ts", + "./email": "./src/email.ts" }, "scripts": { "lint": "eslint .", @@ -15,9 +16,8 @@ "@auth/drizzle-adapter": "1.7.1", "@query/db": "workspace:*", "drizzle-orm": "0.45.2", - "minimatch": "10.2.3", - "next-auth": "5.0.0-beta.30", - "nodemailer": "8.0.5" + "next-auth": "5.0.0-beta.32", + "nodemailer": "^9.0.1" }, "peerDependencies": { "next": ">=15.0.0" @@ -25,10 +25,10 @@ "devDependencies": { "@query/tsconfig": "workspace:*", "@types/node": "^20", - "@typescript-eslint/eslint-plugin": "^8.24.1", - "@typescript-eslint/parser": "^8.24.1", - "@typescript-eslint/utils": "^8.24.1", - "eslint": "^9.30.1", + "@typescript-eslint/eslint-plugin": "^8.59.2", + "@typescript-eslint/parser": "^8.59.2", + "@typescript-eslint/utils": "^8.59.2", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.5", "typescript": "^6.0.2" } diff --git a/packages/auth/src/adapter.ts b/packages/auth/src/adapter.ts index 7d82e8a7..10457f6e 100644 --- a/packages/auth/src/adapter.ts +++ b/packages/auth/src/adapter.ts @@ -22,7 +22,7 @@ function createAdapter(): Adapter | undefined { return { ...baseAdapter, createVerificationToken: async ( - token: VerificationToken + token: VerificationToken, ): Promise => { if (!db) throw new Error("Database not available"); // Convert expires to ISO string for reliable Postgres timestamp handling @@ -46,7 +46,11 @@ function createAdapter(): Adapter | undefined { if (result.rowCount === 0) { return null; } - const row = result.rows[0] as { identifier: string; token: string; expires: string | Date }; + const row = result.rows[0] as { + identifier: string; + token: string; + expires: string | Date; + }; return { identifier: row.identifier, token: row.token, @@ -59,4 +63,4 @@ function createAdapter(): Adapter | undefined { } } -export const adapter: Adapter | undefined = createAdapter(); \ No newline at end of file +export const adapter: Adapter | undefined = createAdapter(); diff --git a/packages/auth/src/auth.ts b/packages/auth/src/auth.ts index 9160fcba..33e5ae36 100644 --- a/packages/auth/src/auth.ts +++ b/packages/auth/src/auth.ts @@ -11,4 +11,4 @@ export const { handlers, auth, signIn, signOut } = NextAuth({ ...authConfig, adapter, session: sessionConfig, -}); \ No newline at end of file +}); diff --git a/packages/auth/src/config.ts b/packages/auth/src/config.ts index 55621866..bac361f1 100644 --- a/packages/auth/src/config.ts +++ b/packages/auth/src/config.ts @@ -1,8 +1,10 @@ import type { NextAuthConfig } from "next-auth"; import GoogleProvider from "next-auth/providers/google"; +import GitHubProvider from "next-auth/providers/github"; import EmailProvider from "next-auth/providers/nodemailer"; import { db } from "@query/db"; import { sql } from "drizzle-orm"; +import { randomInt } from "node:crypto"; function html(params: { code: string; host: string }) { const { code, host } = params; @@ -38,12 +40,12 @@ function html(params: { code: string; host: string }) { ${code - .split("") - .map( - (d) => - `` - ) - .join("")} + .split("") + .map( + (d) => + ``, + ) + .join("")}
${d}
${d}
@@ -72,7 +74,14 @@ export const authConfig: NextAuthConfig = { clientId: process.env.GOOGLE_CLIENT_ID as string, clientSecret: process.env.GOOGLE_CLIENT_SECRET as string, allowDangerousEmailAccountLinking: true, - checks: [], + // PKCE + state are the CSRF protection on the OAuth callback. They were + // previously disabled (`checks: []`), which combined with + // allowDangerousEmailAccountLinking let a forged callback attach an + // attacker's identity to an existing account. If sign-in starts failing + // with "State cookie was missing", the real cause is cookie/host + // configuration (AUTH_URL must match the public origin) — fix that rather + // than emptying this array again. + checks: ["pkce", "state"], authorization: { params: { prompt: "consent", @@ -81,6 +90,23 @@ export const authConfig: NextAuthConfig = { }, }, }), + // GitHub is optional: only registered when credentials are configured, so + // deployments without a GitHub OAuth app keep working unchanged. + ...(process.env.GITHUB_CLIENT_ID && process.env.GITHUB_CLIENT_SECRET + ? [ + GitHubProvider({ + clientId: process.env.GITHUB_CLIENT_ID, + clientSecret: process.env.GITHUB_CLIENT_SECRET, + // Matches the Google provider: a member who first signed in with + // Google can also use GitHub on the same verified email instead of + // hitting OAuthAccountNotLinked. + allowDangerousEmailAccountLinking: true, + // GitHub omits the email from the profile unless this scope is + // requested, and the adapter requires an email. + authorization: { params: { scope: "read:user user:email" } }, + }), + ] + : []), EmailProvider({ server: { host: process.env.EMAIL_SERVER_HOST as string, @@ -94,8 +120,10 @@ export const authConfig: NextAuthConfig = { from: process.env.EMAIL_FROM || "noreply@datasciencegt.org", // 6-digit code flow — no magic link, user types the code. sendVerificationRequest: async ({ identifier, provider }) => { - // Generate a 6-digit numeric code - const code = Math.floor(100000 + Math.random() * 900000).toString(); + // Generate a 6-digit numeric code. This code is the sole factor for + // email sign-in, so it must come from a CSPRNG — Math.random() is + // predictable from observed outputs and would let codes be guessed. + const code = randomInt(100000, 1000000).toString(); const customToken = `custom:${code}`; const expires = new Date(Date.now() + 10 * 60 * 1000); // 10 minutes @@ -131,7 +159,9 @@ export const authConfig: NextAuthConfig = { throw new Error(`Email(s) could not be sent`); } } catch { - throw new Error("Failed to send verification email. Please try again later."); + throw new Error( + "Failed to send verification email. Please try again later.", + ); } }, }), @@ -148,7 +178,7 @@ export const authConfig: NextAuthConfig = { // Add judge status to session for easier client-side checks const judge = await db.query.judges.findFirst({ - where: (j, { eq }) => eq(j.userId, user.id) + where: (j, { eq }) => eq(j.userId, user.id), }); // @ts-expect-error - custom property session.user.isJudge = !!judge; @@ -156,7 +186,11 @@ export const authConfig: NextAuthConfig = { return session; }, async redirect({ url, baseUrl }) { - return url.startsWith("/") ? `${baseUrl}${url}` : (new URL(url).origin === baseUrl ? url : baseUrl); + return url.startsWith("/") + ? `${baseUrl}${url}` + : new URL(url).origin === baseUrl + ? url + : baseUrl; }, }, session: { @@ -165,4 +199,4 @@ export const authConfig: NextAuthConfig = { updateAge: 24 * 60 * 60, }, debug: process.env.NODE_ENV === "development", -}; \ No newline at end of file +}; diff --git a/packages/auth/src/email.ts b/packages/auth/src/email.ts new file mode 100644 index 00000000..5a359a93 --- /dev/null +++ b/packages/auth/src/email.ts @@ -0,0 +1,79 @@ +import nodemailer from "nodemailer"; + +export async function sendAcceptanceEmail({ + email, + hackathonName, + host = "https://datasciencegt.org" +}: { + email: string; + hackathonName: string; + host?: string; +}) { + const transporter = nodemailer.createTransport({ + host: process.env.EMAIL_SERVER_HOST, + port: Number(process.env.EMAIL_SERVER_PORT || "587"), + auth: { + user: process.env.EMAIL_SERVER_USER, + pass: process.env.EMAIL_SERVER_PASSWORD, + }, + pool: true, + }); + + const mainColor = "#10b981"; + const backgroundColor = "#0f172a"; + const textColor = "#f8fafc"; + + const safeHackathonName = hackathonName + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); + + const safeHost = host + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); + + const html = ` + + + + + + + + + + + +
+
+

DataScienceGT

+
+

You're Accepted!

+

+ Congratulations! You have been accepted to participate in ${safeHackathonName}. +

+

+ Head over to the Hackathon Hub to view the event details, find a team, and get ready to build! +

+ +
+ © ${new Date().getFullYear()} Data Science at Georgia Tech +
+ + `; + + await transporter.sendMail({ + from: process.env.EMAIL_FROM || "noreply@datasciencegt.org", + to: email, + subject: `You're accepted to ${hackathonName}!`, + text: `Congratulations! You have been accepted to participate in ${hackathonName}. Head over to ${host}/hackathons to view the details.`, + html, + }); +} diff --git a/packages/auth/src/index.ts b/packages/auth/src/index.ts index 4d219256..4cf48062 100644 --- a/packages/auth/src/index.ts +++ b/packages/auth/src/index.ts @@ -1,4 +1,5 @@ export { auth, signIn, signOut, handlers } from "./auth"; export { authConfig } from "./config"; export { adapter } from "./adapter"; -export { getSession, requireAuth, getCurrentUserId } from "./utils"; \ No newline at end of file +export { getSession, requireAuth, getCurrentUserId } from "./utils"; +export { sendAcceptanceEmail } from "./email"; diff --git a/packages/auth/src/utils.ts b/packages/auth/src/utils.ts index 8f0cadf0..2175db8b 100644 --- a/packages/auth/src/utils.ts +++ b/packages/auth/src/utils.ts @@ -19,4 +19,4 @@ export async function getCurrentUserId(): Promise { throw new Error("User ID not found in session"); } return userId; -} \ No newline at end of file +} diff --git a/packages/auth/tsconfig.json b/packages/auth/tsconfig.json index 558184a4..f5486052 100644 --- a/packages/auth/tsconfig.json +++ b/packages/auth/tsconfig.json @@ -9,4 +9,4 @@ }, "include": ["src/**/*.ts"], "exclude": ["node_modules", "dist"] -} \ No newline at end of file +} diff --git a/packages/consts/package.json b/packages/consts/package.json index f0b8d061..3ea7bba3 100644 --- a/packages/consts/package.json +++ b/packages/consts/package.json @@ -1,10 +1,10 @@ { - "name": "@query/consts", - "version": "0.0.0", - "private": true, - "main": "./index.ts", - "types": "./index.ts", - "exports": { - ".": "./index.ts" - } -} \ No newline at end of file + "name": "@query/consts", + "version": "0.0.0", + "private": true, + "main": "./index.ts", + "types": "./index.ts", + "exports": { + ".": "./index.ts" + } +} diff --git a/packages/db/.cache/tsbuildinfo.json b/packages/db/.cache/tsbuildinfo.json index 2ce59557..01e85af2 100644 --- a/packages/db/.cache/tsbuildinfo.json +++ b/packages/db/.cache/tsbuildinfo.json @@ -1 +1 @@ -{"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/types.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/general/decrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/general/encrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/compact/verify.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/flattened/verify.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/general/verify.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/verify.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/decrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/produce.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/compact/sign.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/flattened/sign.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/general/sign.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/sign.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/encrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwk/thumbprint.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwk/embedded.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwks/local.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwks/remote.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/unsecured.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/key/export.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/key/import.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/decode_protected_header.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/decode_jwt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/errors.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/key/generate_key_pair.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/key/generate_secret.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/base64url.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/runtime.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/index.d.ts","../../../node_modules/.pnpm/openid-client@5.7.1/node_modules/openid-client/types/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/oauth-types.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/oauth.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/email.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/bundler.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/load-custom-routes.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/image-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/get-page-files.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/canary.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/experimental.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/canary.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/experimental.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/fallback.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/base-http/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/api-utils/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-baseline.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/require-hook.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/page-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/cache-control.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-kind.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/response-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/vary-params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/search-params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/app-router-headers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/render-result.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/body-streams.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matches/route-match.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/response-cache/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/static-paths/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/instrumentation/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/worker.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/page-extensions-type.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/mitt.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/with-router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/route-loader.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/page-loader.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/flight-data-helpers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/templates/pages.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/render.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/load-default-error-components.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/base-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/after/after.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/after/after-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/lazy-result.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/async-storage/work-store.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/http.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/redirect-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/templates/app-route.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/get-supported-browsers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/utils.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/rendering-mode.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/cpu-profile.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/export/routes/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/export/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/export/worker.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/worker.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/coalesced-function.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/trace/trace.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/trace/shared.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/load-jsconfig.d.ts","../../../node_modules/.pnpm/@next+env@16.2.3/node_modules/@next/env/dist/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/telemetry/storage.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/build-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/swc/generated-native.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/define-env.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/swc/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/swc/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/shared/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/parse-stack.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/server/shared.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/debug-channel.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/lru-cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/base-http/node.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/render-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/route-module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/load-components.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/adapter.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/app-render.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/layout-router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/client-page.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/client-segment.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/metadata.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/entry-base.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/templates/app-page.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-dev-runtime.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/compiler-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/client.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/fallback-params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/after/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/connection.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/exports/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request-meta.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/next-url.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/image-optimizer.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/next-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/next.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/adapter/build-complete.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/utils.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/cli/next-test.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/size-limit.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/config-shared.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/css.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/style.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/pages/_app.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/app.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/pages/_document.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/document.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/pages/_error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/catch-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/api/error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/head.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/head.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/headers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/draft-mode.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/headers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/image-component.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/image-external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/image.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/link.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/link.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/redirect.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/not-found.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/forbidden.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/unauthorized.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/script.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/script.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/types/compiled.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/core/lib/cookie.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/core/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/credentials.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/jwt/types.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/jwt/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/utils/logger.d.ts","../../../node_modules/.pnpm/@types+cookie@0.6.0/node_modules/@types/cookie/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/core/types.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/next/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/adapters.d.ts","../src/schemas/auth.ts","../src/schemas/members.ts","../src/schemas/hackathons.ts","../src/schemas/admins.ts","../src/schemas/events.ts","../src/schemas/judge.ts","../src/schemas/stripe.ts","../src/schemas/security.ts","../src/schemas/index.ts","../src/client.ts","../../../node_modules/.pnpm/@t3-oss+env-core@0.13.10_typescript@5.8.3_zod@3.25.53/node_modules/@t3-oss/env-core/dist/standard.d.ts","../../../node_modules/.pnpm/@t3-oss+env-core@0.13.10_typescript@5.8.3_zod@3.25.53/node_modules/@t3-oss/env-core/dist/index.d.ts","../../../node_modules/.pnpm/@t3-oss+env-nextjs@0.13.10_typescript@5.8.3_zod@3.25.53/node_modules/@t3-oss/env-nextjs/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/index.d.ts","../src/env.ts","../src/index.ts","../../../node_modules/.pnpm/@types+estree@1.0.9/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/index.d.ts","../../../node_modules/.pnpm/@types+eslint__js@8.42.3/node_modules/@types/eslint__js/index.d.ts"],"fileIdsList":[[65,107,872,880],[65,107,863,864,865,866,867,869,872,880,881],[65,107,869,872],[65,107,863],[65,107],[65,107,872],[65,107,868,872],[65,107,862,868],[65,107,861,870,872,881],[65,107,872,874,880],[65,107,872,876,877,880],[65,107,870,872,875,878,879],[65,107,872,878],[65,107,860,863,868,872,876,880],[65,107,859,860,861,862,868,869,871,880],[65,107,893],[65,107,894],[65,107,912,913,914],[65,107,915],[65,104,107],[65,106,107],[107],[65,107,112,142],[65,107,108,113,119,120,127,139,150],[65,107,108,109,119,127],[60,61,62,65,107],[65,107,110,151],[65,107,111,112,120,128],[65,107,112,139,147],[65,107,113,115,119,127],[65,106,107,114],[65,107,115,116],[65,107,117,119],[65,106,107,119],[65,107,119,120,121,139,150],[65,107,119,120,121,134,139,142],[65,102,107],[65,102,107,115,119,122,127,139,150],[65,107,119,120,122,123,127,139,147,150],[65,107,122,124,139,147,150],[63,64,65,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,107,119,125],[65,107,126,150],[65,107,115,119,127,139],[65,107,128],[65,107,129],[65,106,107,130],[65,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,107,132],[65,107,133],[65,107,119,134,135],[65,107,134,136,151,153],[65,107,119,139,140,142],[65,107,141,142],[65,107,139,140],[65,107,142],[65,107,143],[65,104,107,139],[65,107,119,145,146],[65,107,145,146],[65,107,112,127,139,147],[65,107,148],[65,107,127,149],[65,107,122,133,150],[65,107,112,151],[65,107,139,152],[65,107,126,153],[65,107,154],[65,107,119,121,130,139,142,150,153,155],[65,107,139,156],[65,107,164],[65,107,119,139,147,157,158,159,162,163,164],[65,107,516,519,521],[65,107,516],[65,107,516,517,518,519,520,787,797,802],[65,107,516,759],[65,107,516,518,521,787,797,802],[65,107,516,517,521,787,797,802],[65,107,514,515],[65,107,166,170,173,219,457],[65,107,166,218,461],[65,107,462],[65,107,166,174,457],[65,107,166,173,174,243,298,369,421,455,457],[65,107,166,170,173,174,456],[65,107,166],[65,107,212,217,239],[65,107,166,182,212],[65,107,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,215],[65,107,166,185,214,456,457],[65,107,166,214,456,457],[65,107,166,173,174,207,212,213,456,457],[65,107,166,173,174,212,214,456,457],[65,107,166,214,456],[65,107,166,212,214,456,457],[65,107,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,214,215],[65,107,166,184,214,456],[65,107,166,196,214,456,457],[65,107,166,196,212,214,456,457],[65,107,166,169,173,174,179,212,216,217,219,221,224,225,226,228,234,235,239,462],[65,107,166,173,174,212,216,219,234,238,239],[65,107,166,212,216],[65,107,183,184,207,208,209,210,211,212,213,216,226,227,228,234,235,237,238,240,241,242],[65,107,166,173,212,216],[65,107,166,173,208,212],[65,107,166,173,212,228],[65,107,166,169,172,173,212,222,223,228,235,239],[65,107,229,230,231,232,233,236,239],[65,107,166,169,170,172,173,179,207,212,214,222,223,228,230,235,236,239],[65,107,166,169,173,179,216,226,233,235,239],[65,107,166,173,174,212,219,222,223,228,235],[65,107,166,173,220,222,223],[65,107,166,173,222,223,228,235,238],[65,107,166,169,172,173,174,179,212,216,217,218,222,223,226,228,235,239],[65,107,169,170,171,172,173,174,179,212,216,217,228,233,238],[65,107,166,169,170,172,173,174,212,214,217,222,223,228,235,239,457],[65,107,166,173,184,212],[65,107,166,174,182,218,219,220,227,235,239,462],[65,107,169,172,173],[65,107,166,170,183,206,207,209,210,211,213,214,456],[65,107,169,173,183,207,209,210,211,212,213,216,217,238,243,456,457],[65,107,166,173],[65,107,166,172,173,174,179,214,217,236,237,456],[65,107,166,167,169,170,171,174,182,219,222,456,457,458,459,460],[65,107,273,281,294],[65,107,166,173,273],[65,107,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,276],[65,107,166,275,456,457],[65,107,166,174,275,456,457],[65,107,166,173,174,273,274,456,457],[65,107,166,173,174,273,275,456,457],[65,107,166,174,273,275,456,457],[65,107,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,275,276],[65,107,166,255,275,456,457],[65,107,166,174,263,456,457],[65,107,166,169,173,174,219,273,280,281,286,287,288,289,291,294,462],[65,107,166,173,174,219,273,275,278,279,284,285,291,294],[65,107,166,273,277],[65,107,244,270,271,272,273,274,277,280,286,288,290,291,292,293,295,296,297],[65,107,166,173,273,277],[65,107,166,173,273,281,291],[65,107,166,169,173,174,222,273,275,286,291,294],[65,107,279,282,283,284,285,294],[65,107,166,170,173,179,218,222,223,273,275,283,284,286,291,294],[65,107,166,169,280,282,286,294],[65,107,166,173,174,219,222,273,286,291],[65,107,166,169,172,173,174,179,218,222,270,273,277,280,281,286,291,294],[65,107,169,170,171,172,173,174,179,273,277,281,282,291,293],[65,107,166,169,173,174,218,222,273,275,286,291,294,457],[65,107,166,273,293],[65,107,166,173,174,218,219,286,290,294,462],[65,107,169,172,173,179,283],[65,107,166,170,244,269,270,271,272,274,275,456],[65,107,169,244,270,271,272,273,274,281,282,293,298,461],[65,107,166,172,173,179,277,281,283,292,456],[65,107,165,166,167,174,219,352,359,462,463],[65,107,463,464],[65,107,165,166,167,173,174,218,219,353,359,363,369,407],[65,107,169,170,173,457],[65,107,340,346,363],[65,107,166,182,340],[65,107,300,301,302,303,304,306,307,308,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,343],[65,107,166,310,342,456,457],[65,107,166,342,456,457],[65,107,166,174,342,456,457],[65,107,166,173,174,335,340,341,456,457],[65,107,166,173,174,340,342,456,457],[65,107,166,342,456],[65,107,166,174,305,342,456,457],[65,107,166,174,340,342,456,457],[65,107,300,301,302,303,304,306,307,308,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,342,343,344],[65,107,166,309,342,456],[65,107,166,312,342,456,457],[65,107,166,340,342,456,457],[65,107,166,305,312,340,342,456,457],[65,107,166,174,305,340,342,456,457],[65,107,166,169,173,174,219,340,345,346,347,348,349,350,351,353,358,359,362,363,462],[65,107,166,173,174,219,278,340,345,353,358,362,363],[65,107,166,340,345],[65,107,299,309,335,336,337,338,339,340,341,345,351,352,353,358,359,361,362,364,365,366,368],[65,107,166,173,340,345],[65,107,166,173,336,340],[65,107,166,173,174,340,353],[65,107,166,169,172,173,179,218,222,223,340,353,359,363],[65,107,350,354,355,356,357,360,363],[65,107,166,169,170,172,173,179,218,222,223,335,340,342,353,355,359,360,363],[65,107,166,169,173,345,351,357,359,363],[65,107,166,173,174,219,222,223,340,353,359],[65,107,166,173,222,223,353,359,362],[65,107,166,169,172,173,174,179,218,222,223,340,345,346,351,353,359,363],[65,107,169,170,171,172,173,174,179,340,345,346,353,357,362],[65,107,166,169,170,172,173,174,179,218,222,223,340,342,346,353,359,363,457],[65,107,166,173,174,309,340,344,362],[65,107,166,174,182,218,219,220,352,359,363,462],[65,107,169,172,173,179,360],[65,107,166,170,299,334,335,337,338,339,341,342,456],[65,107,169,173,299,335,337,338,339,340,341,345,346,362,369,456,457],[65,107,367],[65,107,166,172,173,174,179,342,346,360,361,456],[65,107,166,182],[65,107,169,170,171,173,174,456,457],[65,107,166,170,173,174,177,457,461],[65,107,456],[65,107,461],[65,107,399,417],[65,107,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,401],[65,107,166,400,456,457],[65,107,166,174,400,456,457],[65,107,166,174,399,456,457],[65,107,166,173,174,399,400,456,457],[65,107,166,174,399,400,456,457],[65,107,166,174,182,400,456,457],[65,107,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,400,401],[65,107,166,380,400,456,457],[65,107,166,174,388,456,457],[65,107,166,169,173,219,399,406,409,410,411,414,416,417,462],[65,107,166,173,174,219,278,399,400,403,404,405,416,417],[65,107,396,397,398,399,402,406,411,414,415,416,418,419,420],[65,107,166,173,399,402],[65,107,166,399,402],[65,107,166,173,399,416],[65,107,166,169,173,174,222,399,400,406,416,417],[65,107,403,404,405,412,413,417],[65,107,166,170,173,222,223,399,400,404,406,416,417],[65,107,166,169,406,411,412,417],[65,107,166,169,172,173,174,179,218,222,399,402,406,411,416,417],[65,107,169,170,171,172,173,174,179,399,402,412,416],[65,107,166,169,173,174,222,399,400,406,416,417,457],[65,107,166,399],[65,107,166,173,174,218,219,406,415,417,462],[65,107,169,172,173,179,413],[65,107,166,170,395,396,397,398,400,456],[65,107,169,173,396,397,398,399,421,456,457],[65,107,166,167,174,219,406,408,415,462],[65,107,166,167,173,174,218,219,406,407,416,417],[65,107,173,457],[65,107,175,176],[65,107,178,180],[65,107,173,179,457],[65,107,173,177,181],[65,107,166,168,169,170,172,174,457],[65,107,427,448,453],[65,107,166,173,448],[65,107,423,443,444,445,446,451],[65,107,166,174,450,456,457],[65,107,166,173,174,448,449,456,457],[65,107,166,173,174,448,450,456,457],[65,107,423,443,444,445,446,450,451],[65,107,166,174,442,448,450,456,457],[65,107,166,450,456,457],[65,107,166,174,448,450,456,457],[65,107,166,169,173,174,219,427,428,429,430,433,438,439,448,453,462],[65,107,166,173,174,219,278,433,438,448,452,453],[65,107,166,448,452],[65,107,422,424,425,426,430,431,433,438,439,441,442,448,449,452,454],[65,107,166,173,448,452],[65,107,166,173,433,441,448],[65,107,166,169,172,173,174,222,223,433,439,448,450,453],[65,107,434,435,436,437,440,453],[65,107,166,169,172,173,174,179,222,223,424,433,435,439,440,448,450,453],[65,107,166,169,430,437,439,453],[65,107,166,173,174,219,222,223,433,439,448],[65,107,166,173,220,222,223,439],[65,107,166,169,172,173,174,179,218,222,223,427,430,433,439,448,452,453],[65,107,169,170,171,172,173,174,179,427,433,437,441,448,452],[65,107,166,169,172,173,174,222,223,427,433,439,448,450,453,457],[65,107,166,173,218,219,220,222,431,432,439,453,462],[65,107,169,172,173,179,440],[65,107,166,170,422,424,425,426,447,449,450,456],[65,107,166,448,450],[65,107,169,173,422,424,425,426,427,441,448,449,455],[65,107,166,172,173,179,427,440,450,456],[65,107,166,171,173,174,457],[65,107,167,170,173,457,462],[65,107,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497],[65,107,466],[65,107,466,476],[65,107,858,881],[65,107,848,856],[65,107,798,847,856,858],[65,107,499,851,853,854,855,882],[65,107,849,856,857],[65,107,798,847,852,858],[65,107,157,858],[65,107,849,851,858],[65,107,851,856,858],[65,107,501,502,850],[65,107,498,499,500,851,858],[65,107,804],[65,107,806,807,808,809],[65,107,729,815,816],[65,107,507,508,510,544,545,669,680,792],[65,107,510,539,540,541,543,792],[65,107,510,524,686,688,690,691,693,792],[65,107,510,542,588,792],[65,107,508,510,524,545,557,558,566,571,668,669,670,679,792],[65,107,792],[65,107,540,547,551,574,665],[65,107,510],[65,107,522,547,551],[65,107,697],[65,107,694,695,697],[65,107,694,696,792],[65,107,122,574,753,770],[65,107,122,639,642,660,665,770],[65,107,122,612,770],[65,107,673],[65,107,672,673,674],[65,107,672],[65,107,122,510,513,522,536,537,540,544,545,557,566,572,573,634,666,667,680,787,792],[65,107,507,510,542,588,686,687,692,792,845],[65,107,542,845],[65,107,507,573,724,792,845],[65,107,845],[65,107,510,542,543,845],[65,107,689,845],[65,107,537,668,671,678],[65,107,516,729],[65,107,133,551,564],[65,107,551,564],[65,107,516,609],[65,107,516,564],[65,107,516,547,564,729],[65,107,551,595,609,610,831,838],[65,107,594,832,833,834,835,837],[65,107,644],[65,107,644,645],[65,107,547,558,597,598],[65,107,547,604,605],[65,107,547,599,607],[65,107,604],[65,107,546,547,597,598,599,600,601,602,603,604,607],[65,107,547,597,604,605,606,608],[65,107,547,598,600,601],[65,107,598,600,603,605],[65,107,836],[65,107,547],[65,107,511,516,825],[65,107,150,516],[65,107,516,542,586],[65,107,516,542,680],[65,107,584,589],[65,107,516,585,789],[65,107,122,516,517,518,521,787,796,802],[65,107,122,547],[65,107,122,523,545,556,615,631,675,676,680,721,723,792],[65,107,536,677],[65,107,787],[65,107,509],[65,107,516,551,553,726,742,744],[65,107,133,551,726,741,742,743,844],[65,107,735,736,737,738,739,740],[65,107,737],[65,107,741],[65,107,564,704,705,707],[65,107,516,547,698,699,700,701,706],[65,107,704,706],[65,107,702],[65,107,703],[65,107,516,564,585,789],[65,107,516,564,788,789],[65,107,516,564,789],[65,107,631,632],[65,107,632],[65,107,122,523,789],[65,107,663],[65,106,107,662],[65,107,523,547,551,559,563,639,654,658,660,723,726,762,763,770],[65,107,547,579,601],[65,107,639,652,655,660],[65,107,516,551,553,639,642,660,663,697,730,731,732,733,734,745,746,747,748,749,750,751,752,845],[65,107,540,551,553,639,648,649,650,653,654],[65,107,139,540,547,652,659,726,727,770],[65,107,656],[65,107,122,133,511,523,524,547,556,569,576,577,580,631,634,701,721,722,762,787,792,845],[65,107,546,551,553],[65,107,639],[65,106,107,523,540,576,577,633,634,635,636,637,638],[65,107,660],[65,106,107,551,552,556,563,639,647,648,649,650,651,652,655,656,657,658,659,763],[65,107,122,523,524,647,648,793],[65,107,523,540,577,631,634,639,723],[65,107,122,524,792],[65,107,122,139,523,524,770],[65,107,122,133,503,522,523,524,542,545,551,559,563,566,569,576,577,578,579,580,615,616,618,621,623,626,627,628,630,680,721,723,770,771,792],[65,107,122,139],[65,107,510,511,512,572,770,787,789,790,791,845],[65,107,507,508,792],[65,107,709],[65,107,122,139,150,561,693,697,698,699,700,701,707,708,845],[65,107,133,150,522,551,561,563,566,577,616,621,630,631,686,712,713,721,723,770,775,776,782,783,792],[65,107,536,537,566,572,577,634,792],[65,107,122,150,511,545,563,577,770,780,792],[65,107,725],[65,107,122,709,710,711,718],[65,107,770,792],[65,107,636,763],[65,107,563,576,680,789],[65,107,122,133,509,621,682,686,712,713,770,782,785],[65,107,122,536,537,686,714],[65,107,510,524,578,680,716,792],[65,107,122,150,701,792],[65,107,122,542,578,680,681,682,691,709,715,717,792],[65,107,122,513,576,720,787,789],[65,107,629,721],[65,107,122,133,503,536,537,544,545,547,551,559,562,563,569,577,580,616,618,630,631,680,713,721,723,770,775,776,777,779,781,789],[65,107,122,139,537,718,770,782,784],[65,107,526,527,528,529,530,531,532,533,534,535],[65,107,622,771],[65,107,624],[65,107,622],[65,107,624,625],[65,107,122,523,545,547,556,557,558],[65,107,122,133,509,511,524,559,565,576,579,580,614,721,770,787,789],[65,107,122,133,150,523,558,560,562,563,565,577,719,763,769],[65,107,648],[65,107,649],[65,107,547,566,762],[65,107,650],[65,107,552],[65,107,548,549],[65,107,122,545,548,559],[65,107,549,554],[65,107,555],[65,107,548,561],[65,107,548,581],[65,107,548],[65,107,562,620,771],[65,107,619],[65,107,551,561,562],[65,107,562,617],[65,107,551,561],[65,107,576,680],[65,107,762],[65,107,122,150,523,559,563,567,576,680,720,723,726,727,728,754,755,758,761,763,770],[65,107,590,593,595,596,609,610],[65,107,516,519,521,564,756,757],[65,107,516,519,521,564,756,757,760],[65,107,664],[65,107,524,540,575,576,639,640,641,642,643,645,660,661,663,666,720,723,792,793],[65,107,609],[65,107,122,614,770],[65,107,614],[65,107,122,559,582,611,613,615,720,770,787,789],[65,107,590,591,592,593,595,596,609,610,788],[65,107,122,133,150,513,523,548,561,563,569,576,577,580,680,718,719,721,770,787,792],[65,107,550,551,553],[65,107,577,775,793,794],[65,107,764,765,766,767,768,773,793],[65,107,122,771,792],[65,107,122],[65,107,647,660],[65,107,646],[65,107,503,793],[65,107,647,772,792],[65,107,122,523,560,770,773,774,792,793,794],[65,107,516,547,551,608],[65,107,516,546],[65,107,505,506],[65,107,511,516],[65,107,516,551,594],[65,107,513,516,576,580,787,789],[65,107,511,825,826],[65,107,516,589],[65,107,133,150,509,516,583,585,587,588,789],[65,107,523,542,551],[65,107,551,778],[65,107,120,122,133,507,509,516,589,688,787,788],[65,107,516,517,518,521,787,797],[65,107,516,799,800,801,802],[65,107,112],[65,107,683,684,685],[65,107,683],[65,107,122,124,133,157,509,516,517,518,519,521,522,524,540,569,741,785,786,789,797,802],[65,107,811],[65,107,813],[65,107,817],[65,107,819],[65,107,821,822,823],[65,107,827],[65,107,798,803,805,810,812,814,818,820,824,828,830,840,841,843,844,845,846],[65,107,829],[65,107,839],[65,107,585],[65,107,842],[65,106,107,764,765,767,768,773,775,793,794,795,797],[65,107,157],[65,107,112,122,123,124,150,151,157,498],[65,107,157,159,160,161],[65,107,139,157,159],[65,107,873],[65,107,874],[65,107,139,157],[65,74,78,107,150],[65,74,107,139,150],[65,69,107],[65,71,74,107,147,150],[65,107,127,147],[65,69,107,157],[65,71,74,107,127,150],[65,66,67,70,73,107,119,139,150],[65,74,81,107],[65,66,72,107],[65,74,95,96,107],[65,70,74,107,142,150,157],[65,95,107,157],[65,68,69,107,157],[65,74,107],[65,68,69,70,71,72,73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,107],[65,74,89,107],[65,74,81,82,107],[65,72,74,82,83,107],[65,73,107],[65,66,69,74,107],[65,74,78,82,83,107],[65,78,107],[65,72,74,77,107,150],[65,66,71,74,81,107],[65,107,139],[65,69,74,95,107,155,157],[65,107,908],[65,107,898,899],[65,107,896,897,898,900,901,906],[65,107,897,898],[65,107,906],[65,107,907],[65,107,898],[65,107,896,897,898,901,902,903,904,905],[65,107,896,897,908],[65,107,165,465,891],[65,107,895,909],[65,107,461,883,884,885,886,887,890,891,892],[65,107,369,461,883],[65,107,369,882],[65,107,369,461,883,884],[65,107,883,884,885,886,887,888,889,890],[65,107,369,461,883,885],[65,107,369]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"25d130083f833251b5b4c2794890831b1b8ce2ead24089f724181576cf9d7279","impliedFormat":1},{"version":"ffe66ee5c9c47017aca2136e95d51235c10e6790753215608bff1e712ff54ec6","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"4f01e4d0959f9125b89e5737eb1ca2bfa69fd6b7d6126eba22feb8b505b00cde","impliedFormat":1},{"version":"4363a1adb9c77f2ed1ca383a41fbab1afadd35d485c018b2f84e834edde6a2c7","impliedFormat":1},{"version":"1d6458533adb99938d041a93e73c51d6c00e65f84724e9585e3cc8940b25523f","impliedFormat":1},{"version":"b0878fbd194bdc4d49fc9c42bfeeb25650842fe1412c88e283dc80854b019768","impliedFormat":1},{"version":"a892ea0b88d9d19281e99d61baba3155200acced679b8af290f86f695b589b16","impliedFormat":1},{"version":"03b42e83b3bcdf5973d28641d72b81979e3ce200318e4b46feb8347a1828cd5d","impliedFormat":1},{"version":"8a3d57426cd8fb0d59f6ca86f62e05dde8bfd769de3ba45a1a4b2265d84bac5a","impliedFormat":1},{"version":"afc6e1f323b476fdf274e61dab70f26550a1be2353e061ab34e6eed180d349b6","impliedFormat":1},{"version":"7c14483430d839976481fe42e26207f5092f797e1a4190823086f02cd09c113c","impliedFormat":1},{"version":"828a3bea78921789cbd015e968b5b09b671f19b1c14c4bbf3490b58fbf7d6841","impliedFormat":1},{"version":"69759c42e48938a714ee2f002fe5679a7ab56f0b5f29d571e4c31a5398d038fe","impliedFormat":1},{"version":"6e5e666fa6adeb60774b576084eeff65181a40443166f0a46ae9ba0829300fcb","impliedFormat":1},{"version":"1a4d43bdc0f2e240395fd204e597349411c1141dd08f5114c37d6268c3c9d577","impliedFormat":1},{"version":"874e58f8d945c7ac25599128a40ec9615aa67546e91ca12cbf12f97f6baf54ff","impliedFormat":1},{"version":"da2627da8d01662eb137ccd84af7ffa8c94cf2b2547d4970f17802324e54defc","impliedFormat":1},{"version":"07af06b740c01ed0473ebdd3f2911c8e4f5ebf4094291d31db7c1ab24ff559aa","impliedFormat":1},{"version":"ba1450574b1962fcf595fc53362b4d684c76603da5f45b44bc4c7eeed5de045b","impliedFormat":1},{"version":"b7903668ee9558d758c64c15d66a89ed328fee5ac629b2077415f0b6ca2f41bc","impliedFormat":1},{"version":"c7628425ee3076c4530b4074f7d48f012577a59f5ddade39cea236d6405c36ba","impliedFormat":1},{"version":"28c8aff998cc623ab0864a26e2eb1a31da8eb04e59f31fa80f02ec78eb225bcd","impliedFormat":1},{"version":"78d542989bdf7b6ba5410d5a884c0ab5ec54aa9ce46916d34267f885fcf65270","impliedFormat":1},{"version":"4d95060af2775a3a86db5ab47ca7a0ed146d1f6f13e71d96f7ac3b321718a832","impliedFormat":1},{"version":"6708cd298541a89c2abf66cceffc6c661f8ee31c013f98ddb58d2ec4407d0876","impliedFormat":1},{"version":"2e90928c29c445563409d89a834662c2ba6a660204fb3d4dc181914e77f8e29d","impliedFormat":1},{"version":"84be1b8b8011c2aab613901b83309d017d57f6e1c2450dfda11f7b107953286a","impliedFormat":1},{"version":"d7af890ef486b4734d206a66b215ebc09f6743b7fb2f3c79f2fb8716d1912d27","impliedFormat":1},{"version":"7e82c1d070c866eaf448ac7f820403d4e1b86112de582901178906317efc35ad","impliedFormat":1},{"version":"c5c4f547338457f4e8e2bec09f661af14ee6e157c7dc711ccca321ab476dbc6d","impliedFormat":1},{"version":"223e233cb645b44fa058320425293e68c5c00744920fc31f55f7df37b32f11ad","impliedFormat":1},{"version":"1394fe4da1ab8ab3ea2f2b0fcbfd7ccbb8f65f5581f98d10b037c91194141b03","impliedFormat":1},{"version":"086d9e59a579981bdf4f3bfa6e8e893570e5005f7219292bf7d90c153066cdfc","impliedFormat":1},{"version":"1ea59d0d71022de8ea1c98a3f88d452ad5701c7f85e74ddaa0b3b9a34ed0e81c","impliedFormat":1},{"version":"cd66a32437a555f7eb63490509a038d1122467f77fe7a114986186d156363215","impliedFormat":1},{"version":"f53d243499acfacc46e882bbf0bf1ae93ecea350e6c22066a062520b94055e47","impliedFormat":1},{"version":"65522e30a02d2720811b11b658c976bff99b553436d99bafd80944acba5b33b4","impliedFormat":1},{"version":"76b3244ec0b2f5b09b4ebf0c7419260813820f128d2b592b07ea59622038e45c","impliedFormat":1},{"version":"66eb7e876b49beff61e33f746f87b6e586382b49f3de21d54d41313aadb27ee6","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"8a3fdc84d91c2c7321fd2f8dba2ea90249cfdc31427ac71b5735dd51bc25cf91","impliedFormat":1},{"version":"865a2612f5ec073dd48d454307ccabb04c48f8b96fda9940c5ebfe6b4b451f51","impliedFormat":1},{"version":"70f79528d7e02028b3c12dd10764893b22df4c6e2a329e66456aa11bb304cabb","impliedFormat":1},{"version":"115b2ad73fa7d175cd71a5873d984c21593b2a022f1a2036cc39d9f53629e5dc","impliedFormat":1},{"version":"1be330b3a0b00590633f04c3b35db7fa618c9ee079258e2b24c137eb4ffcd728","impliedFormat":1},{"version":"3253d41f1fefc58f0ba77053f23a3c310cf1a2b880d3b98c63d52161baa730d3","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"27bbdb7509a5bb564020321fc5485764d0db3230a10d2336ae5ce2c1d401b0e7","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"d87f90d2df7b638204d81d6c57e1f2a8cc9317c45ca331c691c375649aa9255c","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"990b8fad2327b77e6920cc792af320e8867e68f02ce849b12c0a6ab9a1aebb09","impliedFormat":1},{"version":"5eb8cd1cb0c9143d74a8190b577c522720878c31aef67d866fcd29973f83e955","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"9109a1291dd4b9f1541bea81ee11c247a2ca9e1ea89f87f13aa1811c3c069616","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e374d1eaa05b7dc38580062942ac8351ce79cbe11f6dbce4946a582a5680582d","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"88e9caa9c5d2ba629240b5913842e7c57c5c0315383b8dc9d436ef2b60f1c391","impliedFormat":1},{"version":"ddf68b3b62e49cf6fd93ba2351ad0fbbcf62ca2d5d7afc9f186114e4b481c3cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"96171c03c2e7f314d66d38acd581f9667439845865b7f85da8df598ff9617476","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"e1f6076688a95bd82deaac740fccbe3cdea0d8a22057cccc9c5bce4398bdd33b","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"8bd496cf710d4873d15e4891a5dbf945673e3321ca74cf75187e347fd5ed295e","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"186eea74805194f04e41038fc5eca653788b9dedbab7c2d7d17e10139622dd92","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e2b197bf7fe7800f89c87825e2556d66474869845e97ad9c2b36f347c43539","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"d7c1bbcddb06dcc8c9184013ace33c0dc71af715ab5987ccb42b903d2ec91193","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"69e8dc4b276b4d431f5517cd6507f209669691c9fb2f97933e7dbd5619fd07b7","impliedFormat":1},{"version":"361a647c06cec2e7437fa5d7cdf07a0dcce3247d93fbf3b6de1dc75139ff5700","impliedFormat":1},{"version":"fe5726291be816d0c89213057cd0c411bb9e39e315ed7e1987adc873f0e26856","impliedFormat":1},{"version":"1b76990de23762eb038e8d80b3f9c810974a7ed2335caa97262c5b752760f11a","impliedFormat":1},{"version":"5e050e05fe99cd06f2d4ad70e73aa4a72961d0df99525e9cad4a78fa588f387b","impliedFormat":1},{"version":"4ff327e8b16da9d54347b548f85675e35a1dc1076f2c22b2858e276771010dd2","impliedFormat":1},{"version":"f767787945b5c51c0c488f50b3b3aeb2804dfd2ddafcb61125d8d8857c339f5a","impliedFormat":1},{"version":"1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","impliedFormat":1},{"version":"14ab21a9aeff5710d1d1262459a6d49fb42bed835aa0f4cfc36b75aa36faddcd","impliedFormat":1},{"version":"ba3c4682491b477c63716864a035b2cfdd727e64ec3a61f2ca0c9af3c0116cfd","affectsGlobalScope":true,"impliedFormat":1},{"version":"b222d32836d745e1e021bb10f6a0f4a562dd42206203060a8539a6b9f16523f0","impliedFormat":1},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"39d80ec3c018d7ffe7c99ddd3a7b6844b3376c15e52937a7687d2c2828830fd0","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"b7ca2f47522d4ea41e65ff92c4c6dd9c4c8260da7c456a7631a9c88dc056b4d0","impliedFormat":1},"982dd34f5c2326326524c9c7896dba7bd44b1ec13f2be1ea6b8a8208dadc991b","b33ef01bc723d48590945a66f06a61e78f338ba16b9dd336e6fef5700de7c901","368f7279f1e79b5902a8d2835302daa3b26a1565218b9eebaf91fc9cb6811c68","f84c496b3b311cf1240aa09d052c74f58a001d18219b98e1d194b4e1c045bca6","dacf326dde91947ebaf5d9e956f91eb310dac10a30794a3ef0054ad80e82a9f8","f78a0202ddd99294dfff6ad24e7a804b66ef1ec4603ee58c635f838a1b57f9ac","6c8ae0845ce565e4a8da50c17569b3387149cc1cef290ba73fc082bf2e1ca639","3875217f042633388beb28040694e19f64b93b8ff1f4b9ac8499f3121fd252c2","50980b4f45fc54d0874da9ae7fed6628981b618fe7cbba94952e60479119b23c","c48126ea985baabade287edc6eedb41dc3599eca729494582aea82cb23defbbb",{"version":"155d2e6caadb7de14cd4c337164f7febade2bcefb7645c7094158cd80e4b9c1f","impliedFormat":99},{"version":"fcc60c64e9ff115a2ddb9fcaeb19d45668b353ccafc55054588c0ffb5bfb7a53","impliedFormat":99},{"version":"0c2f0f87ad46e9b8f458f4392e355a07d8231d07ab4648c9cb8b108d3c947bb0","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},"6e943ccddb5e26c84793edc41d9ca14d71ac980f2fcf2b17ba874e64adfaef16","8bf84866e58924ccd723fd4e21d078c51689b976b43aa933e3203dc866ab272f",{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"bc5c8a86f2025c4f52e4b13f08f2b76daddf50d5bad325795226f94537060e5d","impliedFormat":1}],"root":[[883,892],910,911],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":99,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[881,1],[868,2],[866,3],[864,4],[863,5],[867,6],[861,6],[865,7],[869,8],[871,9],[859,5],[875,10],[878,11],[880,12],[877,13],[879,14],[876,5],[870,1],[872,15],[862,5],[688,5],[894,16],[893,5],[895,17],[855,5],[915,18],[914,19],[916,19],[912,5],[913,5],[104,20],[105,20],[106,21],[65,22],[107,23],[108,24],[109,25],[60,5],[63,26],[61,5],[62,5],[110,27],[111,28],[112,29],[113,30],[114,31],[115,32],[116,32],[118,5],[117,33],[119,34],[120,35],[121,36],[103,37],[64,5],[122,38],[123,39],[124,40],[157,41],[125,42],[126,43],[127,44],[128,45],[129,46],[130,47],[131,48],[132,49],[133,50],[134,51],[135,51],[136,52],[137,5],[138,5],[139,53],[141,54],[140,55],[142,56],[143,57],[144,58],[145,59],[146,60],[147,61],[148,62],[149,63],[150,64],[151,65],[152,66],[153,67],[154,68],[155,69],[156,70],[165,71],[164,72],[163,71],[520,73],[759,74],[521,75],[519,74],[760,76],[517,77],[757,5],[518,78],[514,5],[516,79],[756,74],[564,74],[515,5],[458,80],[462,81],[407,82],[218,5],[168,83],[456,84],[457,85],[166,5],[459,86],[240,87],[183,88],[206,89],[215,90],[186,90],[187,91],[188,91],[214,92],[189,93],[190,91],[196,94],[191,95],[192,91],[193,91],[216,96],[185,97],[194,90],[195,95],[197,98],[198,98],[199,95],[200,91],[201,90],[202,91],[203,99],[204,99],[205,91],[227,100],[235,101],[213,102],[243,103],[207,104],[209,105],[210,102],[221,106],[229,107],[234,108],[231,109],[236,110],[224,111],[225,112],[232,113],[233,114],[239,115],[230,116],[208,86],[241,117],[184,86],[228,118],[226,119],[212,120],[211,102],[242,121],[217,122],[237,5],[238,123],[461,124],[167,86],[278,5],[295,125],[244,126],[269,127],[276,128],[245,128],[246,128],[247,129],[275,130],[248,131],[263,128],[249,132],[250,132],[251,129],[252,128],[253,129],[254,128],[277,133],[255,128],[256,128],[257,134],[258,128],[259,128],[260,134],[261,129],[262,128],[264,135],[265,134],[266,128],[267,129],[268,128],[290,136],[286,137],[274,138],[298,139],[270,140],[271,138],[287,141],[279,142],[288,143],[285,144],[283,145],[289,146],[282,147],[294,148],[284,149],[296,150],[291,151],[280,152],[273,153],[272,138],[297,154],[281,122],[292,5],[293,155],[464,156],[465,157],[463,158],[171,159],[364,160],[299,161],[334,162],[343,163],[300,164],[301,164],[302,165],[303,164],[342,166],[304,167],[305,168],[306,169],[307,164],[344,170],[345,171],[308,164],[310,172],[311,163],[313,173],[314,174],[315,174],[316,165],[317,164],[318,164],[319,170],[320,165],[321,165],[322,174],[323,164],[324,163],[325,164],[326,165],[327,175],[312,176],[328,164],[329,165],[330,164],[331,164],[332,164],[333,164],[352,177],[359,178],[341,179],[369,180],[335,181],[337,182],[338,179],[347,183],[354,184],[358,185],[356,186],[360,187],[348,188],[349,112],[350,189],[357,190],[363,191],[355,192],[336,86],[365,193],[309,86],[353,194],[351,195],[340,196],[339,179],[366,197],[367,5],[368,198],[346,122],[361,5],[362,199],[179,200],[172,201],[222,86],[219,202],[223,203],[220,204],[418,205],[395,206],[401,207],[370,207],[371,207],[372,208],[400,209],[373,210],[388,207],[374,211],[375,211],[376,208],[377,207],[378,212],[379,207],[402,213],[380,207],[381,207],[382,214],[383,207],[384,207],[385,214],[386,208],[387,207],[389,215],[390,214],[391,207],[392,208],[393,207],[394,207],[415,216],[406,217],[421,218],[396,219],[397,220],[410,221],[403,222],[414,223],[405,224],[413,225],[412,226],[417,227],[404,228],[419,229],[416,230],[411,231],[399,232],[398,220],[420,233],[409,234],[408,235],[175,236],[177,237],[176,236],[178,236],[181,238],[180,239],[182,240],[173,241],[454,242],[422,243],[447,244],[451,245],[450,246],[423,247],[452,248],[443,249],[444,245],[445,250],[446,251],[431,252],[439,253],[449,254],[455,255],[424,256],[425,254],[428,257],[434,258],[438,259],[436,260],[440,261],[429,262],[432,263],[437,264],[453,265],[435,266],[433,267],[430,268],[448,269],[426,270],[442,271],[427,122],[441,272],[169,122],[170,273],[174,274],[460,5],[498,275],[467,276],[477,276],[468,276],[478,276],[469,276],[470,276],[485,276],[484,276],[486,276],[487,276],[479,276],[471,276],[480,276],[472,276],[481,276],[473,276],[475,276],[483,277],[476,276],[482,277],[488,277],[474,276],[489,276],[494,276],[495,276],[490,276],[466,5],[496,5],[492,276],[491,276],[493,276],[497,276],[882,278],[849,279],[848,280],[856,281],[858,282],[853,283],[852,284],[857,280],[850,285],[502,286],[851,287],[500,5],[501,288],[854,5],[805,289],[810,290],[817,291],[786,292],[568,5],[542,293],[692,294],[695,295],[667,5],[680,296],[687,297],[573,5],[669,5],[540,5],[666,298],[774,299],[541,5],[566,300],[694,301],[696,302],[697,303],[754,304],[661,305],[613,306],[674,307],[675,308],[673,309],[672,5],[668,310],[693,311],[543,312],[724,5],[725,313],[579,314],[544,315],[580,314],[616,314],[512,314],[690,316],[689,5],[679,317],[790,5],[558,5],[816,318],[732,319],[733,320],[729,321],[834,5],[642,5],[734,322],[730,323],[839,324],[838,325],[833,5],[594,5],[645,326],[644,5],[832,327],[731,74],[599,328],[606,329],[608,330],[598,5],[603,331],[605,332],[607,333],[602,334],[600,5],[604,335],[835,5],[831,5],[837,336],[836,5],[597,337],[826,338],[829,339],[587,340],[586,341],[585,342],[842,74],[584,343],[646,5],[795,5],[796,74],[797,344],[504,5],[676,345],[677,346],[678,347],[508,5],[681,5],[557,348],[522,5],[746,74],[510,349],[745,350],[744,351],[735,5],[736,5],[743,5],[738,5],[741,352],[737,5],[739,353],[742,354],[740,353],[539,5],[570,5],[571,314],[701,5],[706,355],[707,356],[705,357],[703,358],[704,359],[699,5],[752,322],[565,322],[804,360],[811,361],[815,362],[633,363],[632,5],[503,5],[767,364],[524,365],[662,366],[663,367],[727,368],[651,5],[750,369],[637,74],[656,370],[753,371],[652,5],[655,372],[653,5],[751,373],[748,374],[747,5],[749,5],[659,5],[723,375],[552,376],[635,377],[639,378],[657,379],[660,380],[649,381],[640,382],[523,383],[713,384],[631,385],[560,386],[792,387],[509,388],[708,389],[700,5],[709,390],[784,391],[698,5],[783,392],[513,5],[781,393],[569,5],[726,394],[777,5],[545,5],[550,5],[671,5],[712,395],[572,5],[771,396],[658,397],[577,398],[636,5],[711,5],[702,5],[714,399],[715,400],[670,5],[717,401],[719,402],[718,403],[682,5],[710,386],[721,404],[630,405],[782,406],[785,407],[525,5],[529,5],[528,5],[527,5],[532,5],[526,5],[535,5],[534,5],[531,5],[530,5],[533,5],[536,408],[538,5],[623,409],[622,5],[627,410],[624,411],[626,412],[628,410],[625,411],[559,413],[615,414],[770,415],[768,5],[821,416],[823,417],[763,418],[822,419],[551,420],[553,420],[537,5],[563,421],[549,422],[555,423],[556,424],[567,425],[575,425],[581,425],[617,426],[582,426],[561,427],[548,5],[621,428],[620,429],[619,430],[618,431],[562,432],[755,433],[574,434],[762,435],[728,436],[758,437],[761,438],[665,439],[664,440],[643,441],[629,442],[612,443],[614,444],[611,445],[720,446],[634,5],[809,5],[554,447],[722,448],[769,449],[641,5],[772,450],[650,451],[648,452],[647,453],[794,454],[764,5],[793,455],[773,455],[807,5],[806,5],[808,5],[766,5],[765,5],[775,456],[638,5],[609,457],[547,458],[588,5],[507,459],[576,5],[813,74],[506,5],[825,460],[596,74],[819,322],[595,461],[788,462],[593,460],[511,5],[827,463],[591,74],[592,74],[583,5],[505,5],[590,464],[589,465],[578,466],[654,50],[776,50],[716,5],[779,467],[778,5],[601,337],[546,5],[610,74],[791,348],[789,468],[799,74],[802,469],[803,470],[800,74],[801,5],[691,471],[686,472],[685,5],[684,473],[683,5],[787,474],[812,475],[814,476],[818,477],[820,478],[824,479],[828,480],[847,481],[830,482],[840,483],[841,484],[843,485],[798,486],[846,348],[845,5],[844,487],[860,5],[499,488],[162,489],[159,487],[161,490],[160,5],[158,5],[874,491],[873,492],[780,493],[58,5],[59,5],[10,5],[11,5],[13,5],[12,5],[2,5],[14,5],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[21,5],[3,5],[22,5],[23,5],[4,5],[24,5],[28,5],[25,5],[26,5],[27,5],[29,5],[30,5],[31,5],[5,5],[32,5],[33,5],[34,5],[35,5],[6,5],[39,5],[36,5],[37,5],[38,5],[40,5],[7,5],[41,5],[46,5],[47,5],[42,5],[43,5],[44,5],[45,5],[8,5],[51,5],[48,5],[49,5],[50,5],[52,5],[9,5],[53,5],[54,5],[55,5],[57,5],[56,5],[1,5],[81,494],[91,495],[80,494],[101,496],[72,497],[71,498],[100,487],[94,499],[99,500],[74,501],[88,502],[73,503],[97,504],[69,505],[68,487],[98,506],[70,507],[75,508],[76,5],[79,508],[66,5],[102,509],[92,510],[83,511],[84,512],[86,513],[82,514],[85,515],[95,487],[77,516],[78,517],[87,518],[67,519],[90,510],[89,508],[93,5],[96,520],[909,521],[900,522],[907,523],[902,5],[903,5],[901,524],[904,525],[896,5],[897,5],[908,526],[899,527],[905,5],[906,528],[898,529],[892,530],[910,531],[911,532],[886,533],[883,534],[887,535],[885,535],[891,536],[888,537],[884,533],[890,538],[889,533]],"affectedFilesPendingEmit":[892,910,911,886,883,887,885,891,888,884,890,889],"version":"5.8.3"} \ No newline at end of file +{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_0a59d7177e7c4eb8b40dc920d3dba1e4/node_modules/next-auth/adapters.d.ts","../src/schemas/auth.ts","../src/schemas/hackathons.ts","../src/schemas/members.ts","../src/schemas/admins.ts","../src/schemas/events.ts","../src/schemas/judge.ts","../src/schemas/stripe.ts","../src/schemas/security.ts","../src/schemas/index.ts","../src/client.ts","../../../node_modules/.pnpm/@t3-oss+env-core@0.13.11_typescript@6.0.2_zod@3.25.53/node_modules/@t3-oss/env-core/dist/standard.d.ts","../../../node_modules/.pnpm/@t3-oss+env-core@0.13.11_typescript@6.0.2_zod@3.25.53/node_modules/@t3-oss/env-core/dist/index.d.ts","../../../node_modules/.pnpm/@t3-oss+env-nextjs@0.13.11_typescript@6.0.2_zod@3.25.53/node_modules/@t3-oss/env-nextjs/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/index.d.ts","../src/env.ts","../src/index.ts"],"fileIdsList":[[65,107,479,487],[65,107,470,471,472,473,474,476,479,487,488],[65,107,476,479],[65,107,470],[65,107],[65,107,479],[65,107,475,479],[65,107,469,475],[65,107,468,477,479,488],[65,107,479,481,487],[65,107,479,483,484,487],[65,107,477,479,482,485,486],[65,107,479,485],[65,107,467,470,475,479,483,487],[65,107,466,467,468,469,475,476,478,487],[65,107,500],[65,107,501],[65,104,107],[65,106,107],[107],[65,107,112,142],[65,107,108,113,119,120,127,139,150],[65,107,108,109,119,127],[60,61,62,65,107],[65,107,110,151],[65,107,111,112,120,128],[65,107,112,139,147],[65,107,113,115,119,127],[65,106,107,114],[65,107,115,116],[65,107,117,119],[65,106,107,119],[65,107,119,120,121,139,150],[65,107,119,120,121,134,139,142],[65,102,107],[65,102,107,115,119,122,127,139,150],[65,107,119,120,122,123,127,139,147,150],[65,107,122,124,139,147,150],[63,64,65,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,107,119,125],[65,107,126,150],[65,107,115,119,127,139],[65,107,128],[65,107,129],[65,106,107,130],[65,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,107,132],[65,107,133],[65,107,119,134,135],[65,107,134,136,151,153],[65,107,119,139,140,142],[65,107,141,142],[65,107,139,140],[65,107,142],[65,107,143],[65,104,107,139],[65,107,119,145,146],[65,107,145,146],[65,107,112,127,139,147],[65,107,148],[65,107,127,149],[65,107,122,133,150],[65,107,112,151],[65,107,139,152],[65,107,126,153],[65,107,154],[65,107,119,121,130,139,142,150,153,155],[65,107,139,156],[65,107,164],[65,107,119,139,147,157,158,159,162,163,164],[65,107,166,170,173,219,457],[65,107,166,218,461],[65,107,462],[65,107,166,174,457],[65,107,166,173,174,243,298,369,421,455,457],[65,107,166,170,173,174,456],[65,107,166],[65,107,212,217,239],[65,107,166,182,212],[65,107,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,215],[65,107,166,185,214,456,457],[65,107,166,214,456,457],[65,107,166,173,174,207,212,213,456,457],[65,107,166,173,174,212,214,456,457],[65,107,166,214,456],[65,107,166,212,214,456,457],[65,107,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,214,215],[65,107,166,184,214,456],[65,107,166,196,214,456,457],[65,107,166,196,212,214,456,457],[65,107,166,169,173,174,179,212,216,217,219,221,224,225,226,228,234,235,239,462],[65,107,166,173,174,212,216,219,234,238,239],[65,107,166,212,216],[65,107,183,184,207,208,209,210,211,212,213,216,226,227,228,234,235,237,238,240,241,242],[65,107,166,173,212,216],[65,107,166,173,208,212],[65,107,166,173,212,228],[65,107,166,169,172,173,212,222,223,228,235,239],[65,107,229,230,231,232,233,236,239],[65,107,166,169,170,172,173,179,207,212,214,222,223,228,230,235,236,239],[65,107,166,169,173,179,216,226,233,235,239],[65,107,166,173,174,212,219,222,223,228,235],[65,107,166,173,220,222,223],[65,107,166,173,222,223,228,235,238],[65,107,166,169,172,173,174,179,212,216,217,218,222,223,226,228,235,239],[65,107,169,170,171,172,173,174,179,212,216,217,228,233,238],[65,107,166,169,170,172,173,174,212,214,217,222,223,228,235,239,457],[65,107,166,173,184,212],[65,107,166,174,182,218,219,220,227,235,239,462],[65,107,169,172,173],[65,107,166,170,183,206,207,209,210,211,213,214,456],[65,107,169,173,183,207,209,210,211,212,213,216,217,238,243,456,457],[65,107,166,173],[65,107,166,172,173,174,179,214,217,236,237,456],[65,107,166,167,169,170,171,174,182,219,222,456,457,458,459,460],[65,107,273,281,294],[65,107,166,173,273],[65,107,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,276],[65,107,166,275,456,457],[65,107,166,174,275,456,457],[65,107,166,173,174,273,274,456,457],[65,107,166,173,174,273,275,456,457],[65,107,166,174,273,275,456,457],[65,107,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,275,276],[65,107,166,255,275,456,457],[65,107,166,174,263,456,457],[65,107,166,169,173,174,219,273,280,281,286,287,288,289,291,294,462],[65,107,166,173,174,219,273,275,278,279,284,285,291,294],[65,107,166,273,277],[65,107,244,270,271,272,273,274,277,280,286,288,290,291,292,293,295,296,297],[65,107,166,173,273,277],[65,107,166,173,273,281,291],[65,107,166,169,173,174,222,273,275,286,291,294],[65,107,279,282,283,284,285,294],[65,107,166,170,173,179,218,222,223,273,275,283,284,286,291,294],[65,107,166,169,280,282,286,294],[65,107,166,173,174,219,222,273,286,291],[65,107,166,169,172,173,174,179,218,222,270,273,277,280,281,286,291,294],[65,107,169,170,171,172,173,174,179,273,277,281,282,291,293],[65,107,166,169,173,174,218,222,273,275,286,291,294,457],[65,107,166,273,293],[65,107,166,173,174,218,219,286,290,294,462],[65,107,169,172,173,179,283],[65,107,166,170,244,269,270,271,272,274,275,456],[65,107,169,244,270,271,272,273,274,281,282,293,298,461],[65,107,166,172,173,179,277,281,283,292,456],[65,107,165,166,167,174,219,352,359,462,463],[65,107,463,464],[65,107,165,166,167,173,174,218,219,353,359,363,369,407],[65,107,169,170,173,457],[65,107,340,346,363],[65,107,166,182,340],[65,107,300,301,302,303,304,306,307,308,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,343],[65,107,166,310,342,456,457],[65,107,166,342,456,457],[65,107,166,174,342,456,457],[65,107,166,173,174,335,340,341,456,457],[65,107,166,173,174,340,342,456,457],[65,107,166,342,456],[65,107,166,174,305,342,456,457],[65,107,166,174,340,342,456,457],[65,107,300,301,302,303,304,306,307,308,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,342,343,344],[65,107,166,309,342,456],[65,107,166,312,342,456,457],[65,107,166,340,342,456,457],[65,107,166,305,312,340,342,456,457],[65,107,166,174,305,340,342,456,457],[65,107,166,169,173,174,219,340,345,346,347,348,349,350,351,353,358,359,362,363,462],[65,107,166,173,174,219,278,340,345,353,358,362,363],[65,107,166,340,345],[65,107,299,309,335,336,337,338,339,340,341,345,351,352,353,358,359,361,362,364,365,366,368],[65,107,166,173,340,345],[65,107,166,173,336,340],[65,107,166,173,174,340,353],[65,107,166,169,172,173,179,218,222,223,340,353,359,363],[65,107,350,354,355,356,357,360,363],[65,107,166,169,170,172,173,179,218,222,223,335,340,342,353,355,359,360,363],[65,107,166,169,173,345,351,357,359,363],[65,107,166,173,174,219,222,223,340,353,359],[65,107,166,173,222,223,353,359,362],[65,107,166,169,172,173,174,179,218,222,223,340,345,346,351,353,359,363],[65,107,169,170,171,172,173,174,179,340,345,346,353,357,362],[65,107,166,169,170,172,173,174,179,218,222,223,340,342,346,353,359,363,457],[65,107,166,173,174,309,340,344,362],[65,107,166,174,182,218,219,220,352,359,363,462],[65,107,169,172,173,179,360],[65,107,166,170,299,334,335,337,338,339,341,342,456],[65,107,169,173,299,335,337,338,339,340,341,345,346,362,369,456,457],[65,107,367],[65,107,166,172,173,174,179,342,346,360,361,456],[65,107,166,182],[65,107,169,170,171,173,174,456,457],[65,107,166,170,173,174,177,457,461],[65,107,456],[65,107,461],[65,107,399,417],[65,107,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,401],[65,107,166,400,456,457],[65,107,166,174,400,456,457],[65,107,166,174,399,456,457],[65,107,166,173,174,399,400,456,457],[65,107,166,174,399,400,456,457],[65,107,166,174,182,400,456,457],[65,107,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,400,401],[65,107,166,380,400,456,457],[65,107,166,174,388,456,457],[65,107,166,169,173,219,399,406,409,410,411,414,416,417,462],[65,107,166,173,174,219,278,399,400,403,404,405,416,417],[65,107,396,397,398,399,402,406,411,414,415,416,418,419,420],[65,107,166,173,399,402],[65,107,166,399,402],[65,107,166,173,399,416],[65,107,166,169,173,174,222,399,400,406,416,417],[65,107,403,404,405,412,413,417],[65,107,166,170,173,222,223,399,400,404,406,416,417],[65,107,166,169,406,411,412,417],[65,107,166,169,172,173,174,179,218,222,399,402,406,411,416,417],[65,107,169,170,171,172,173,174,179,399,402,412,416],[65,107,166,169,173,174,222,399,400,406,416,417,457],[65,107,166,399],[65,107,166,173,174,218,219,406,415,417,462],[65,107,169,172,173,179,413],[65,107,166,170,395,396,397,398,400,456],[65,107,169,173,396,397,398,399,421,456,457],[65,107,166,167,174,219,406,408,415,462],[65,107,166,167,173,174,218,219,406,407,416,417],[65,107,173,457],[65,107,175,176],[65,107,178,180],[65,107,173,179,457],[65,107,173,177,181],[65,107,166,168,169,170,172,174,457],[65,107,427,448,453],[65,107,166,173,448],[65,107,423,443,444,445,446,451],[65,107,166,174,450,456,457],[65,107,166,173,174,448,449,456,457],[65,107,166,173,174,448,450,456,457],[65,107,423,443,444,445,446,450,451],[65,107,166,174,442,448,450,456,457],[65,107,166,450,456,457],[65,107,166,174,448,450,456,457],[65,107,166,169,173,174,219,427,428,429,430,433,438,439,448,453,462],[65,107,166,173,174,219,278,433,438,448,452,453],[65,107,166,448,452],[65,107,422,424,425,426,430,431,433,438,439,441,442,448,449,452,454],[65,107,166,173,448,452],[65,107,166,173,433,441,448],[65,107,166,169,172,173,174,222,223,433,439,448,450,453],[65,107,434,435,436,437,440,453],[65,107,166,169,172,173,174,179,222,223,424,433,435,439,440,448,450,453],[65,107,166,169,430,437,439,453],[65,107,166,173,174,219,222,223,433,439,448],[65,107,166,173,220,222,223,439],[65,107,166,169,172,173,174,179,218,222,223,427,430,433,439,448,452,453],[65,107,169,170,171,172,173,174,179,427,433,437,441,448,452],[65,107,166,169,172,173,174,222,223,427,433,439,448,450,453,457],[65,107,166,173,218,219,220,222,431,432,439,453,462],[65,107,169,172,173,179,440],[65,107,166,170,422,424,425,426,447,449,450,456],[65,107,166,448,450],[65,107,169,173,422,424,425,426,427,441,448,449,455],[65,107,166,172,173,179,427,440,450,456],[65,107,166,171,173,174,457],[65,107,167,170,173,457,462],[65,107,488],[65,107,159,160,161],[65,107,139,159],[65,107,480],[65,107,481],[65,74,78,107,150],[65,74,107,139,150],[65,69,107],[65,71,74,107,147,150],[65,107,127,147],[65,71,74,107,127,150],[65,66,67,70,73,107,119,139,150],[65,74,81,107],[65,66,72,107],[65,74,95,96,107],[65,70,74,107,142,150],[65,95,107],[65,68,69,107],[65,74,107],[65,68,69,70,71,72,73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,107],[65,74,89,107],[65,74,81,82,107],[65,72,74,82,83,107],[65,73,107],[65,66,69,74,107],[65,74,78,82,83,107],[65,78,107],[65,72,74,77,107,150],[65,66,71,74,81,107],[65,107,139],[65,69,74,95,107,155],[65,107,515],[65,107,505,506],[65,107,503,504,505,507,508,513],[65,107,504,505],[65,107,513],[65,107,514],[65,107,505],[65,107,503,504,505,508,509,510,511,512],[65,107,503,504,515],[65,107,165,465,498],[65,107,502,516],[65,107,461,490,491,492,493,494,497,498,499],[65,107,369,461,490],[65,107,369,489],[65,107,369,461,490,492],[65,107,490,491,492,493,494,495,496,497],[65,107,369,461,490,491],[65,107,369]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"25d130083f833251b5b4c2794890831b1b8ce2ead24089f724181576cf9d7279","impliedFormat":1},{"version":"ffe66ee5c9c47017aca2136e95d51235c10e6790753215608bff1e712ff54ec6","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"39d80ec3c018d7ffe7c99ddd3a7b6844b3376c15e52937a7687d2c2828830fd0","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"10b981156c3bd1db5b9146245e30473e1fa2b58c98346f8acdb7538947df3365","957f26931c2ed5af42709bad6abb710f43631371014ef4c81fac9d5f419d4249","447f663a195a5c8d2c4ba312f9115387092f87269f630010e00c5972f64deec5","600dc6bc372ea5db0ecf68eef984fd5d509bef523ab355230a76ed227781de11","4e7d11e3921bd8923d16ce24d0d3e56053dba6f9c683ab63674c7d2bb0298a06","e0ad30d8cc36c538119167dae544bee3c93daefb2269553a8e45a02a87534257","f06dd40409e73885ed1daecf8afdc0ba400c84bc921742be9fe4a63fdbf03cdc","f1c72d16f8460774f81d19edc0669252a2fa32de15c5d0c5024b6c7e213587de","50980b4f45fc54d0874da9ae7fed6628981b618fe7cbba94952e60479119b23c","0e8cab67ed21b45b6103c42d45abb001b7f5c03a8404a787c2adb76582bebc29",{"version":"155d2e6caadb7de14cd4c337164f7febade2bcefb7645c7094158cd80e4b9c1f","impliedFormat":99},{"version":"fcc60c64e9ff115a2ddb9fcaeb19d45668b353ccafc55054588c0ffb5bfb7a53","impliedFormat":99},{"version":"0c2f0f87ad46e9b8f458f4392e355a07d8231d07ab4648c9cb8b108d3c947bb0","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},"6e943ccddb5e26c84793edc41d9ca14d71ac980f2fcf2b17ba874e64adfaef16","4d9c5742d3c56b0aa7f9aece6be317528d9e99f9ccccbc99f39848b7a0a47205"],"root":[[490,499],517,518],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":99,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[488,1],[475,2],[473,3],[471,4],[470,5],[474,6],[468,6],[472,7],[476,8],[478,9],[466,5],[482,10],[485,11],[487,12],[484,13],[486,14],[483,5],[477,1],[479,15],[469,5],[501,16],[500,5],[502,17],[104,18],[105,18],[106,19],[65,20],[107,21],[108,22],[109,23],[60,5],[63,24],[61,5],[62,5],[110,25],[111,26],[112,27],[113,28],[114,29],[115,30],[116,30],[118,5],[117,31],[119,32],[120,33],[121,34],[103,35],[64,5],[122,36],[123,37],[124,38],[157,39],[125,40],[126,41],[127,42],[128,43],[129,44],[130,45],[131,46],[132,47],[133,48],[134,49],[135,49],[136,50],[137,5],[138,5],[139,51],[141,52],[140,53],[142,54],[143,55],[144,56],[145,57],[146,58],[147,59],[148,60],[149,61],[150,62],[151,63],[152,64],[153,65],[154,66],[155,67],[156,68],[165,69],[164,70],[163,69],[458,71],[462,72],[407,73],[218,5],[168,74],[456,75],[457,76],[166,5],[459,77],[240,78],[183,79],[206,80],[215,81],[186,81],[187,82],[188,82],[214,83],[189,84],[190,82],[196,85],[191,86],[192,82],[193,82],[216,87],[185,88],[194,81],[195,86],[197,89],[198,89],[199,86],[200,82],[201,81],[202,82],[203,90],[204,90],[205,82],[227,91],[235,92],[213,93],[243,94],[207,95],[209,96],[210,93],[221,97],[229,98],[234,99],[231,100],[236,101],[224,102],[225,103],[232,104],[233,105],[239,106],[230,107],[208,77],[241,108],[184,77],[228,109],[226,110],[212,111],[211,93],[242,112],[217,113],[237,5],[238,114],[461,115],[167,77],[278,5],[295,116],[244,117],[269,118],[276,119],[245,119],[246,119],[247,120],[275,121],[248,122],[263,119],[249,123],[250,123],[251,120],[252,119],[253,120],[254,119],[277,124],[255,119],[256,119],[257,125],[258,119],[259,119],[260,125],[261,120],[262,119],[264,126],[265,125],[266,119],[267,120],[268,119],[290,127],[286,128],[274,129],[298,130],[270,131],[271,129],[287,132],[279,133],[288,134],[285,135],[283,136],[289,137],[282,138],[294,139],[284,140],[296,141],[291,142],[280,143],[273,144],[272,129],[297,145],[281,113],[292,5],[293,146],[464,147],[465,148],[463,149],[171,150],[364,151],[299,152],[334,153],[343,154],[300,155],[301,155],[302,156],[303,155],[342,157],[304,158],[305,159],[306,160],[307,155],[344,161],[345,162],[308,155],[310,163],[311,154],[313,164],[314,165],[315,165],[316,156],[317,155],[318,155],[319,161],[320,156],[321,156],[322,165],[323,155],[324,154],[325,155],[326,156],[327,166],[312,167],[328,155],[329,156],[330,155],[331,155],[332,155],[333,155],[352,168],[359,169],[341,170],[369,171],[335,172],[337,173],[338,170],[347,174],[354,175],[358,176],[356,177],[360,178],[348,179],[349,103],[350,180],[357,181],[363,182],[355,183],[336,77],[365,184],[309,77],[353,185],[351,186],[340,187],[339,170],[366,188],[367,5],[368,189],[346,113],[361,5],[362,190],[179,191],[172,192],[222,77],[219,193],[223,194],[220,195],[418,196],[395,197],[401,198],[370,198],[371,198],[372,199],[400,200],[373,201],[388,198],[374,202],[375,202],[376,199],[377,198],[378,203],[379,198],[402,204],[380,198],[381,198],[382,205],[383,198],[384,198],[385,205],[386,199],[387,198],[389,206],[390,205],[391,198],[392,199],[393,198],[394,198],[415,207],[406,208],[421,209],[396,210],[397,211],[410,212],[403,213],[414,214],[405,215],[413,216],[412,217],[417,218],[404,219],[419,220],[416,221],[411,222],[399,223],[398,211],[420,224],[409,225],[408,226],[175,227],[177,228],[176,227],[178,227],[181,229],[180,230],[182,231],[173,232],[454,233],[422,234],[447,235],[451,236],[450,237],[423,238],[452,239],[443,240],[444,236],[445,241],[446,242],[431,243],[439,244],[449,245],[455,246],[424,247],[425,245],[428,248],[434,249],[438,250],[436,251],[440,252],[429,253],[432,254],[437,255],[453,256],[435,257],[433,258],[430,259],[448,260],[426,261],[442,262],[427,113],[441,263],[169,113],[170,264],[174,265],[460,5],[489,266],[467,5],[162,267],[159,5],[161,268],[160,5],[158,5],[481,269],[480,270],[58,5],[59,5],[10,5],[11,5],[13,5],[12,5],[2,5],[14,5],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[21,5],[3,5],[22,5],[23,5],[4,5],[24,5],[28,5],[25,5],[26,5],[27,5],[29,5],[30,5],[31,5],[5,5],[32,5],[33,5],[34,5],[35,5],[6,5],[39,5],[36,5],[37,5],[38,5],[40,5],[7,5],[41,5],[46,5],[47,5],[42,5],[43,5],[44,5],[45,5],[8,5],[51,5],[48,5],[49,5],[50,5],[52,5],[9,5],[53,5],[54,5],[55,5],[57,5],[56,5],[1,5],[81,271],[91,272],[80,271],[101,273],[72,274],[71,275],[100,5],[94,273],[99,276],[74,277],[88,278],[73,279],[97,280],[69,281],[68,5],[98,282],[70,283],[75,284],[76,5],[79,284],[66,5],[102,285],[92,286],[83,287],[84,288],[86,289],[82,290],[85,291],[95,5],[77,292],[78,293],[87,294],[67,295],[90,286],[89,284],[93,5],[96,296],[516,297],[507,298],[514,299],[509,5],[510,5],[508,300],[511,301],[503,5],[504,5],[515,302],[506,303],[512,5],[513,304],[505,305],[499,306],[517,307],[518,308],[493,309],[490,310],[494,311],[491,311],[498,312],[495,313],[492,313],[497,314],[496,309]],"affectedFilesPendingEmit":[499,517,518,493,490,494,491,498,495,492,497,496],"version":"6.0.2"} \ No newline at end of file diff --git a/packages/db/drizzle.config.ts b/packages/db/drizzle.config.ts index 1a8dafd6..2609e04d 100644 --- a/packages/db/drizzle.config.ts +++ b/packages/db/drizzle.config.ts @@ -16,4 +16,4 @@ export default defineConfig({ dbCredentials: { url: process.env.DATABASE_URL, }, -}); \ No newline at end of file +}); diff --git a/packages/db/drizzle/meta/_journal.json b/packages/db/drizzle/meta/_journal.json index f04877e7..99263a05 100644 --- a/packages/db/drizzle/meta/_journal.json +++ b/packages/db/drizzle/meta/_journal.json @@ -1 +1 @@ -{"version":"7","dialect":"postgresql","entries":[]} \ No newline at end of file +{ "version": "7", "dialect": "postgresql", "entries": [] } diff --git a/packages/db/package.json b/packages/db/package.json index 3598a904..9f2e3905 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -17,8 +17,7 @@ "dependencies": { "@t3-oss/env-nextjs": "0.13.11", "drizzle-orm": "0.45.2", - "minimatch": "10.2.3", - "next-auth": "5.0.0-beta.30", + "next-auth": "5.0.0-beta.32", "pg": "8.21.0", "postgres": "3.4.3", "zod": "3.25.53" diff --git a/packages/db/src/client.ts b/packages/db/src/client.ts index 5a91cc47..7464d57a 100644 --- a/packages/db/src/client.ts +++ b/packages/db/src/client.ts @@ -14,14 +14,19 @@ const globalForDb = globalThis as unknown as { let db: DrizzleDB | null = null; if (DATABASE_URL) { - const conn = globalForDb.conn ?? new Pool({ - connectionString: DATABASE_URL, - allowExitOnIdle: true, - connectionTimeoutMillis: 10000, // 10s timeout - idleTimeoutMillis: 10000, // 10s idle timeout - max: 10, // Increased from 1 to 10 to prevent starvation in dev/HMR - ssl: process.env.NODE_ENV === 'production' ? { rejectUnauthorized: true } : undefined, - }); + const conn = + globalForDb.conn ?? + new Pool({ + connectionString: DATABASE_URL, + allowExitOnIdle: true, + connectionTimeoutMillis: 10000, // 10s timeout + idleTimeoutMillis: 10000, // 10s idle timeout + max: 10, // Increased from 1 to 10 to prevent starvation in dev/HMR + ssl: + process.env.NODE_ENV === "production" + ? { rejectUnauthorized: true } + : undefined, + }); if (process.env.NODE_ENV !== "production") globalForDb.conn = conn; @@ -30,4 +35,4 @@ if (DATABASE_URL) { console.warn("DATABASE_URL not set - database operations will fail"); } -export { db }; \ No newline at end of file +export { db }; diff --git a/packages/db/src/index.ts b/packages/db/src/index.ts index 038e54c4..0d69573a 100644 --- a/packages/db/src/index.ts +++ b/packages/db/src/index.ts @@ -8,11 +8,7 @@ export { hackathons, hackathonParticipants, hackathonTeams, - hackathonProjects + hackathonProjects, } from "./schemas/hackathons"; -export { - events, - eventCheckIns -} from "./schemas/events"; +export { events, eventCheckIns } from "./schemas/events"; export { auditLogs, securitySeverityEnum } from "./schemas/security"; -export { systemSettings } from "./schemas/settings"; \ No newline at end of file diff --git a/packages/db/src/schemas/admins.ts b/packages/db/src/schemas/admins.ts index c5310920..2e1b3176 100644 --- a/packages/db/src/schemas/admins.ts +++ b/packages/db/src/schemas/admins.ts @@ -22,4 +22,4 @@ export const adminsRelations = relations(admins, ({ one }) => ({ fields: [admins.userId], references: [users.id], }), -})); \ No newline at end of file +})); diff --git a/packages/db/src/schemas/auth.ts b/packages/db/src/schemas/auth.ts index 3ee22c67..d885370f 100644 --- a/packages/db/src/schemas/auth.ts +++ b/packages/db/src/schemas/auth.ts @@ -1,16 +1,27 @@ -import { pgTable, text, timestamp, primaryKey, integer, index } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + primaryKey, + integer, + index, +} from "drizzle-orm/pg-core"; import type { AdapterAccount } from "next-auth/adapters"; -export const users = pgTable("user", { - id: text("id").notNull().primaryKey(), - name: text("name"), - email: text("email").notNull(), - emailVerified: timestamp("emailVerified", { mode: "date" }), - image: text("image"), -}, (table) => [ - index("user_email_idx").on(table.email), - index("user_name_idx").on(table.name), -]); +export const users = pgTable( + "user", + { + id: text("id").notNull().primaryKey(), + name: text("name"), + email: text("email").notNull(), + emailVerified: timestamp("emailVerified", { mode: "date" }), + image: text("image"), + }, + (table) => [ + index("user_email_idx").on(table.email), + index("user_name_idx").on(table.name), + ], +); export const accounts = pgTable( "account", @@ -34,18 +45,20 @@ export const accounts = pgTable( columns: [account.provider, account.providerAccountId], }), index("account_user_id_idx").on(account.userId), - ] + ], ); -export const sessions = pgTable("session", { - sessionToken: text("sessionToken").notNull().primaryKey(), - userId: text("userId") - .notNull() - .references(() => users.id, { onDelete: "cascade" }), - expires: timestamp("expires", { mode: "date" }).notNull(), -}, (table) => [ - index("session_user_id_idx").on(table.userId), -]); +export const sessions = pgTable( + "session", + { + sessionToken: text("sessionToken").notNull().primaryKey(), + userId: text("userId") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + expires: timestamp("expires", { mode: "date" }).notNull(), + }, + (table) => [index("session_user_id_idx").on(table.userId)], +); export const verificationTokens = pgTable( "verificationToken", @@ -54,7 +67,5 @@ export const verificationTokens = pgTable( token: text("token").notNull(), expires: timestamp("expires", { mode: "date" }).notNull(), }, - (vt) => [ - primaryKey({ columns: [vt.identifier, vt.token] }), - ] -); \ No newline at end of file + (vt) => [primaryKey({ columns: [vt.identifier, vt.token] })], +); diff --git a/packages/db/src/schemas/events.ts b/packages/db/src/schemas/events.ts index ec4c418a..dc4348c7 100644 --- a/packages/db/src/schemas/events.ts +++ b/packages/db/src/schemas/events.ts @@ -1,4 +1,11 @@ -import { pgTable, text, timestamp, uuid, boolean, integer } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + boolean, + integer, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; import { members } from "./members"; @@ -29,8 +36,9 @@ export const eventCheckIns = pgTable("event_check_in", { userId: text("user_id") .notNull() .references(() => users.id, { onDelete: "cascade" }), - memberId: uuid("member_id") - .references(() => members.id, { onDelete: "set null" }), + memberId: uuid("member_id").references(() => members.id, { + onDelete: "set null", + }), checkInMethod: text("check_in_method", { enum: ["qr_code", "manual"] }) .notNull() .default("qr_code"), @@ -40,12 +48,21 @@ export const eventCheckIns = pgTable("event_check_in", { // Relations export const eventsRelations = relations(events, ({ one, many }) => ({ - createdBy: one(users, { fields: [events.createdById], references: [users.id] }), + createdBy: one(users, { + fields: [events.createdById], + references: [users.id], + }), checkIns: many(eventCheckIns), })); export const eventCheckInsRelations = relations(eventCheckIns, ({ one }) => ({ - event: one(events, { fields: [eventCheckIns.eventId], references: [events.id] }), + event: one(events, { + fields: [eventCheckIns.eventId], + references: [events.id], + }), user: one(users, { fields: [eventCheckIns.userId], references: [users.id] }), - member: one(members, { fields: [eventCheckIns.memberId], references: [members.id] }), -})); \ No newline at end of file + member: one(members, { + fields: [eventCheckIns.memberId], + references: [members.id], + }), +})); diff --git a/packages/db/src/schemas/hackathons.ts b/packages/db/src/schemas/hackathons.ts index 762e6431..cbc76d11 100644 --- a/packages/db/src/schemas/hackathons.ts +++ b/packages/db/src/schemas/hackathons.ts @@ -1,167 +1,223 @@ -import { pgTable, text, timestamp, uuid, boolean, integer, json, index, unique } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + boolean, + integer, + json, + index, + unique, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; import { members } from "./members"; // Hackathon events -export const hackathons = pgTable("hackathon", { - id: uuid("id").defaultRandom().primaryKey(), - name: text("name").notNull(), - description: text("description"), - location: text("location"), - startDate: timestamp("start_date").notNull(), - endDate: timestamp("end_date").notNull(), - registrationDeadline: timestamp("registration_deadline"), - hackingStartTime: timestamp("hacking_start_time"), - maxParticipants: integer("max_participants"), - currentParticipants: integer("current_participants").notNull().default(0), - status: text("status", { enum: ["draft", "open", "closed", "in_progress", "completed", "cancelled"] }) - .notNull() - .default("draft"), - prizes: json("prizes").$type<{ place: string; amount: number; description?: string }[]>(), - rules: text("rules"), - theme: text("theme"), - tracks: text("tracks").array(), - challenges: text("challenges").array(), - websiteUrl: text("website_url"), - isPublic: boolean("is_public").notNull().default(true), - judgingActive: boolean("judging_active").notNull().default(false), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("hackathon_status_idx").on(table.status), -]); +export const hackathons = pgTable( + "hackathon", + { + id: uuid("id").defaultRandom().primaryKey(), + name: text("name").notNull(), + description: text("description"), + location: text("location"), + startDate: timestamp("start_date").notNull(), + endDate: timestamp("end_date").notNull(), + registrationDeadline: timestamp("registration_deadline"), + hackingStartTime: timestamp("hacking_start_time"), + maxParticipants: integer("max_participants"), + currentParticipants: integer("current_participants").notNull().default(0), + status: text("status", { + enum: [ + "draft", + "open", + "closed", + "in_progress", + "completed", + "cancelled", + ], + }) + .notNull() + .default("draft"), + prizes: + json("prizes").$type< + { place: string; amount: number; description?: string }[] + >(), + rules: text("rules"), + theme: text("theme"), + tracks: text("tracks").array(), + challenges: text("challenges").array(), + websiteUrl: text("website_url"), + isPublic: boolean("is_public").notNull().default(true), + judgingActive: boolean("judging_active").notNull().default(false), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [index("hackathon_status_idx").on(table.status)], +); // Teams for hackathons -export const hackathonTeams = pgTable("hackathon_team", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - name: text("name").notNull(), - description: text("description"), - maxMembers: integer("max_members").notNull().default(4), - currentMembers: integer("current_members").notNull().default(0), - captainId: text("captain_id") - .notNull() - .references(() => users.id, { onDelete: "cascade" }), - isOpen: boolean("is_open").notNull().default(true), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("team_hackathon_id_idx").on(table.hackathonId), - index("team_captain_id_idx").on(table.captainId), -]); +export const hackathonTeams = pgTable( + "hackathon_team", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + name: text("name").notNull(), + description: text("description"), + maxMembers: integer("max_members").notNull().default(4), + currentMembers: integer("current_members").notNull().default(0), + captainId: text("captain_id") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + isOpen: boolean("is_open").notNull().default(true), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("team_hackathon_id_idx").on(table.hackathonId), + index("team_captain_id_idx").on(table.captainId), + ], +); // Individual participants -export const hackathonParticipants = pgTable("hackathon_participant", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - userId: text("user_id") - .notNull() - .references(() => users.id, { onDelete: "cascade" }), - memberId: uuid("member_id") - .references(() => members.id, { onDelete: "set null" }), +export const hackathonParticipants = pgTable( + "hackathon_participant", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + userId: text("user_id") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + memberId: uuid("member_id").references(() => members.id, { + onDelete: "set null", + }), - // Registration info - registrationStatus: text("registration_status", { - enum: ["pending", "approved", "rejected", "waitlisted", "checked_in"] - }).notNull().default("pending"), + // Registration info + registrationStatus: text("registration_status", { + enum: ["pending", "approved", "rejected", "waitlisted", "checked_in"], + }) + .notNull() + .default("pending"), - // Team info (optional, participant can be solo) - teamId: uuid("team_id") - .references(() => hackathonTeams.id, { onDelete: "set null" }), + // Team info (optional, participant can be solo) + teamId: uuid("team_id").references(() => hackathonTeams.id, { + onDelete: "set null", + }), - // Personal info - firstName: text("first_name"), - lastName: text("last_name"), - phone: text("phone"), - age: integer("age"), - gender: text("gender"), - pronouns: text("pronouns"), - race: text("race"), - underrepresented: boolean("underrepresented").default(false), + // Personal info + firstName: text("first_name"), + lastName: text("last_name"), + phone: text("phone"), + age: integer("age"), + gender: text("gender"), + pronouns: text("pronouns"), + race: text("race"), + underrepresented: boolean("underrepresented").default(false), - // Academic info - school: text("school"), - major: text("major"), - firstGeneration: boolean("first_generation").default(false), - graduationYear: integer("graduation_year"), - levelOfStudy: text("level_of_study", { - enum: ["Freshman", "Sophomore", "Junior", "Senior", "Graduate", "PhD", "Other"] - }), - country: text("country"), + // Academic info + school: text("school"), + major: text("major"), + firstGeneration: boolean("first_generation").default(false), + graduationYear: integer("graduation_year"), + levelOfStudy: text("level_of_study", { + enum: [ + "Freshman", + "Sophomore", + "Junior", + "Senior", + "Graduate", + "PhD", + "Other", + ], + }), + country: text("country"), - // Experience - hackathonsAttended: integer("hackathons_attended"), - resumeUrl: text("resume_url"), - linkedinUrl: text("linkedin_url"), - githubUrl: text("github_url"), - whyAttend: text("why_attend"), + // Experience + hackathonsAttended: integer("hackathons_attended"), + resumeUrl: text("resume_url"), + linkedinUrl: text("linkedin_url"), + githubUrl: text("github_url"), + whyAttend: text("why_attend"), - // Logistics - shirtSize: text("shirt_size", { enum: ["XS", "S", "M", "L", "XL", "XXL"] }), - dietaryRestrictions: text("dietary_restrictions").array(), - emergencyContact: text("emergency_contact"), - emergencyPhone: text("emergency_phone"), - needsHardware: boolean("needs_hardware").default(false), + // Logistics + shirtSize: text("shirt_size", { enum: ["XS", "S", "M", "L", "XL", "XXL"] }), + dietaryRestrictions: text("dietary_restrictions").array(), + emergencyContact: text("emergency_contact"), + emergencyPhone: text("emergency_phone"), + needsHardware: boolean("needs_hardware").default(false), - // Consent - agreeToCodeOfConduct: boolean("agree_to_code_of_conduct").default(false), - mlhCodeOfConduct: boolean("mlh_code_of_conduct").default(false), - mlhDataSharing: boolean("mlh_data_sharing").default(false), - mlhInformationalEmails: boolean("mlh_informational_emails").default(false), + // Consent + agreeToCodeOfConduct: boolean("agree_to_code_of_conduct").default(false), + mlhCodeOfConduct: boolean("mlh_code_of_conduct").default(false), + mlhDataSharing: boolean("mlh_data_sharing").default(false), + mlhInformationalEmails: boolean("mlh_informational_emails").default(false), - // Participation tracking - checkedInAt: timestamp("checked_in_at"), - hasSubmittedProject: boolean("has_submitted_project").notNull().default(false), + // Participation tracking + checkedInAt: timestamp("checked_in_at"), + hasSubmittedProject: boolean("has_submitted_project") + .notNull() + .default(false), - registeredAt: timestamp("registered_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("participant_hackathon_id_idx").on(table.hackathonId), - index("participant_user_id_idx").on(table.userId), - index("participant_team_id_idx").on(table.teamId), - // Enforce one registration per user per hackathon at the DB level. - // This prevents duplicates even under concurrent requests that race - // past the application-level findFirst check inside the transaction. - unique("unique_participant_per_hackathon").on(table.hackathonId, table.userId), -]); + registeredAt: timestamp("registered_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("participant_hackathon_id_idx").on(table.hackathonId), + index("participant_user_id_idx").on(table.userId), + index("participant_team_id_idx").on(table.teamId), + // Enforce one registration per user per hackathon at the DB level. + // This prevents duplicates even under concurrent requests that race + // past the application-level findFirst check inside the transaction. + unique("unique_participant_per_hackathon").on( + table.hackathonId, + table.userId, + ), + ], +); // Project submissions -export const hackathonProjects = pgTable("hackathon_project", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - teamId: uuid("team_id") - .references(() => hackathonTeams.id, { onDelete: "cascade" }), - name: text("name").notNull(), - description: text("description").notNull(), - technologies: text("technologies").array(), - tracks: text("tracks").array(), // Enum: Sports, Entertainment, Finance, Healthcare, databricks, sphinx, growth factor, figma, actian, safety kit, GEN-AI, CYBER, NONE - challenges: text("challenges").array(), // Enum: AGG, ASSURANT, AWS, CAPONE, GROWTH, MLH_MONGODB, MLH_STREAMLIT, MLH_TECH, MLH_CLOUDFLARE, MLH_REACH_CAPITAL - isCreateX: boolean("is_create_x").default(false), - teamMembers: text("team_members").array(), // Store names/emails if not fully linked - githubUrl: text("github_url"), - demoUrl: text("demo_url"), - videoUrl: text("video_url"), - slides: text("slides"), - status: text("status", { enum: ["draft", "submitted", "judging", "winner"] }) - .notNull() - .default("draft"), - score: integer("score"), - ranking: integer("ranking"), - submittedAt: timestamp("submitted_at"), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("project_hackathon_id_idx").on(table.hackathonId), - index("project_team_id_idx").on(table.teamId), - index("project_status_idx").on(table.status), -]); +export const hackathonProjects = pgTable( + "hackathon_project", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + teamId: uuid("team_id").references(() => hackathonTeams.id, { + onDelete: "cascade", + }), + name: text("name").notNull(), + description: text("description").notNull(), + technologies: text("technologies").array(), + tracks: text("tracks").array(), // Enum: Sports, Entertainment, Finance, Healthcare, databricks, sphinx, growth factor, figma, actian, safety kit, GEN-AI, CYBER, NONE + challenges: text("challenges").array(), // Enum: AGG, ASSURANT, AWS, CAPONE, GROWTH, MLH_MONGODB, MLH_STREAMLIT, MLH_TECH, MLH_CLOUDFLARE, MLH_REACH_CAPITAL + isCreateX: boolean("is_create_x").default(false), + teamMembers: text("team_members").array(), // Store names/emails if not fully linked + githubUrl: text("github_url"), + demoUrl: text("demo_url"), + videoUrl: text("video_url"), + slides: text("slides"), + status: text("status", { + enum: ["draft", "submitted", "judging", "winner"], + }) + .notNull() + .default("draft"), + score: integer("score"), + ranking: integer("ranking"), + submittedAt: timestamp("submitted_at"), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("project_hackathon_id_idx").on(table.hackathonId), + index("project_team_id_idx").on(table.teamId), + index("project_status_idx").on(table.status), + ], +); // Relations export const hackathonsRelations = relations(hackathons, ({ many }) => ({ @@ -170,101 +226,126 @@ export const hackathonsRelations = relations(hackathons, ({ many }) => ({ projects: many(hackathonProjects), })); -export const hackathonParticipantsRelations = relations(hackathonParticipants, ({ one }) => ({ - hackathon: one(hackathons, { - fields: [hackathonParticipants.hackathonId], - references: [hackathons.id], - }), - user: one(users, { - fields: [hackathonParticipants.userId], - references: [users.id], - }), - member: one(members, { - fields: [hackathonParticipants.memberId], - references: [members.id], - }), - team: one(hackathonTeams, { - fields: [hackathonParticipants.teamId], - references: [hackathonTeams.id], +export const hackathonParticipantsRelations = relations( + hackathonParticipants, + ({ one }) => ({ + hackathon: one(hackathons, { + fields: [hackathonParticipants.hackathonId], + references: [hackathons.id], + }), + user: one(users, { + fields: [hackathonParticipants.userId], + references: [users.id], + }), + member: one(members, { + fields: [hackathonParticipants.memberId], + references: [members.id], + }), + team: one(hackathonTeams, { + fields: [hackathonParticipants.teamId], + references: [hackathonTeams.id], + }), }), -})); +); -export const hackathonTeamsRelations = relations(hackathonTeams, ({ one, many }) => ({ - hackathon: one(hackathons, { - fields: [hackathonTeams.hackathonId], - references: [hackathons.id], - }), - captain: one(users, { - fields: [hackathonTeams.captainId], - references: [users.id], +export const hackathonTeamsRelations = relations( + hackathonTeams, + ({ one, many }) => ({ + hackathon: one(hackathons, { + fields: [hackathonTeams.hackathonId], + references: [hackathons.id], + }), + captain: one(users, { + fields: [hackathonTeams.captainId], + references: [users.id], + }), + participants: many(hackathonParticipants), + projects: many(hackathonProjects), }), - participants: many(hackathonParticipants), - projects: many(hackathonProjects), -})); +); // Event scheduling for hackathons -export const hackathonEvents = pgTable("hackathon_event", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - name: text("name").notNull(), - description: text("description"), - type: text("type", { enum: ["workshop", "meal", "ceremony", "activity", "sponsor_session"] }).notNull(), - location: text("location").notNull(), - startTime: timestamp("start_time").notNull(), - endTime: timestamp("end_time").notNull(), - points: integer("points").notNull().default(0), // For gamification - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("event_hackathon_id_idx").on(table.hackathonId), - index("event_type_idx").on(table.type), -]); +export const hackathonEvents = pgTable( + "hackathon_event", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + name: text("name").notNull(), + description: text("description"), + type: text("type", { + enum: ["workshop", "meal", "ceremony", "activity", "sponsor_session"], + }).notNull(), + location: text("location").notNull(), + startTime: timestamp("start_time").notNull(), + endTime: timestamp("end_time").notNull(), + points: integer("points").notNull().default(0), // For gamification + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("event_hackathon_id_idx").on(table.hackathonId), + index("event_type_idx").on(table.type), + ], +); // QR Check-ins for events -export const hackathonEventAttendees = pgTable("hackathon_event_attendee", { - id: uuid("id").defaultRandom().primaryKey(), - eventId: uuid("event_id") - .notNull() - .references(() => hackathonEvents.id, { onDelete: "cascade" }), - participantId: uuid("participant_id") - .notNull() - .references(() => hackathonParticipants.id, { onDelete: "cascade" }), - checkedInAt: timestamp("checked_in_at").defaultNow().notNull(), -}, (table) => [ - index("event_attendee_event_id_idx").on(table.eventId), - index("event_attendee_participant_id_idx").on(table.participantId), - // Prevent duplicate check-ins - unique("unique_event_participant").on(table.eventId, table.participantId), -]); +export const hackathonEventAttendees = pgTable( + "hackathon_event_attendee", + { + id: uuid("id").defaultRandom().primaryKey(), + eventId: uuid("event_id") + .notNull() + .references(() => hackathonEvents.id, { onDelete: "cascade" }), + participantId: uuid("participant_id") + .notNull() + .references(() => hackathonParticipants.id, { onDelete: "cascade" }), + checkedInAt: timestamp("checked_in_at").defaultNow().notNull(), + }, + (table) => [ + index("event_attendee_event_id_idx").on(table.eventId), + index("event_attendee_participant_id_idx").on(table.participantId), + // Prevent duplicate check-ins + unique("unique_event_participant").on(table.eventId, table.participantId), + ], +); -export const hackathonEventsRelations = relations(hackathonEvents, ({ one, many }) => ({ - hackathon: one(hackathons, { - fields: [hackathonEvents.hackathonId], - references: [hackathons.id], +export const hackathonEventsRelations = relations( + hackathonEvents, + ({ one, many }) => ({ + hackathon: one(hackathons, { + fields: [hackathonEvents.hackathonId], + references: [hackathons.id], + }), + attendees: many(hackathonEventAttendees), }), - attendees: many(hackathonEventAttendees), -})); +); -export const hackathonEventAttendeesRelations = relations(hackathonEventAttendees, ({ one }) => ({ - event: one(hackathonEvents, { - fields: [hackathonEventAttendees.eventId], - references: [hackathonEvents.id], +export const hackathonEventAttendeesRelations = relations( + hackathonEventAttendees, + ({ one }) => ({ + event: one(hackathonEvents, { + fields: [hackathonEventAttendees.eventId], + references: [hackathonEvents.id], + }), + participant: one(hackathonParticipants, { + fields: [hackathonEventAttendees.participantId], + references: [hackathonParticipants.id], + }), }), - participant: one(hackathonParticipants, { - fields: [hackathonEventAttendees.participantId], - references: [hackathonParticipants.id], - }), -})); +); -export const hackathonProjectsRelations = relations(hackathonProjects, ({ one }) => ({ - hackathon: one(hackathons, { - fields: [hackathonProjects.hackathonId], - references: [hackathons.id], - }), - team: one(hackathonTeams, { - fields: [hackathonProjects.teamId], - references: [hackathonTeams.id], +export const hackathonProjectsRelations = relations( + hackathonProjects, + ({ one }) => ({ + hackathon: one(hackathons, { + fields: [hackathonProjects.hackathonId], + references: [hackathons.id], + }), + team: one(hackathonTeams, { + fields: [hackathonProjects.teamId], + references: [hackathonTeams.id], + }), }), -})); \ No newline at end of file +); diff --git a/packages/db/src/schemas/index.ts b/packages/db/src/schemas/index.ts index 07163c4a..b1d51c42 100644 --- a/packages/db/src/schemas/index.ts +++ b/packages/db/src/schemas/index.ts @@ -7,4 +7,3 @@ export * from "./events"; export * from "./judge"; export * from "./stripe"; export * from "./security"; -export * from "./settings"; diff --git a/packages/db/src/schemas/judge.ts b/packages/db/src/schemas/judge.ts index c3355894..3eff12c0 100644 --- a/packages/db/src/schemas/judge.ts +++ b/packages/db/src/schemas/judge.ts @@ -1,136 +1,177 @@ -import { pgTable, text, timestamp, uuid, boolean, integer, index, uniqueIndex } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + boolean, + integer, + index, + uniqueIndex, + unique, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; import { hackathons } from "./hackathons"; -export const judges = pgTable("judge", { - id: uuid("id").defaultRandom().primaryKey(), - userId: text("user_id") - .notNull() - .unique() - .references(() => users.id, { onDelete: "cascade" }), - name: text("name"), - email: text("email"), - phone: text("phone"), - company: text("company"), - title: text("title"), - specialty: text("specialty"), - linkedinUrl: text("linkedin_url"), - githubUrl: text("github_url"), - previousExperience: text("previous_experience"), - dietaryRestrictions: text("dietary_restrictions").array(), - shirtSize: text("shirt_size"), - whyJudge: text("why_judge"), - isActive: boolean("is_active").notNull().default(false), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("judge_user_id_idx").on(table.userId), -]); - -export const judgeAssignments = pgTable("judge_assignment", { - id: uuid("id").defaultRandom().primaryKey(), - judgeId: uuid("judge_id") - .notNull() - .references(() => judges.id, { onDelete: "cascade" }), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - assignedAt: timestamp("assigned_at").defaultNow().notNull(), - status: text("status", { enum: ["pending", "approved", "rejected"] }).notNull().default("pending"), - isLead: boolean("is_lead").notNull().default(false), - track: text("track"), -}, (table) => [ - index("assignment_judge_id_idx").on(table.judgeId), - index("assignment_hackathon_id_idx").on(table.hackathonId), -]); +export const judges = pgTable( + "judge", + { + id: uuid("id").defaultRandom().primaryKey(), + userId: text("user_id") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + name: text("name"), + email: text("email"), + phone: text("phone"), + company: text("company"), + title: text("title"), + specialty: text("specialty"), + linkedinUrl: text("linkedin_url"), + githubUrl: text("github_url"), + previousExperience: text("previous_experience"), + dietaryRestrictions: text("dietary_restrictions").array(), + shirtSize: text("shirt_size"), + whyJudge: text("why_judge"), + isActive: boolean("is_active").notNull().default(false), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("judge_user_id_idx").on(table.userId), + index("judge_hackathon_id_idx").on(table.hackathonId), + unique("unique_judge_per_hackathon").on(table.userId, table.hackathonId), + ], +); +export const judgeAssignments = pgTable( + "judge_assignment", + { + id: uuid("id").defaultRandom().primaryKey(), + judgeId: uuid("judge_id") + .notNull() + .references(() => judges.id, { onDelete: "cascade" }), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + assignedAt: timestamp("assigned_at").defaultNow().notNull(), + status: text("status", { enum: ["pending", "approved", "rejected"] }) + .notNull() + .default("pending"), + isLead: boolean("is_lead").notNull().default(false), + track: text("track"), + }, + (table) => [ + index("assignment_judge_id_idx").on(table.judgeId), + index("assignment_hackathon_id_idx").on(table.hackathonId), + ], +); // Projects with table numbers for judging (extends hackathon projects concept) -export const judgingProjects = pgTable("judging_project", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - name: text("name").notNull(), - description: text("description"), - tableNumber: integer("table_number").notNull(), - zone: text("zone"), - category: text("category"), // e.g., "AI", "Web3", "Health", "Sustainability" - teamMembers: text("team_members"), // comma-separated or JSON string - projectUrl: text("project_url"), - repoUrl: text("repo_url"), - tracks: text("tracks").array(), // Enum: Sports, Entertainment, Finance, Healthcare, databricks, sphinx, growth factor, figma, actian, safety kit, GEN-AI, CYBER, NONE - challenges: text("challenges").array(), // Enum: AGG, ASSURANT, AWS, CAPONE, GROWTH, MLH_MONGODB, MLH_STREAMLIT, MLH_TECH, MLH_CLOUDFLARE, MLH_REACH_CAPITAL - isCreateX: boolean("is_create_x").default(false), - createdAt: timestamp("created_at").defaultNow().notNull(), -}, (table) => [ - index("judging_project_hackathon_id_idx").on(table.hackathonId), - index("judging_project_table_idx").on(table.tableNumber), -]); +export const judgingProjects = pgTable( + "judging_project", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + name: text("name").notNull(), + description: text("description"), + tableNumber: integer("table_number").notNull(), + zone: text("zone"), + category: text("category"), // e.g., "AI", "Web3", "Health", "Sustainability" + teamMembers: text("team_members"), // comma-separated or JSON string + projectUrl: text("project_url"), + repoUrl: text("repo_url"), + tracks: text("tracks").array(), // Enum: Sports, Entertainment, Finance, Healthcare, databricks, sphinx, growth factor, figma, actian, safety kit, GEN-AI, CYBER, NONE + challenges: text("challenges").array(), // Enum: AGG, ASSURANT, AWS, CAPONE, GROWTH, MLH_MONGODB, MLH_STREAMLIT, MLH_TECH, MLH_CLOUDFLARE, MLH_REACH_CAPITAL + isCreateX: boolean("is_create_x").default(false), + createdAt: timestamp("created_at").defaultNow().notNull(), + }, + (table) => [ + index("judging_project_hackathon_id_idx").on(table.hackathonId), + index("judging_project_table_idx").on(table.tableNumber), + ], +); // Judge votes/scores for projects -export const judgeVotes = pgTable("judge_vote", { - id: uuid("id").defaultRandom().primaryKey(), - judgeId: uuid("judge_id") - .notNull() - .references(() => judges.id, { onDelete: "cascade" }), - projectId: uuid("project_id") - .notNull() - .references(() => judgingProjects.id, { onDelete: "cascade" }), - score: integer("score").notNull(), // Total score (sum of all criteria, 5-50) - // Rubric scores (1-10 each) - scoreCreativity: integer("score_creativity"), // Creativity & Originality - scoreImpact: integer("score_impact"), // Impact & Relevance - scoreScope: integer("score_scope"), // Scope & Technical Depth - scoreClarity: integer("score_clarity"), // Clarity & Engagement - scoreSoundness: integer("score_soundness"), // Soundness & Accuracy - comment: text("comment"), - durationSeconds: integer("duration_seconds"), // how long the judge spent on this project - votedAt: timestamp("voted_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("vote_judge_id_idx").on(table.judgeId), - index("vote_project_id_idx").on(table.projectId), - // Unique constraint: one vote per judge per project (enforced at DB level) - uniqueIndex("vote_unique_idx").on(table.judgeId, table.projectId), -]); +export const judgeVotes = pgTable( + "judge_vote", + { + id: uuid("id").defaultRandom().primaryKey(), + judgeId: uuid("judge_id") + .notNull() + .references(() => judges.id, { onDelete: "cascade" }), + projectId: uuid("project_id") + .notNull() + .references(() => judgingProjects.id, { onDelete: "cascade" }), + score: integer("score").notNull(), // Total score (sum of all criteria, 5-50) + // Rubric scores (1-10 each) + scoreCreativity: integer("score_creativity"), // Creativity & Originality + scoreImpact: integer("score_impact"), // Impact & Relevance + scoreScope: integer("score_scope"), // Scope & Technical Depth + scoreClarity: integer("score_clarity"), // Clarity & Engagement + scoreSoundness: integer("score_soundness"), // Soundness & Accuracy + comment: text("comment"), + durationSeconds: integer("duration_seconds"), // how long the judge spent on this project + votedAt: timestamp("voted_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("vote_judge_id_idx").on(table.judgeId), + index("vote_project_id_idx").on(table.projectId), + // Unique constraint: one vote per judge per project (enforced at DB level) + uniqueIndex("vote_unique_idx").on(table.judgeId, table.projectId), + ], +); // Map images for hackathon venues -export const hackathonMaps = pgTable("hackathon_map", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - imageUrl: text("image_url").notNull(), - name: text("name"), - order: integer("order").notNull().default(0), - createdAt: timestamp("created_at").defaultNow().notNull(), -}, (table) => [ - index("map_hackathon_id_idx").on(table.hackathonId), -]); +export const hackathonMaps = pgTable( + "hackathon_map", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + imageUrl: text("image_url").notNull(), + name: text("name"), + order: integer("order").notNull().default(0), + createdAt: timestamp("created_at").defaultNow().notNull(), + }, + (table) => [index("map_hackathon_id_idx").on(table.hackathonId)], +); // Track which tables a judge still needs to visit -export const judgeQueue = pgTable("judge_queue", { - id: uuid("id").defaultRandom().primaryKey(), - judgeId: uuid("judge_id") - .notNull() - .references(() => judges.id, { onDelete: "cascade" }), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - projectId: uuid("project_id") - .notNull() - .references(() => judgingProjects.id, { onDelete: "cascade" }), - order: integer("order").notNull(), // order to visit - isCompleted: boolean("is_completed").notNull().default(false), - completedAt: timestamp("completed_at"), -}, (table) => [ - index("queue_judge_id_idx").on(table.judgeId), - index("queue_hackathon_id_idx").on(table.hackathonId), - // Critical for "next table" logic - index("queue_todo_idx").on(table.judgeId, table.hackathonId, table.isCompleted), -]); +export const judgeQueue = pgTable( + "judge_queue", + { + id: uuid("id").defaultRandom().primaryKey(), + judgeId: uuid("judge_id") + .notNull() + .references(() => judges.id, { onDelete: "cascade" }), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + projectId: uuid("project_id") + .notNull() + .references(() => judgingProjects.id, { onDelete: "cascade" }), + order: integer("order").notNull(), // order to visit + isCompleted: boolean("is_completed").notNull().default(false), + completedAt: timestamp("completed_at"), + }, + (table) => [ + index("queue_judge_id_idx").on(table.judgeId), + index("queue_hackathon_id_idx").on(table.hackathonId), + // Critical for "next table" logic + index("queue_todo_idx").on( + table.judgeId, + table.hackathonId, + table.isCompleted, + ), + ], +); // Relations export const judgesRelations = relations(judges, ({ one, many }) => ({ @@ -138,30 +179,40 @@ export const judgesRelations = relations(judges, ({ one, many }) => ({ fields: [judges.userId], references: [users.id], }), + hackathon: one(hackathons, { + fields: [judges.hackathonId], + references: [hackathons.id], + }), assignments: many(judgeAssignments), votes: many(judgeVotes), queue: many(judgeQueue), })); -export const judgeAssignmentsRelations = relations(judgeAssignments, ({ one }) => ({ - judge: one(judges, { - fields: [judgeAssignments.judgeId], - references: [judges.id], +export const judgeAssignmentsRelations = relations( + judgeAssignments, + ({ one }) => ({ + judge: one(judges, { + fields: [judgeAssignments.judgeId], + references: [judges.id], + }), + hackathon: one(hackathons, { + fields: [judgeAssignments.hackathonId], + references: [hackathons.id], + }), }), - hackathon: one(hackathons, { - fields: [judgeAssignments.hackathonId], - references: [hackathons.id], - }), -})); +); -export const judgingProjectsRelations = relations(judgingProjects, ({ one, many }) => ({ - hackathon: one(hackathons, { - fields: [judgingProjects.hackathonId], - references: [hackathons.id], +export const judgingProjectsRelations = relations( + judgingProjects, + ({ one, many }) => ({ + hackathon: one(hackathons, { + fields: [judgingProjects.hackathonId], + references: [hackathons.id], + }), + votes: many(judgeVotes), + queueEntries: many(judgeQueue), }), - votes: many(judgeVotes), - queueEntries: many(judgeQueue), -})); +); export const judgeVotesRelations = relations(judgeVotes, ({ one }) => ({ judge: one(judges, { @@ -181,7 +232,6 @@ export const hackathonMapsRelations = relations(hackathonMaps, ({ one }) => ({ }), })); - export const judgeQueueRelations = relations(judgeQueue, ({ one }) => ({ judge: one(judges, { fields: [judgeQueue.judgeId], diff --git a/packages/db/src/schemas/members.ts b/packages/db/src/schemas/members.ts index a0c61485..fbfa7ba1 100644 --- a/packages/db/src/schemas/members.ts +++ b/packages/db/src/schemas/members.ts @@ -1,68 +1,92 @@ -import { pgTable, text, timestamp, uuid, boolean, integer, index } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + boolean, + integer, + index, + unique, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; +import { hackathons } from "./hackathons"; -export const userProfiles = pgTable("user_profile", { - id: uuid("id").defaultRandom().primaryKey(), - userId: text("user_id") - .notNull() - .unique() - .references(() => users.id, { onDelete: "cascade" }), - bio: text("bio"), - website: text("website"), - location: text("location"), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("profile_user_id_idx").on(table.userId), -]); +export const userProfiles = pgTable( + "user_profile", + { + id: uuid("id").defaultRandom().primaryKey(), + userId: text("user_id") + .notNull() + .unique() + .references(() => users.id, { onDelete: "cascade" }), + bio: text("bio"), + website: text("website"), + location: text("location"), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [index("profile_user_id_idx").on(table.userId)], +); -export const members = pgTable("member", { - id: uuid("id").defaultRandom().primaryKey(), - userId: text("user_id") - .notNull() - .unique() - .references(() => users.id, { onDelete: "cascade" }), - memberType: text("member_type", { enum: ["new", "continuous"] }) - .notNull() - .default("new"), - firstName: text("first_name").notNull(), - lastName: text("last_name").notNull(), - phoneNumber: text("phone_number"), - school: text("school"), - major: text("major"), - graduationYear: integer("graduation_year"), - isActive: boolean("is_active").notNull().default(true), - joinedAt: timestamp("joined_at").defaultNow().notNull(), - membershipStartDate: timestamp("membership_start_date").notNull(), - membershipEndDate: timestamp("membership_end_date"), - renewalCount: integer("renewal_count").notNull().default(0), - skills: text("skills").array(), - interests: text("interests").array(), - linkedinUrl: text("linkedin_url"), - githubUrl: text("github_url"), - portfolioUrl: text("portfolio_url"), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("member_user_id_idx").on(table.userId), - // Optimized for "Active Members" directory listing - index("member_active_type_idx").on(table.isActive, table.memberType), -]); +export const members = pgTable( + "member", + { + id: uuid("id").defaultRandom().primaryKey(), + userId: text("user_id") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + memberType: text("member_type", { enum: ["new", "continuous"] }) + .notNull() + .default("new"), + firstName: text("first_name").notNull(), + lastName: text("last_name").notNull(), + phoneNumber: text("phone_number"), + school: text("school"), + major: text("major"), + graduationYear: integer("graduation_year"), + isActive: boolean("is_active").notNull().default(true), + joinedAt: timestamp("joined_at").defaultNow().notNull(), + membershipStartDate: timestamp("membership_start_date").notNull(), + membershipEndDate: timestamp("membership_end_date"), + renewalCount: integer("renewal_count").notNull().default(0), + skills: text("skills").array(), + interests: text("interests").array(), + linkedinUrl: text("linkedin_url"), + githubUrl: text("github_url"), + portfolioUrl: text("portfolio_url"), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("member_user_id_idx").on(table.userId), + index("member_hackathon_id_idx").on(table.hackathonId), + // Optimized for "Active Members" directory listing + index("member_active_type_idx").on(table.isActive, table.memberType), + unique("unique_member_per_hackathon").on(table.userId, table.hackathonId), + ], +); -export const membershipHistory = pgTable("membership_history", { - id: uuid("id").defaultRandom().primaryKey(), - memberId: uuid("member_id") - .notNull() - .references(() => members.id, { onDelete: "cascade" }), - action: text("action", { enum: ["joined", "renewed", "expired", "cancelled"] }).notNull(), - startDate: timestamp("start_date").notNull(), - endDate: timestamp("end_date"), - notes: text("notes"), - createdAt: timestamp("created_at").defaultNow().notNull(), -}, (table) => [ - index("history_member_id_idx").on(table.memberId), -]); +export const membershipHistory = pgTable( + "membership_history", + { + id: uuid("id").defaultRandom().primaryKey(), + memberId: uuid("member_id") + .notNull() + .references(() => members.id, { onDelete: "cascade" }), + action: text("action", { + enum: ["joined", "renewed", "expired", "cancelled"], + }).notNull(), + startDate: timestamp("start_date").notNull(), + endDate: timestamp("end_date"), + notes: text("notes"), + createdAt: timestamp("created_at").defaultNow().notNull(), + }, + (table) => [index("history_member_id_idx").on(table.memberId)], +); export const usersRelations = relations(users, ({ one }) => ({ profile: one(userProfiles, { @@ -87,12 +111,19 @@ export const membersRelations = relations(members, ({ one, many }) => ({ fields: [members.userId], references: [users.id], }), + hackathon: one(hackathons, { + fields: [members.hackathonId], + references: [hackathons.id], + }), membershipHistory: many(membershipHistory), })); -export const membershipHistoryRelations = relations(membershipHistory, ({ one }) => ({ - member: one(members, { - fields: [membershipHistory.memberId], - references: [members.id], +export const membershipHistoryRelations = relations( + membershipHistory, + ({ one }) => ({ + member: one(members, { + fields: [membershipHistory.memberId], + references: [members.id], + }), }), -})); \ No newline at end of file +); diff --git a/packages/db/src/schemas/security.ts b/packages/db/src/schemas/security.ts index 2992f51a..57c5a39c 100644 --- a/packages/db/src/schemas/security.ts +++ b/packages/db/src/schemas/security.ts @@ -1,8 +1,22 @@ -import { pgTable, text, timestamp, uuid, jsonb, pgEnum, index } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + jsonb, + pgEnum, + index, +} from "drizzle-orm/pg-core"; -export const securitySeverityEnum = pgEnum("security_severity", ["info", "warn", "critical"]); +export const securitySeverityEnum = pgEnum("security_severity", [ + "info", + "warn", + "critical", +]); -export const auditLogs = pgTable("audit_logs", { +export const auditLogs = pgTable( + "audit_logs", + { id: uuid("id").defaultRandom().primaryKey(), userId: text("user_id"), // Nullable, as text to match NextAuth ID or "system" action: text("action").notNull(), @@ -10,9 +24,11 @@ export const auditLogs = pgTable("audit_logs", { metadata: jsonb("metadata"), severity: securitySeverityEnum("severity").default("info").notNull(), createdAt: timestamp("created_at", { mode: "date" }).defaultNow().notNull(), -}, (table) => [ + }, + (table) => [ index("audit_user_id_idx").on(table.userId), index("audit_action_idx").on(table.action), index("audit_created_at_idx").on(table.createdAt), index("audit_severity_idx").on(table.severity), -]); + ], +); diff --git a/packages/db/src/schemas/settings.ts b/packages/db/src/schemas/settings.ts deleted file mode 100644 index 2b832a33..00000000 --- a/packages/db/src/schemas/settings.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { pgTable, text, boolean, integer, timestamp } from "drizzle-orm/pg-core"; - -export const systemSettings = pgTable("system_settings", { - id: text("id").primaryKey().default("default"), - systemName: text("system_name").notNull().default("DSGT Query Engine"), - maintenanceMode: boolean("maintenance_mode").notNull().default(false), - requireEmailVerification: boolean("require_email_verification").notNull().default(true), - maxEventCapacity: integer("max_event_capacity").notNull().default(500), - allowPublicRegistration: boolean("allow_public_registration").notNull().default(true), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}); diff --git a/packages/db/src/schemas/stripe.ts b/packages/db/src/schemas/stripe.ts index 97c70107..2ff2afef 100644 --- a/packages/db/src/schemas/stripe.ts +++ b/packages/db/src/schemas/stripe.ts @@ -1,4 +1,12 @@ -import { pgTable, text, timestamp, uuid, integer, boolean, index } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + integer, + boolean, + index, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; @@ -6,38 +14,42 @@ import { users } from "./auth"; * Stores Stripe checkout/payment info from webhooks. * Used to track payments before they're linked to a user account. */ -export const stripePayments = pgTable("stripe_payment", { - id: uuid("id").defaultRandom().primaryKey(), - - // Stripe identifiers - stripeSessionId: text("stripe_session_id").notNull().unique(), - stripeCustomerId: text("stripe_customer_id"), - stripePaymentIntentId: text("stripe_payment_intent_id"), - // Customer info from Stripe - customerEmail: text("customer_email").notNull(), - customerName: text("customer_name"), +export const stripePayments = pgTable( + "stripe_payment", + { + id: uuid("id").defaultRandom().primaryKey(), - // Payment details - amountTotal: integer("amount_total"), // in cents - currency: text("currency").default("usd"), - paymentStatus: text("payment_status", { - enum: ["paid", "unpaid", "no_payment_required"] - }).notNull(), + // Stripe identifiers + stripeSessionId: text("stripe_session_id").notNull().unique(), + stripeCustomerId: text("stripe_customer_id"), + stripePaymentIntentId: text("stripe_payment_intent_id"), + // Customer info from Stripe + customerEmail: text("customer_email").notNull(), + customerName: text("customer_name"), - // Linking status - linkedUserId: text("linked_user_id").references(() => users.id, { onDelete: "set null" }), - linkedAt: timestamp("linked_at"), - - // Metadata - metadata: text("metadata"), // JSON string for any extra Stripe metadata - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("stripe_payment_customer_email_idx").on(table.customerEmail), - index("stripe_payment_linked_user_id_idx").on(table.linkedUserId), -]); + // Payment details + amountTotal: integer("amount_total"), // in cents + currency: text("currency").default("usd"), + paymentStatus: text("payment_status", { + enum: ["paid", "unpaid", "no_payment_required"], + }).notNull(), + // Linking status + linkedUserId: text("linked_user_id").references(() => users.id, { + onDelete: "set null", + }), + linkedAt: timestamp("linked_at"), + // Metadata + metadata: text("metadata"), // JSON string for any extra Stripe metadata + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("stripe_payment_customer_email_idx").on(table.customerEmail), + index("stripe_payment_linked_user_id_idx").on(table.linkedUserId), + ], +); /** * Links users who signed in with a different email (e.g., Google) @@ -68,21 +80,27 @@ export const userAccountLinks = pgTable("user_account_link", { }); // Relations -export const stripePaymentsRelations = relations(stripePayments, ({ one, many }) => ({ - linkedUser: one(users, { - fields: [stripePayments.linkedUserId], - references: [users.id], +export const stripePaymentsRelations = relations( + stripePayments, + ({ one, many }) => ({ + linkedUser: one(users, { + fields: [stripePayments.linkedUserId], + references: [users.id], + }), + accountLinks: many(userAccountLinks), }), - accountLinks: many(userAccountLinks), -})); +); -export const userAccountLinksRelations = relations(userAccountLinks, ({ one }) => ({ - user: one(users, { - fields: [userAccountLinks.userId], - references: [users.id], - }), - stripePayment: one(stripePayments, { - fields: [userAccountLinks.stripePaymentId], - references: [stripePayments.id], +export const userAccountLinksRelations = relations( + userAccountLinks, + ({ one }) => ({ + user: one(users, { + fields: [userAccountLinks.userId], + references: [users.id], + }), + stripePayment: one(stripePayments, { + fields: [userAccountLinks.stripePaymentId], + references: [stripePayments.id], + }), }), -})); +); diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json index 0cf1899d..d9f3c223 100644 --- a/packages/db/tsconfig.json +++ b/packages/db/tsconfig.json @@ -1,30 +1,18 @@ { - "extends": "@query/tsconfig/base.json", + "extends": "../../tooling/typescript/base.json", "compilerOptions": { "target": "ES2022", "module": "ESNext", "moduleResolution": "bundler", - "lib": [ - "ES2022", - "DOM", - "DOM.Iterable" - ], + "lib": ["ES2022", "DOM", "DOM.Iterable"], "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, "paths": { - "@/*": [ - "./src/*" - ] + "@/*": ["./src/*"] }, "outDir": "dist" }, - "include": [ - "src/**/*.ts", - "src/**/*.tsx" - ], - "exclude": [ - "node_modules", - "dist" - ] -} \ No newline at end of file + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/ui/.cache/tsbuildinfo.json b/packages/ui/.cache/tsbuildinfo.json index a2da43e4..8dd3e977 100644 --- a/packages/ui/.cache/tsbuildinfo.json +++ b/packages/ui/.cache/tsbuildinfo.json @@ -1 +1 @@ -{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-runtime.d.ts","../src/card.tsx","../src/glass.tsx","../src/gradient.tsx","../src/index.ts","../src/turborepo-logo.tsx"],"fileIdsList":[[90,91],[92],[92,93],[93],[93,95]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"8a3fdc84d91c2c7321fd2f8dba2ea90249cfdc31427ac71b5735dd51bc25cf91","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f662721627980521bae012e401bf498c7326afb466f38c2a3ae6ffc3a0efe317","signature":"03251d3f53e666b07861891e786e310b9a272217048b18a41a5feb8124479b7f"},{"version":"f519757896137e68e4f1356efac3084a7b7eed59d03dabd30ae12670269e47ab","signature":"87f02f57c88476fe9b26dfd0d36c91a64fb12e5c9bff5d746158594099edf793"},{"version":"039f80bfa567ce77eb663f3e6236cd0c98bafeb6e4988692ffd25e7428950dcd","signature":"2594b16f1762db36deb0ff7b9b77c59ca357db71b90a0c15de5112cbcb80e969"},{"version":"9f1d75a65f97d2c564eebd9c0302239dc0ca989a04968c006b59acc72ad2e8eb","signature":"d70812ce274024e8e24cc52720db857438d4308dbb31cac9c472822359fa61c3"},{"version":"13850df5bd8c29527a90d780990d3ee41e75e06d36a21e75c429cd273239dc7e","signature":"2e0d4a0ee37b352168d07fab791d44df3a3e3b0c0ed769cbf41fd2573fa32074"}],"root":[[94,98]],"options":{"allowJs":true,"checkJs":false,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"jsx":4,"module":99,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[92,1],[93,2],[94,3],[95,3],[96,4],[97,5],[98,4]],"version":"6.0.2"} \ No newline at end of file +{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-runtime.d.ts","../src/card.tsx","../src/glass.tsx","../src/gradient.tsx","../src/index.ts","../src/turborepo-logo.tsx"],"fileIdsList":[[90,91],[92],[92,93],[93],[93,95]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"8a3fdc84d91c2c7321fd2f8dba2ea90249cfdc31427ac71b5735dd51bc25cf91","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"6a3cd4336a3c45827a792047ab6b6de8d75f086d51ecda70586afeec9baca34f","signature":"03251d3f53e666b07861891e786e310b9a272217048b18a41a5feb8124479b7f"},{"version":"78fa9fe96a6da818c304b9904a5f7a62fcd5048abcf2e197308182f2b5d85306","signature":"87f02f57c88476fe9b26dfd0d36c91a64fb12e5c9bff5d746158594099edf793"},{"version":"bb1eb0e32b8acd010fc604c3a071bd56163b6b2ce7c5c5c81beb34b828f18b72","signature":"2594b16f1762db36deb0ff7b9b77c59ca357db71b90a0c15de5112cbcb80e969"},{"version":"95910990081a5aa12fb510d4e0ce7c98b63f239acd040a03c980529ca11775b2","signature":"d70812ce274024e8e24cc52720db857438d4308dbb31cac9c472822359fa61c3"},{"version":"63fb4b7b85cd9fe658fdce4e3e7afeff1d8e13aaa9efb4e65f873981b264a857","signature":"2e0d4a0ee37b352168d07fab791d44df3a3e3b0c0ed769cbf41fd2573fa32074"}],"root":[[94,98]],"options":{"allowJs":true,"checkJs":false,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"jsx":4,"module":99,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[92,1],[93,2],[94,3],[95,3],[96,4],[97,5],[98,4]],"version":"6.0.2"} \ No newline at end of file diff --git a/packages/ui/package.json b/packages/ui/package.json index 5961aa51..f5ac6d22 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -39,8 +39,8 @@ "@query/tsconfig": "workspace:*", "@tailwindcss/cli": "4.3.0", "@types/minimatch": "^6.0.0", - "@types/react": "^19.1.3", - "eslint": "9.24.0", + "@types/react": "^19.2.17", + "eslint": "10.1.0", "tailwindcss": "4.3.0", "typescript": "6.0.2" }, @@ -48,4 +48,4 @@ "minimatch": "^10.2.3", "react-dom": "19.0.0" } -} \ No newline at end of file +} diff --git a/packages/ui/src/card.jsx b/packages/ui/src/card.jsx index 2390bccf..9f2e52fb 100644 --- a/packages/ui/src/card.jsx +++ b/packages/ui/src/card.jsx @@ -2,8 +2,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Card = Card; function Card(_a) { - var title = _a.title, children = _a.children, href = _a.href; - return ( + var title = _a.title, + children = _a.children, + href = _a.href; + return ( +

{title}{" "} @@ -13,5 +24,6 @@ function Card(_a) {

{children}

-
); + + ); } diff --git a/packages/ui/src/card.tsx b/packages/ui/src/card.tsx index 2b32bafc..7b2ed614 100644 --- a/packages/ui/src/card.tsx +++ b/packages/ui/src/card.tsx @@ -1,4 +1,4 @@ -import type {ReactNode} from "react"; +import type { ReactNode } from "react"; export function Card({ title, diff --git a/packages/ui/src/glass.tsx b/packages/ui/src/glass.tsx index efa9fc02..8c07a5f3 100644 --- a/packages/ui/src/glass.tsx +++ b/packages/ui/src/glass.tsx @@ -1,38 +1,39 @@ import React from "react"; interface GlassProps extends React.HTMLAttributes { - children: React.ReactNode; - className?: string; - intensity?: "low" | "medium" | "high"; + children: React.ReactNode; + className?: string; + intensity?: "low" | "medium" | "high"; } export function Glass({ - children, - className = "", - intensity = "medium", - ...props + children, + className = "", + intensity = "medium", + ...props }: GlassProps) { - const intensityStyles = { - low: "bg-black/40 backdrop-blur-md border-white/5", - medium: "bg-black/60 backdrop-blur-lg border-white/10", - high: "bg-black/80 backdrop-blur-xl border-white/20", - }; + const intensityStyles = { + low: "bg-black/40 backdrop-blur-md border-white/5", + medium: "bg-black/60 backdrop-blur-lg border-white/10", + high: "bg-black/80 backdrop-blur-xl border-white/20", + }; - return ( -
- {/* Glossy reflection effect */} -
- {/* Top highlight for glass edge */} -
+ return ( +
+ {/* Glossy reflection effect */} +
+ {/* Top highlight for glass edge */} +
- {children} -
- ); + {children} +
+ ); } diff --git a/packages/ui/src/gradient.jsx b/packages/ui/src/gradient.jsx index bff461a5..267cb5d9 100644 --- a/packages/ui/src/gradient.jsx +++ b/packages/ui/src/gradient.jsx @@ -2,8 +2,20 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Gradient = Gradient; function Gradient(_a) { - var conic = _a.conic, className = _a.className, small = _a.small; - return (); + : "", + " ", + ) + .concat(className !== null && className !== void 0 ? className : "")} + /> + ); } diff --git a/packages/ui/src/turborepo-logo.jsx b/packages/ui/src/turborepo-logo.jsx index a0d62776..e777ee40 100644 --- a/packages/ui/src/turborepo-logo.jsx +++ b/packages/ui/src/turborepo-logo.jsx @@ -2,15 +2,38 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.TurborepoLogo = void 0; var TurborepoLogo = function () { - return ( - - + return ( + + + - + - ); + + ); }; exports.TurborepoLogo = TurborepoLogo; diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index 5bca5161..7c85d860 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -1,25 +1,15 @@ { "extends": "@query/tsconfig/internal-package.json", "compilerOptions": { - "lib": [ - "ESNext", - "dom", - "dom.iterable" - ], + "lib": ["ESNext", "dom", "dom.iterable"], "jsx": "react-jsx", "rootDir": "src", - "types": [ - "react" - ], + "types": ["react"], "skipLibCheck": true, "emitDeclarationOnly": false, "module": "ESNext", "outDir": "dist" }, - "include": [ - "src" - ], - "exclude": [ - "node_modules" - ] -} \ No newline at end of file + "include": ["src"], + "exclude": ["node_modules"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f27ab92c..03ba01a6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,18 +5,27 @@ settings: excludeLinksFromLockfile: false overrides: - postcss: ^8.5.10 + postcss: ^8.5.18 esbuild: ^0.25.12 ws: ^8.20.1 '@eslint/plugin-kit': ^0.3.4 + '@auth/core': ^0.41.3 + '@grpc/grpc-js': ^1.14.4 + websocket-driver: ^0.7.5 + protobufjs: ^7.6.5 + js-yaml: ^4.3.0 + undici: ^6.27.0 + sharp: ^0.35.0 + vite: ^7.3.5 + brace-expansion: ^5.0.8 importers: .: dependencies: next: - specifier: 16.2.6 - version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 16.2.11 + version: 16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) typescript: specifier: ^6.0.2 version: 6.0.2 @@ -38,16 +47,16 @@ importers: version: link:../db '@tanstack/react-query': specifier: 5.90.12 - version: 5.90.12(react@19.0.0) + version: 5.90.12(react@19.2.7) '@trpc/client': specifier: ^11.17.0 version: 11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2) '@trpc/next': specifier: ^11.15.1 - version: 11.17.0(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@6.0.2) + version: 11.17.0(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react-dom@19.0.0(react@19.2.7))(react@19.2.7)(typescript@6.0.2) '@trpc/react-query': specifier: ^11.15.1 - version: 11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2) + version: 11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2) '@trpc/server': specifier: ^11.15.1 version: 11.15.1(typescript@6.0.2) @@ -57,9 +66,6 @@ importers: image-size: specifier: 2.0.2 version: 2.0.2 - minimatch: - specifier: 10.2.3 - version: 10.2.3 sanitize-html: specifier: 2.17.4 version: 2.17.4 @@ -90,22 +96,19 @@ importers: dependencies: '@auth/drizzle-adapter': specifier: 1.7.1 - version: 1.7.1(nodemailer@8.0.5) + version: 1.7.1(nodemailer@9.0.3) '@query/db': specifier: workspace:* version: link:../db drizzle-orm: specifier: 0.45.2 version: 0.45.2(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.3) - minimatch: - specifier: 10.2.3 - version: 10.2.3 next-auth: - specifier: 5.0.0-beta.30 - version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@8.0.5)(react@19.0.0) + specifier: 5.0.0-beta.32 + version: 5.0.0-beta.32(next@16.2.11(@playwright/test@1.60.0)(@types/node@20.19.40)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(nodemailer@9.0.3)(react@19.2.7) nodemailer: - specifier: 8.0.5 - version: 8.0.5 + specifier: ^9.0.1 + version: 9.0.3 devDependencies: '@query/tsconfig': specifier: workspace:* @@ -114,20 +117,20 @@ importers: specifier: ^20 version: 20.19.40 '@typescript-eslint/eslint-plugin': - specifier: ^8.24.1 - version: 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2) + specifier: ^8.59.2 + version: 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2))(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) '@typescript-eslint/parser': - specifier: ^8.24.1 - version: 8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2) + specifier: ^8.59.2 + version: 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) '@typescript-eslint/utils': - specifier: ^8.24.1 - version: 8.59.2(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2) + specifier: ^8.59.2 + version: 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) eslint: - specifier: ^9.30.1 - version: 9.39.4(jiti@2.7.0) + specifier: ^10.1.0 + version: 10.1.0(jiti@2.7.0) eslint-config-prettier: specifier: ^10.1.5 - version: 10.1.8(eslint@9.39.4(jiti@2.7.0)) + version: 10.1.8(eslint@10.1.0(jiti@2.7.0)) typescript: specifier: ^6.0.2 version: 6.0.2 @@ -142,12 +145,9 @@ importers: drizzle-orm: specifier: 0.45.2 version: 0.45.2(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.3) - minimatch: - specifier: 10.2.3 - version: 10.2.3 next-auth: - specifier: 5.0.0-beta.30 - version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@8.0.5)(react@19.0.0) + specifier: 5.0.0-beta.32 + version: 5.0.0-beta.32(next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react@19.2.7) pg: specifier: 8.21.0 version: 8.21.0 @@ -184,7 +184,7 @@ importers: version: 10.2.3 react-dom: specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + version: 19.0.0(react@19.2.7) devDependencies: '@next/eslint-plugin-next': specifier: 16.2.6 @@ -205,11 +205,11 @@ importers: specifier: ^6.0.0 version: 6.0.0 '@types/react': - specifier: ^19.1.3 - version: 19.1.3 + specifier: ^19.2.17 + version: 19.2.17 eslint: - specifier: 9.24.0 - version: 9.24.0(jiti@2.7.0) + specifier: 10.1.0 + version: 10.1.0(jiti@2.7.0) tailwindcss: specifier: 4.3.0 version: 4.3.0 @@ -246,10 +246,10 @@ importers: dependencies: '@radix-ui/react-slot': specifier: 1.2.4 - version: 1.2.4(@types/react@19.1.3)(react@19.0.0) + version: 1.2.4(@types/react@19.2.17)(react@19.2.7) '@yudiel/react-qr-scanner': specifier: 2.3.1 - version: 2.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 2.3.1(react-dom@19.0.0(react@19.2.7))(react@19.2.7) babel-plugin-react-compiler: specifier: 1.0.0 version: 1.0.0 @@ -263,17 +263,17 @@ importers: specifier: ^12.14.0 version: 12.14.0 next: - specifier: 16.2.6 - version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 16.2.11 + version: 16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) react: - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.2.7 + version: 19.2.7 react-dom: specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + version: 19.0.0(react@19.2.7) react-icons: specifier: 5.6.0 - version: 5.6.0(react@19.0.0) + version: 5.6.0(react@19.2.7) tailwind-merge: specifier: 3.6.0 version: 3.6.0 @@ -291,23 +291,23 @@ importers: specifier: 22.15.32 version: 22.15.32 '@types/react': - specifier: ^19.1.3 - version: 19.1.3 + specifier: ^19.2.17 + version: 19.2.17 '@types/react-dom': specifier: ^19.0.3 - version: 19.0.3(@types/react@19.1.3) + version: 19.0.3(@types/react@19.2.17) autoprefixer: specifier: 10.4.22 - version: 10.4.22(postcss@8.5.14) + version: 10.4.22(postcss@8.5.23) baseline-browser-mapping: specifier: 2.9.19 version: 2.9.19 eslint: - specifier: 9.24.0 - version: 9.24.0(jiti@2.7.0) + specifier: 10.1.0 + version: 10.1.0(jiti@2.7.0) postcss: - specifier: ^8.5.10 - version: 8.5.14 + specifier: ^8.5.18 + version: 8.5.23 tailwindcss: specifier: 4.3.0 version: 4.3.0 @@ -315,14 +315,14 @@ importers: specifier: 5.8.3 version: 5.8.3 typescript-eslint: - specifier: ^8.28.0 - version: 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3) + specifier: ^8.59.2 + version: 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3) sites/mainweb: dependencies: '@mawtech/glass-ui': specifier: ^0.2.1 - version: 0.2.1(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 0.2.1(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) '@query/api': specifier: workspace:* version: link:../../packages/api @@ -335,24 +335,30 @@ importers: '@query/ui': specifier: workspace:* version: link:../../packages/ui + '@stripe/react-stripe-js': + specifier: ^3.7.0 + version: 3.10.0(@stripe/stripe-js@5.10.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@stripe/stripe-js': + specifier: ^5.8.0 + version: 5.10.0 '@tanstack/react-query': specifier: ^5.90.12 - version: 5.90.12(react@19.0.0) + version: 5.90.12(react@19.2.7) '@trpc/client': specifier: ^11.17.0 version: 11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2) '@trpc/next': specifier: ^11.15.1 - version: 11.17.0(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@6.0.2) + version: 11.17.0(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react-dom@19.0.0(react@19.2.7))(react@19.2.7)(typescript@6.0.2) '@trpc/react-query': specifier: ^11.15.1 - version: 11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2) + version: 11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2) '@trpc/server': specifier: ^11.15.1 version: 11.15.1(typescript@6.0.2) '@yudiel/react-qr-scanner': specifier: ^2.5.0 - version: 2.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 2.5.1(react-dom@19.0.0(react@19.2.7))(react@19.2.7) chart.js: specifier: ^4.5.1 version: 4.5.1 @@ -361,40 +367,40 @@ importers: version: 0.45.2(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.3) geist: specifier: ^1.5.1 - version: 1.7.0(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) + version: 1.7.0(next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)) lucide-react: specifier: ^1.14.0 - version: 1.14.0(react@19.0.0) + version: 1.14.0(react@19.2.7) minimatch: specifier: 10.2.3 version: 10.2.3 next: - specifier: 16.2.6 - version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 16.2.11 + version: 16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) next-auth: - specifier: 5.0.0-beta.30 - version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@8.0.5)(react@19.0.0) + specifier: 5.0.0-beta.32 + version: 5.0.0-beta.32(next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react@19.2.7) next-themes: specifier: ^0.4.6 - version: 0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 0.4.6(react-dom@19.0.0(react@19.2.7))(react@19.2.7) qrcode: specifier: 1.5.4 version: 1.5.4 qrcode.react: specifier: ^3.2.0 - version: 3.2.0(react@19.0.0) + version: 3.2.0(react@19.2.7) react: - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.2.7 + version: 19.2.7 react-chartjs-2: specifier: 5.3.1 - version: 5.3.1(chart.js@4.5.1)(react@19.0.0) + version: 5.3.1(chart.js@4.5.1)(react@19.2.7) react-dom: specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + version: 19.0.0(react@19.2.7) react-scroll: specifier: 1.9.3 - version: 1.9.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.9.3(react-dom@19.0.0(react@19.2.7))(react@19.2.7) sanitize-html: specifier: ^2.17.4 version: 2.17.4 @@ -434,13 +440,13 @@ importers: version: 1.5.6 '@types/qrcode.react': specifier: ^3.0.0 - version: 3.0.0(react@19.0.0) + version: 3.0.0(react@19.2.7) '@types/react': - specifier: ^19.1.3 - version: 19.1.3 + specifier: ^19.2.17 + version: 19.2.17 '@types/react-dom': specifier: ^19.0.3 - version: 19.0.3(@types/react@19.1.3) + version: 19.0.3(@types/react@19.2.17) '@types/react-scroll': specifier: ^1.8.10 version: 1.8.10 @@ -449,16 +455,16 @@ importers: version: 0.184.1 autoprefixer: specifier: ^10.4.22 - version: 10.4.22(postcss@8.5.14) + version: 10.4.22(postcss@8.5.23) cross-env: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: 9.24.0 - version: 9.24.0(jiti@2.7.0) + specifier: 10.1.0 + version: 10.1.0(jiti@2.7.0) postcss: - specifier: ^8.5.10 - version: 8.5.14 + specifier: ^8.5.18 + version: 8.5.23 tailwindcss: specifier: 4.3.0 version: 4.3.0 @@ -469,14 +475,14 @@ importers: specifier: ^6.0.2 version: 6.0.2 typescript-eslint: - specifier: ^8.28.0 - version: 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2) + specifier: ^8.59.2 + version: 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) tooling/eslint: dependencies: '@eslint/compat': specifier: 1.2.0 - version: 1.2.0(eslint@9.17.0(jiti@2.7.0)) + version: 1.2.0(eslint@10.1.0(jiti@2.7.0)) '@eslint/js': specifier: 9.17.0 version: 9.17.0 @@ -484,29 +490,29 @@ importers: specifier: 16.2.6 version: 16.2.6 '@typescript-eslint/eslint-plugin': - specifier: 8.26.1 - version: 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2))(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) + specifier: 8.59.2 + version: 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2))(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) '@typescript-eslint/parser': - specifier: 8.26.1 - version: 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) + specifier: 8.59.2 + version: 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) eslint-config-prettier: specifier: 9.1.0 - version: 9.1.0(eslint@9.17.0(jiti@2.7.0)) + version: 9.1.0(eslint@10.1.0(jiti@2.7.0)) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2))(eslint@9.17.0(jiti@2.7.0)) + version: 2.31.0(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2))(eslint@10.1.0(jiti@2.7.0)) eslint-plugin-jsx-a11y: specifier: 6.10.2 - version: 6.10.2(eslint@9.17.0(jiti@2.7.0)) + version: 6.10.2(eslint@10.1.0(jiti@2.7.0)) eslint-plugin-react: specifier: 7.37.1 - version: 7.37.1(eslint@9.17.0(jiti@2.7.0)) + version: 7.37.1(eslint@10.1.0(jiti@2.7.0)) eslint-plugin-react-hooks: specifier: 5.2.0 - version: 5.2.0(eslint@9.17.0(jiti@2.7.0)) + version: 5.2.0(eslint@10.1.0(jiti@2.7.0)) eslint-plugin-turbo: - specifier: 2.1.3 - version: 2.1.3(eslint@9.17.0(jiti@2.7.0)) + specifier: ^2.10.7 + version: 2.10.7(eslint@10.1.0(jiti@2.7.0))(turbo@2.9.14) globals: specifier: 15.14.0 version: 15.14.0 @@ -514,8 +520,8 @@ importers: specifier: 10.2.3 version: 10.2.3 typescript-eslint: - specifier: 8.26.1 - version: 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) + specifier: 8.59.2 + version: 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) devDependencies: '@query/prettier-config': specifier: workspace:* @@ -527,8 +533,8 @@ importers: specifier: 8.42.3 version: 8.42.3 eslint: - specifier: 9.17.0 - version: 9.17.0(jiti@2.7.0) + specifier: 10.1.0 + version: 10.1.0(jiti@2.7.0) prettier: specifier: 3.3.3 version: 3.3.3 @@ -563,21 +569,18 @@ importers: '@tailwindcss/postcss': specifier: 4.0.0 version: 4.0.0 - minimatch: - specifier: 10.2.3 - version: 10.2.3 next: - specifier: 16.2.6 - version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 16.2.11 + version: 16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) postcss: - specifier: ^8.5.10 - version: 8.5.14 + specifier: ^8.5.18 + version: 8.5.23 react: - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.2.7 + version: 19.2.7 react-dom: specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + version: 19.0.0(react@19.2.7) tailwindcss: specifier: 4.0.0 version: 4.0.0 @@ -601,26 +604,12 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@auth/core@0.37.1': - resolution: {integrity: sha512-85PosPEZXHKZhEaAH5DVCig2N1Cu5PC8CbWX03Dw9g1JISLHyrRT0RZRcaWlgmz+0Ua4N52sFRX+g9WARQaUlA==} - peerDependencies: - '@simplewebauthn/browser': ^9.0.1 - '@simplewebauthn/server': ^9.0.2 - nodemailer: ^6.8.0 - peerDependenciesMeta: - '@simplewebauthn/browser': - optional: true - '@simplewebauthn/server': - optional: true - nodemailer: - optional: true - - '@auth/core@0.41.0': - resolution: {integrity: sha512-Wd7mHPQ/8zy6Qj7f4T46vg3aoor8fskJm6g2Zyj064oQ3+p0xNZXAV60ww0hY+MbTesfu29kK14Zk5d5JTazXQ==} + '@auth/core@0.41.3': + resolution: {integrity: sha512-sJ3JMHHkXMD3aOjopv7mOBTO1Ocw4b0fAEXJBz6k7YHLpYQI6C40jCUPc5fNvUKxXRXNE1/sRISA15UrwWJBTw==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/server': ^9.0.2 - nodemailer: ^6.8.0 + nodemailer: ^7.0.7 || ^8.0.5 peerDependenciesMeta: '@simplewebauthn/browser': optional: true @@ -707,8 +696,8 @@ packages: '@drizzle-team/brocli@0.10.2': resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} '@esbuild-kit/core-utils@3.3.2': resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} @@ -893,61 +882,29 @@ packages: eslint: optional: true - '@eslint/config-array@0.19.2': - resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-array@0.20.1': - resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-array@0.21.2': - resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-helpers@0.2.3': - resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-helpers@0.4.2': - resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-array@0.23.3': + resolution: {integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/core@0.12.0': - resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.5.3': + resolution: {integrity: sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/core@0.15.2': resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.17.0': - resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.9.1': - resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/eslintrc@3.3.5': - resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@1.1.1': + resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/js@9.17.0': resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.24.0': - resolution: {integrity: sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.39.4': - resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.7': - resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@3.0.3': + resolution: {integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/plugin-kit@0.3.5': resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} @@ -1178,27 +1135,24 @@ packages: '@floating-ui/utils@0.2.11': resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} - '@grpc/grpc-js@1.9.15': - resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==} - engines: {node: ^8.13.0 || >=10.10.0} + '@grpc/grpc-js@1.14.4': + resolution: {integrity: sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==} + engines: {node: '>=12.10.0'} '@grpc/proto-loader@0.7.15': resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==} engines: {node: '>=6'} hasBin: true - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} + '@grpc/proto-loader@0.8.1': + resolution: {integrity: sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg==} + engines: {node: '>=6'} + hasBin: true '@humanfs/core@0.19.2': resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.7': - resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} - engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.8': resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} engines: {node: '>=18.18.0'} @@ -1237,152 +1191,161 @@ packages: resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} - '@img/sharp-darwin-arm64@0.34.5': - resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-darwin-arm64@0.35.3': + resolution: {integrity: sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==} + engines: {node: '>=20.9.0'} cpu: [arm64] os: [darwin] - '@img/sharp-darwin-x64@0.34.5': - resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-darwin-x64@0.35.3': + resolution: {integrity: sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==} + engines: {node: '>=20.9.0'} cpu: [x64] os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.2.4': - resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} + '@img/sharp-freebsd-wasm32@0.35.3': + resolution: {integrity: sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==} + engines: {node: '>=20.9.0'} + os: [freebsd] + + '@img/sharp-libvips-darwin-arm64@1.3.2': + resolution: {integrity: sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.2.4': - resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} + '@img/sharp-libvips-darwin-x64@1.3.2': + resolution: {integrity: sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.2.4': - resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} + '@img/sharp-libvips-linux-arm64@1.3.2': + resolution: {integrity: sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-arm@1.2.4': - resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} + '@img/sharp-libvips-linux-arm@1.3.2': + resolution: {integrity: sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-ppc64@1.2.4': - resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} + '@img/sharp-libvips-linux-ppc64@1.3.2': + resolution: {integrity: sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-riscv64@1.2.4': - resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + '@img/sharp-libvips-linux-riscv64@1.3.2': + resolution: {integrity: sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==} cpu: [riscv64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-s390x@1.2.4': - resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} + '@img/sharp-libvips-linux-s390x@1.3.2': + resolution: {integrity: sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-x64@1.2.4': - resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} + '@img/sharp-libvips-linux-x64@1.3.2': + resolution: {integrity: sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linuxmusl-arm64@1.2.4': - resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': + resolution: {integrity: sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-libvips-linuxmusl-x64@1.2.4': - resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} + '@img/sharp-libvips-linuxmusl-x64@1.3.2': + resolution: {integrity: sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-linux-arm64@0.34.5': - resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-arm64@0.35.3': + resolution: {integrity: sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==} + engines: {node: '>=20.9.0'} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-linux-arm@0.34.5': - resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-arm@0.35.3': + resolution: {integrity: sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==} + engines: {node: '>=20.9.0'} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-linux-ppc64@0.34.5': - resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-ppc64@0.35.3': + resolution: {integrity: sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==} + engines: {node: '>=20.9.0'} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-linux-riscv64@0.34.5': - resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-riscv64@0.35.3': + resolution: {integrity: sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==} + engines: {node: '>=20.9.0'} cpu: [riscv64] os: [linux] libc: [glibc] - '@img/sharp-linux-s390x@0.34.5': - resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-s390x@0.35.3': + resolution: {integrity: sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==} + engines: {node: '>=20.9.0'} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-linux-x64@0.34.5': - resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-x64@0.35.3': + resolution: {integrity: sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==} + engines: {node: '>=20.9.0'} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-linuxmusl-arm64@0.34.5': - resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linuxmusl-arm64@0.35.3': + resolution: {integrity: sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==} + engines: {node: '>=20.9.0'} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-linuxmusl-x64@0.34.5': - resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linuxmusl-x64@0.35.3': + resolution: {integrity: sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==} + engines: {node: '>=20.9.0'} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-wasm32@0.34.5': - resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-wasm32@0.35.3': + resolution: {integrity: sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==} + engines: {node: '>=20.9.0'} + + '@img/sharp-webcontainers-wasm32@0.35.3': + resolution: {integrity: sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==} + engines: {node: '>=20.9.0'} cpu: [wasm32] - '@img/sharp-win32-arm64@0.34.5': - resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-win32-arm64@0.35.3': + resolution: {integrity: sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==} + engines: {node: '>=20.9.0'} cpu: [arm64] os: [win32] - '@img/sharp-win32-ia32@0.34.5': - resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-win32-ia32@0.35.3': + resolution: {integrity: sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==} + engines: {node: ^20.9.0} cpu: [ia32] os: [win32] - '@img/sharp-win32-x64@0.34.5': - resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-win32-x64@0.35.3': + resolution: {integrity: sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==} + engines: {node: '>=20.9.0'} cpu: [x64] os: [win32] @@ -1402,6 +1365,9 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@js-sdsl/ordered-map@4.4.2': + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + '@kurkle/color@0.3.4': resolution: {integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==} @@ -1414,60 +1380,60 @@ packages: '@next/bundle-analyzer@16.2.6': resolution: {integrity: sha512-amPkVtHCTJAdBwyhhl5+qztHk24O4JlASgrWqh15AmnYi74apfZR46NGC0u4pM6BMAU1mYld4WdzD3cRBP3dOA==} - '@next/env@16.2.6': - resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==} + '@next/env@16.2.11': + resolution: {integrity: sha512-0do5A3BJ2gxWr0ZCMcD6BhW+e595jyxdTl3rXTS6lOtD8ektMiW6CO+EPwt1Eca1DBnm90r/7GdiKWBKxH++DA==} '@next/eslint-plugin-next@16.2.6': resolution: {integrity: sha512-Z8l6o4JWKUl755x4R+wogD86KPeU+Ckw4K+SYG4kHeOJtRenDeK+OSbGcqZpDtbwn9DsJVdir2UxmwXuinUbUw==} - '@next/swc-darwin-arm64@16.2.6': - resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==} + '@next/swc-darwin-arm64@16.2.11': + resolution: {integrity: sha512-wryL4pjKmDwGv2ox6+GZDFxvmtSRLqApBR8kL1j4+vhB7Z5vJC/zAnXpiR9Xkfzl0AS8WLMnsuGV/UKI67/rrw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.2.6': - resolution: {integrity: sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==} + '@next/swc-darwin-x64@16.2.11': + resolution: {integrity: sha512-aZl2j4f/fLyjQvOhv0Oe9UaMAQHolYpKhctsoYzplSumKJKPUmgjcf6545aBtysLTcu994TREd0+pSgNE4ohmg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.2.6': - resolution: {integrity: sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==} + '@next/swc-linux-arm64-gnu@16.2.11': + resolution: {integrity: sha512-5jEriyEnH/LWFy27L2ZG0XaLlyEJIjhsImEsiS9P563PKEVp2BVups/xfOucIrsvVntp11oNcZwjHvaDPYVB5g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.2.6': - resolution: {integrity: sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==} + '@next/swc-linux-arm64-musl@16.2.11': + resolution: {integrity: sha512-eIjcpx2fnnFSSkZDbTxy74KnokUXDjfoLClpWelfgHLf621aTqswhwXQ7GkD5K5rplrS6LZ/Bj+mVuvzluBOEg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.2.6': - resolution: {integrity: sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==} + '@next/swc-linux-x64-gnu@16.2.11': + resolution: {integrity: sha512-8WgzpaWMs46qJT9kiV47cje86L0x/Mu9t8/Gwj+pnbgW3rETVfCnaScPjlYUwNScpOozdcIMHWmAvuZJUonR2w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.2.6': - resolution: {integrity: sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==} + '@next/swc-linux-x64-musl@16.2.11': + resolution: {integrity: sha512-I3UgPds7G4ZYnTb/H+5GBGuUT2DhAk6j0mL6A4s63RjFs74wB2hOWP0vaxsK+3NJraExt3eYEPQ/UtT0x/64Nw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.2.6': - resolution: {integrity: sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==} + '@next/swc-win32-arm64-msvc@16.2.11': + resolution: {integrity: sha512-n89CjtcThnjrwgJMAiI5xbqwLY51zvwC9tSlArmVndAJLYVl9T9UAdlkXTmZvE++idoXe8KdglQlhNRdUp1c6g==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.2.6': - resolution: {integrity: sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==} + '@next/swc-win32-x64-msvc@16.2.11': + resolution: {integrity: sha512-md8CLNggS1Dx9pUgApzps5uAf+N8GN9xywzmNx9vHAWo94HtBwCCqkSnhIrdfQe83Dhz8Lfo/20Nb1Zxal092w==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1592,18 +1558,15 @@ packages: '@protobufjs/codegen@2.0.5': resolution: {integrity: sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==} - '@protobufjs/eventemitter@1.1.0': - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + '@protobufjs/eventemitter@1.1.1': + resolution: {integrity: sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==} - '@protobufjs/fetch@1.1.0': - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + '@protobufjs/fetch@1.1.1': + resolution: {integrity: sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==} '@protobufjs/float@1.0.2': resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - '@protobufjs/inquire@1.1.1': - resolution: {integrity: sha512-mnzgDV26ueAvk7rsbt9L7bE0SuAoqyuys/sMMrmVcN5x9VsxpcG3rqAUSgDyLp0UZlmNfIbQ4fHfCtreVBk8Ew==} - '@protobufjs/path@1.1.2': resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} @@ -2164,6 +2127,17 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@stripe/react-stripe-js@3.10.0': + resolution: {integrity: sha512-UPqHZwMwDzGSax0ZI7XlxR3tZSpgIiZdk3CiwjbTK978phwR/fFXeAXQcN/h8wTAjR4ZIAzdlI9DbOqJhuJdeg==} + peerDependencies: + '@stripe/stripe-js': '>=1.44.1 <8.0.0' + react: '>=16.8.0 <20.0.0' + react-dom: '>=16.8.0 <20.0.0' + + '@stripe/stripe-js@5.10.0': + resolution: {integrity: sha512-PTigkxMdMUP6B5ISS7jMqJAKhgrhZwjprDqR1eATtFfh0OpKVNp110xiH+goeVdrJ29/4LeZJR4FaHHWstsu0A==} + engines: {node: '>=12.16'} + '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -2384,9 +2358,6 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - '@types/cookie@0.6.0': - resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} - '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -2399,6 +2370,9 @@ packages: '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -2439,8 +2413,8 @@ packages: '@types/react-scroll@1.8.10': resolution: {integrity: sha512-RD4Z7grbdNGOKwKnUBKar6zNxqaW3n8m9QSrfvljW+gmkj1GArb8AFBomVr6xMOgHPD3v1uV3BrIf01py57daQ==} - '@types/react@19.1.3': - resolution: {integrity: sha512-dLWQ+Z0CkIvK1J8+wrDPwGxEYFA4RAyHoZPxHVGspYmFVnwGSNT24cGIhFJrtfRnWVuW8X7NO52gCXmhkVUWGQ==} + '@types/react@19.2.17': + resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} '@types/sanitize-html@2.16.1': resolution: {integrity: sha512-n9wjs8bCOTyN/ynwD8s/nTcTreIHB1vf31vhLMGqUPNHaweKC4/fAl4Dj+hUlCTKYgm4P3k83fmiFfzkZ6sgMA==} @@ -2457,14 +2431,6 @@ packages: '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@typescript-eslint/eslint-plugin@8.26.1': - resolution: {integrity: sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/eslint-plugin@8.59.2': resolution: {integrity: sha512-j/bwmkBvHUtPNxzuWe5z6BEk3q54YRyGlBXkSsmfoih7zNrBvl5A9A98anlp/7JbyZcWIJ8KXo/3Tq/DjFLtuQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2473,13 +2439,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.26.1': - resolution: {integrity: sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.59.2': resolution: {integrity: sha512-plR3pp6D+SSUn1HM7xvSkx12/DhoHInI2YF35KAcVFNZvlC0gtrWqx7Qq1oH2Ssgi0vlFRCTbP+DZc7B9+TtsQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2493,10 +2452,6 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.26.1': - resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.59.2': resolution: {integrity: sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2507,13 +2462,6 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.26.1': - resolution: {integrity: sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@8.59.2': resolution: {integrity: sha512-nhqaj1nmTdVVl/BP5omXNRGO38jn5iosis2vbdmupF2txCf8ylWT8lx+JlvMYYVqzGVKtjojUFoQ3JRWK+mfzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2521,33 +2469,16 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.26.1': - resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.59.2': resolution: {integrity: sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.26.1': - resolution: {integrity: sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.59.2': resolution: {integrity: sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.26.1': - resolution: {integrity: sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.59.2': resolution: {integrity: sha512-Juw3EinkXqjaffxz6roowvV7GZT/kET5vSKKZT6upl5TXdWkLkYmNPXwDDL2Vkt2DPn0nODIS4egC/0AGxKo/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2555,10 +2486,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.26.1': - resolution: {integrity: sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.59.2': resolution: {integrity: sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2570,7 +2497,7 @@ packages: resolution: {integrity: sha512-LEiN/xe4OSIbKe9HQIp5OC24agGD9J5CnmMgsLohVVoOPWL9a2sBoR6VBx43jQZb7Kr1l4RCuyCJzcAa0+dojw==} peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vite: ^7.3.5 peerDependenciesMeta: msw: optional: true @@ -2622,9 +2549,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - ajv@6.14.0: - resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} - ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} @@ -2636,9 +2560,6 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-hidden@1.2.6: resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} engines: {node: '>=10'} @@ -2695,7 +2616,7 @@ packages: engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: - postcss: ^8.5.10 + postcss: ^8.5.18 available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} @@ -2712,9 +2633,6 @@ packages: babel-plugin-react-compiler@1.0.0: resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} @@ -2734,15 +2652,9 @@ packages: resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} hasBin: true - brace-expansion@1.1.14: - resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==} - - brace-expansion@2.1.0: - resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} - - brace-expansion@5.0.6: - resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} - engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.8: + resolution: {integrity: sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==} + engines: {node: 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -2768,10 +2680,6 @@ packages: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -2783,10 +2691,6 @@ packages: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - chart.js@4.5.1: resolution: {integrity: sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==} engines: {pnpm: '>=8'} @@ -2819,16 +2723,9 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie@0.7.1: - resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} - engines: {node: '>= 0.6'} - copy-anything@4.0.5: resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} engines: {node: '>=18'} @@ -3180,50 +3077,27 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-turbo@2.1.3: - resolution: {integrity: sha512-I9vPArzyOSYa6bm0iMCgD07MgdExc1VK2wGuVz21g4BUdj83w7mDKyCXR2rwOtCEW+wemFwgxanJ81imQZijNg==} + eslint-plugin-turbo@2.10.7: + resolution: {integrity: sha512-c+ayTSJuyWAdQiiAGDAqAMsX1p1TiGPVSPdkZSVh9UZJHYNww6Fdb5e4EEPVyFaMXqWRXh4suzmxAKMa9nnKIQ==} peerDependencies: eslint: '>6.6.0' + turbo: '>2.0.0' - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@5.0.1: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@9.17.0: - resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - eslint@9.24.0: - resolution: {integrity: sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - eslint@9.39.4: - resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@10.1.0: + resolution: {integrity: sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: jiti: '*' @@ -3231,9 +3105,9 @@ packages: jiti: optional: true - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} esquery@1.7.0: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} @@ -3265,10 +3139,6 @@ packages: resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -3405,10 +3275,6 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - globals@15.14.0: resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} engines: {node: '>=18'} @@ -3424,9 +3290,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - gzip-size@6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} @@ -3435,10 +3298,6 @@ packages: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -3483,10 +3342,6 @@ packages: engines: {node: '>=16.x'} hasBin: true - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -3621,19 +3476,12 @@ packages: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true - jose@5.10.0: - resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} - jose@6.2.3: resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} - hasBin: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -3758,9 +3606,6 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} @@ -3807,13 +3652,13 @@ packages: resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==} engines: {node: 18 || 20 || >=22} + minimatch@10.2.4: + resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + engines: {node: 18 || 20 || >=22} + minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@9.0.9: - resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} - engines: {node: '>=16 || 14 >=14.17'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -3834,21 +3679,21 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + nanoid@3.3.16: + resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - next-auth@5.0.0-beta.30: - resolution: {integrity: sha512-+c51gquM3F6nMVmoAusRJ7RIoY0K4Ts9HCCwyy/BRoe4mp3msZpOzYMyb5LAYc1wSo74PMQkGDcaghIO7W6Xjg==} + next-auth@5.0.0-beta.32: + resolution: {integrity: sha512-CGlChIEWZ6LltNVxrE5yiySMID+Idpmry47JYA5lLwgD8Sx02a8M65VL0TWVz9nbnOioS/tCW/rP/0+mE7Qp4Q==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/server': ^9.0.2 next: ^14.0.0-0 || ^15.0.0 || ^16.0.0 - nodemailer: ^7.0.7 + nodemailer: ^7.0.7 || ^8.0.5 react: ^18.2.0 || ^19.0.0 peerDependenciesMeta: '@simplewebauthn/browser': @@ -3864,8 +3709,8 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@16.2.6: - resolution: {integrity: sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==} + next@16.2.11: + resolution: {integrity: sha512-B339zaqbyK8cmxhoAvLrcwoabwCP1wz21zSzfqxqXAemTu2BXnH7tQnfcglKv1vnMUIDBc+Hth7XODQriTZiRQ==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -3895,8 +3740,8 @@ packages: node-releases@2.0.38: resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} - nodemailer@8.0.5: - resolution: {integrity: sha512-0PF8Yb1yZuQfQbq+5/pZJrtF6WQcjTd5/S4JOHs9PGFxuTqoB/icwuB44pOdURHJbRKX1PPoJZtY7R4VUoCC8w==} + nodemailer@9.0.3: + resolution: {integrity: sha512-n+YP+NKwR5zRWa60k3GiQ6Q3B4KXCoAw40dAKeCtYn020iNN74aWK2liXIC3ZEATeGql7we3tE3t8QwhY0eskw==} engines: {node: '>=6.0.0'} normalize-range@0.1.2: @@ -3973,10 +3818,6 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - parse-srcset@1.0.2: resolution: {integrity: sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==} @@ -4063,8 +3904,8 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} + postcss@8.5.23: + resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -4087,19 +3928,11 @@ packages: resolution: {integrity: sha512-iHJn4+M9vbTdHSdDzNkC0crHq+1CUdFhx+YqCE+SqWxPjm+Zu63jq7yZborOBF64c8pc58O5uMudyL1FQcHacA==} engines: {node: '>=12'} - preact-render-to-string@5.2.3: - resolution: {integrity: sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==} - peerDependencies: - preact: '>=10' - preact-render-to-string@6.5.11: resolution: {integrity: sha512-ubnauqoGczeGISiOh6RjX0/cdaF8v/oDXIjO85XALCQjwQP+SB4RDXXtvZ6yTYSjG+PC1QRP2AhPgCEsM2EvUw==} peerDependencies: preact: '>=10' - preact@10.11.3: - resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} - preact@10.24.3: resolution: {integrity: sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==} @@ -4178,14 +4011,11 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-format@3.8.0: - resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} - prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - protobufjs@7.5.8: - resolution: {integrity: sha512-dvpCIeLPbXZS/Ete7yLaO7RenOdken2NHKykBXbsaGxZT0UTltcarBciw+A78SRQs9iMAAVpsYA+l8b1hTePIA==} + protobufjs@7.6.5: + resolution: {integrity: sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==} engines: {node: '>=12.0.0'} punycode@2.3.1: @@ -4260,8 +4090,8 @@ packages: '@types/react': optional: true - react@19.0.0: - resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + react@19.2.7: + resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} engines: {node: '>=0.10.0'} reflect.getprototypeof@1.0.10: @@ -4279,10 +4109,6 @@ packages: require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -4336,6 +4162,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -4351,9 +4182,14 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} - sharp@0.34.5: - resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + sharp@0.35.3: + resolution: {integrity: sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==} + engines: {node: '>=20.9.0'} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -4446,10 +4282,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - stripe@22.1.1: resolution: {integrity: sha512-cmodIYP27tBkJ8G7DuGgWw0PFuemlFZbuF3Wwr1TrjFjUa3T7NIgCe6TVwX8BO2ynu+xtTuDGfHafNDCPt9lXA==} engines: {node: '>=18'} @@ -4476,10 +4308,6 @@ packages: resolution: {integrity: sha512-ay3d+LW/S6yppKoTz3Bq4mG0xrS5bFwfWEBmQfbC7lt5wmtk+Obq0TxVuA9eYRirBTQb1K3eEpBRHMQEo0WyVw==} engines: {node: '>=16'} - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -4575,13 +4403,6 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.26.1: - resolution: {integrity: sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - typescript-eslint@8.59.2: resolution: {integrity: sha512-pJw051uomb3ZeCzGTpRb8RbEqB5Y4WWet8gl/GcTlU35BSx0PVdZ86/bqkQCyKKuraVQEK7r6kBHQXF+fBhkoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4606,8 +4427,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@6.24.1: - resolution: {integrity: sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==} + undici@6.28.0: + resolution: {integrity: sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==} engines: {node: '>=18.17'} update-browserslist-db@1.2.3: @@ -4639,8 +4460,8 @@ packages: '@types/react': optional: true - vite@7.3.3: - resolution: {integrity: sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==} + vite@7.3.6: + resolution: {integrity: sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -4731,8 +4552,8 @@ packages: resolution: {integrity: sha512-5fALBcroIl31OeXAdd1YUntxiZl1eHlZZWzNg3U4Fn+J9/cGL3eT80YlrsWGvj2ojuz1rZr2OXkgCzIxAZ7vRQ==} engines: {node: '>=6.0.0', npm: '>=3.10.0'} - websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + websocket-driver@0.7.5: + resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} engines: {node: '>=0.8.0'} websocket-extensions@0.1.4: @@ -4842,19 +4663,7 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@auth/core@0.37.1(nodemailer@8.0.5)': - dependencies: - '@panva/hkdf': 1.2.1 - '@types/cookie': 0.6.0 - cookie: 0.7.1 - jose: 5.10.0 - oauth4webapi: 3.8.6 - preact: 10.11.3 - preact-render-to-string: 5.2.3(preact@10.11.3) - optionalDependencies: - nodemailer: 8.0.5 - - '@auth/core@0.41.0(nodemailer@8.0.5)': + '@auth/core@0.41.3(nodemailer@9.0.3)': dependencies: '@panva/hkdf': 1.2.1 jose: 6.2.3 @@ -4862,11 +4671,11 @@ snapshots: preact: 10.24.3 preact-render-to-string: 6.5.11(preact@10.24.3) optionalDependencies: - nodemailer: 8.0.5 + nodemailer: 9.0.3 - '@auth/drizzle-adapter@1.7.1(nodemailer@8.0.5)': + '@auth/drizzle-adapter@1.7.1(nodemailer@9.0.3)': dependencies: - '@auth/core': 0.37.1(nodemailer@8.0.5) + '@auth/core': 0.41.3(nodemailer@9.0.3) transitivePeerDependencies: - '@simplewebauthn/browser' - '@simplewebauthn/server' @@ -4949,7 +4758,7 @@ snapshots: discord-api-types: 0.38.47 magic-bytes.js: 1.13.0 tslib: 2.8.1 - undici: 6.24.1 + undici: 6.28.0 '@discordjs/util@1.2.0': dependencies: @@ -4974,7 +4783,7 @@ snapshots: '@drizzle-team/brocli@0.10.2': {} - '@emnapi/runtime@1.10.0': + '@emnapi/runtime@1.11.3': dependencies: tslib: 2.8.1 optional: true @@ -5067,94 +4876,40 @@ snapshots: '@esbuild/win32-x64@0.25.12': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@9.17.0(jiti@2.7.0))': + '@eslint-community/eslint-utils@4.9.1(eslint@10.1.0(jiti@2.7.0))': dependencies: - eslint: 9.17.0(jiti@2.7.0) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/eslint-utils@4.9.1(eslint@9.24.0(jiti@2.7.0))': - dependencies: - eslint: 9.24.0(jiti@2.7.0) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.7.0))': - dependencies: - eslint: 9.39.4(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@1.2.0(eslint@9.17.0(jiti@2.7.0))': + '@eslint/compat@1.2.0(eslint@10.1.0(jiti@2.7.0))': optionalDependencies: - eslint: 9.17.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) - '@eslint/config-array@0.19.2': + '@eslint/config-array@0.23.3': dependencies: - '@eslint/object-schema': 2.1.7 + '@eslint/object-schema': 3.0.3 debug: 4.4.3 - minimatch: 3.1.5 + minimatch: 10.2.4 transitivePeerDependencies: - supports-color - '@eslint/config-array@0.20.1': + '@eslint/config-helpers@0.5.3': dependencies: - '@eslint/object-schema': 2.1.7 - debug: 4.4.3 - minimatch: 3.1.5 - transitivePeerDependencies: - - supports-color - - '@eslint/config-array@0.21.2': - dependencies: - '@eslint/object-schema': 2.1.7 - debug: 4.4.3 - minimatch: 3.1.5 - transitivePeerDependencies: - - supports-color - - '@eslint/config-helpers@0.2.3': {} - - '@eslint/config-helpers@0.4.2': - dependencies: - '@eslint/core': 0.17.0 - - '@eslint/core@0.12.0': - dependencies: - '@types/json-schema': 7.0.15 + '@eslint/core': 1.1.1 '@eslint/core@0.15.2': dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@0.17.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/core@0.9.1': + '@eslint/core@1.1.1': dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.5': - dependencies: - ajv: 6.15.0 - debug: 4.4.3 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.1 - minimatch: 3.1.5 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - '@eslint/js@9.17.0': {} - '@eslint/js@9.24.0': {} - - '@eslint/js@9.39.4': {} - - '@eslint/object-schema@2.1.7': {} + '@eslint/object-schema@3.0.3': {} '@eslint/plugin-kit@0.3.5': dependencies: @@ -5327,7 +5082,7 @@ snapshots: '@firebase/logger': 0.5.1 '@firebase/util': 1.15.1 '@firebase/webchannel-wrapper': 1.0.6 - '@grpc/grpc-js': 1.9.15 + '@grpc/grpc-js': 1.14.4 '@grpc/proto-loader': 0.7.15 tslib: 2.8.1 @@ -5490,37 +5245,37 @@ snapshots: '@floating-ui/core': 1.7.5 '@floating-ui/utils': 0.2.11 - '@floating-ui/react-dom@2.1.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@floating-ui/react-dom@2.1.8(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@floating-ui/dom': 1.7.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) '@floating-ui/utils@0.2.11': {} - '@grpc/grpc-js@1.9.15': + '@grpc/grpc-js@1.14.4': dependencies: - '@grpc/proto-loader': 0.7.15 - '@types/node': 22.15.32 + '@grpc/proto-loader': 0.8.1 + '@js-sdsl/ordered-map': 4.4.2 '@grpc/proto-loader@0.7.15': dependencies: lodash.camelcase: 4.3.0 long: 5.3.2 - protobufjs: 7.5.8 + protobufjs: 7.6.5 yargs: 17.7.2 - '@humanfs/core@0.19.1': {} + '@grpc/proto-loader@0.8.1': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.3.2 + protobufjs: 7.6.5 + yargs: 17.7.2 '@humanfs/core@0.19.2': dependencies: '@humanfs/types': 0.15.0 - '@humanfs/node@0.16.7': - dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.4.3 - '@humanfs/node@0.16.8': dependencies: '@humanfs/core': 0.19.2 @@ -5547,98 +5302,108 @@ snapshots: '@img/colour@1.1.0': optional: true - '@img/sharp-darwin-arm64@0.34.5': + '@img/sharp-darwin-arm64@0.35.3': optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.2.4 + '@img/sharp-libvips-darwin-arm64': 1.3.2 optional: true - '@img/sharp-darwin-x64@0.34.5': + '@img/sharp-darwin-x64@0.35.3': optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.2.4 + '@img/sharp-libvips-darwin-x64': 1.3.2 + optional: true + + '@img/sharp-freebsd-wasm32@0.35.3': + dependencies: + '@img/sharp-wasm32': 0.35.3 optional: true - '@img/sharp-libvips-darwin-arm64@1.2.4': + '@img/sharp-libvips-darwin-arm64@1.3.2': optional: true - '@img/sharp-libvips-darwin-x64@1.2.4': + '@img/sharp-libvips-darwin-x64@1.3.2': optional: true - '@img/sharp-libvips-linux-arm64@1.2.4': + '@img/sharp-libvips-linux-arm64@1.3.2': optional: true - '@img/sharp-libvips-linux-arm@1.2.4': + '@img/sharp-libvips-linux-arm@1.3.2': optional: true - '@img/sharp-libvips-linux-ppc64@1.2.4': + '@img/sharp-libvips-linux-ppc64@1.3.2': optional: true - '@img/sharp-libvips-linux-riscv64@1.2.4': + '@img/sharp-libvips-linux-riscv64@1.3.2': optional: true - '@img/sharp-libvips-linux-s390x@1.2.4': + '@img/sharp-libvips-linux-s390x@1.3.2': optional: true - '@img/sharp-libvips-linux-x64@1.2.4': + '@img/sharp-libvips-linux-x64@1.3.2': optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': optional: true - '@img/sharp-libvips-linuxmusl-x64@1.2.4': + '@img/sharp-libvips-linuxmusl-x64@1.3.2': optional: true - '@img/sharp-linux-arm64@0.34.5': + '@img/sharp-linux-arm64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.2.4 + '@img/sharp-libvips-linux-arm64': 1.3.2 optional: true - '@img/sharp-linux-arm@0.34.5': + '@img/sharp-linux-arm@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.2.4 + '@img/sharp-libvips-linux-arm': 1.3.2 optional: true - '@img/sharp-linux-ppc64@0.34.5': + '@img/sharp-linux-ppc64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-ppc64': 1.2.4 + '@img/sharp-libvips-linux-ppc64': 1.3.2 optional: true - '@img/sharp-linux-riscv64@0.34.5': + '@img/sharp-linux-riscv64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-riscv64': 1.2.4 + '@img/sharp-libvips-linux-riscv64': 1.3.2 optional: true - '@img/sharp-linux-s390x@0.34.5': + '@img/sharp-linux-s390x@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.2.4 + '@img/sharp-libvips-linux-s390x': 1.3.2 optional: true - '@img/sharp-linux-x64@0.34.5': + '@img/sharp-linux-x64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.2.4 + '@img/sharp-libvips-linux-x64': 1.3.2 optional: true - '@img/sharp-linuxmusl-arm64@0.34.5': + '@img/sharp-linuxmusl-arm64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 optional: true - '@img/sharp-linuxmusl-x64@0.34.5': + '@img/sharp-linuxmusl-x64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + optional: true + + '@img/sharp-wasm32@0.35.3': + dependencies: + '@emnapi/runtime': 1.11.3 optional: true - '@img/sharp-wasm32@0.34.5': + '@img/sharp-webcontainers-wasm32@0.35.3': dependencies: - '@emnapi/runtime': 1.10.0 + '@img/sharp-wasm32': 0.35.3 optional: true - '@img/sharp-win32-arm64@0.34.5': + '@img/sharp-win32-arm64@0.35.3': optional: true - '@img/sharp-win32-ia32@0.34.5': + '@img/sharp-win32-ia32@0.35.3': optional: true - '@img/sharp-win32-x64@0.34.5': + '@img/sharp-win32-x64@0.35.3': optional: true '@jridgewell/gen-mapping@0.3.13': @@ -5660,23 +5425,25 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@js-sdsl/ordered-map@4.4.2': {} + '@kurkle/color@0.3.4': {} - '@mawtech/glass-ui@0.2.1(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mawtech/glass-ui@0.2.1(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-select': 2.2.6(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-select': 2.2.6(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) class-variance-authority: 0.7.1 clsx: 2.1.1 - framer-motion: 11.18.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + framer-motion: 11.18.2(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) tailwind-merge: 2.6.1 transitivePeerDependencies: - '@emotion/is-prop-valid' @@ -5690,34 +5457,34 @@ snapshots: - bufferutil - utf-8-validate - '@next/env@16.2.6': {} + '@next/env@16.2.11': {} '@next/eslint-plugin-next@16.2.6': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@16.2.6': + '@next/swc-darwin-arm64@16.2.11': optional: true - '@next/swc-darwin-x64@16.2.6': + '@next/swc-darwin-x64@16.2.11': optional: true - '@next/swc-linux-arm64-gnu@16.2.6': + '@next/swc-linux-arm64-gnu@16.2.11': optional: true - '@next/swc-linux-arm64-musl@16.2.6': + '@next/swc-linux-arm64-musl@16.2.11': optional: true - '@next/swc-linux-x64-gnu@16.2.6': + '@next/swc-linux-x64-gnu@16.2.11': optional: true - '@next/swc-linux-x64-musl@16.2.6': + '@next/swc-linux-x64-musl@16.2.11': optional: true - '@next/swc-win32-arm64-msvc@16.2.6': + '@next/swc-win32-arm64-msvc@16.2.11': optional: true - '@next/swc-win32-x64-msvc@16.2.6': + '@next/swc-win32-x64-msvc@16.2.11': optional: true '@nodelib/fs.scandir@2.1.5': @@ -5806,17 +5573,14 @@ snapshots: '@protobufjs/codegen@2.0.5': {} - '@protobufjs/eventemitter@1.1.0': {} + '@protobufjs/eventemitter@1.1.1': {} - '@protobufjs/fetch@1.1.0': + '@protobufjs/fetch@1.1.1': dependencies: '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.1 '@protobufjs/float@1.0.2': {} - '@protobufjs/inquire@1.1.1': {} - '@protobufjs/path@1.1.2': {} '@protobufjs/pool@1.1.0': {} @@ -5827,404 +5591,404 @@ snapshots: '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-context@1.1.2(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) aria-hidden: 1.2.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.7.2(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-direction@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-direction@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-id@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-menu@2.1.16(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) aria-hidden: 1.2.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.7.2(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-popover@1.1.15(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) aria-hidden: 1.2.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.7.2(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) - - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@floating-ui/react-dom': 2.1.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.3)(react@19.0.0) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) + + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': + dependencies: + '@floating-ui/react-dom': 2.1.8(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.17)(react@19.2.7) '@radix-ui/rect': 1.1.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-select@2.2.6(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-select@2.2.6(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) aria-hidden: 1.2.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.7.2(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-slot@1.2.3(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-slot@1.2.4(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-slot@1.2.4(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-switch@1.2.6(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-switch@1.2.6(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: '@radix-ui/rect': 1.1.1 - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-size@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) '@radix-ui/rect@1.1.1': {} @@ -6318,6 +6082,15 @@ snapshots: '@standard-schema/spec@1.1.0': {} + '@stripe/react-stripe-js@3.10.0(@stripe/stripe-js@5.10.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': + dependencies: + '@stripe/stripe-js': 5.10.0 + prop-types: 15.8.1 + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + + '@stripe/stripe-js@5.10.0': {} + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -6411,7 +6184,7 @@ snapshots: '@tailwindcss/node': 4.3.0 '@tailwindcss/oxide': 4.3.0 lightningcss: 1.32.0 - postcss: 8.5.14 + postcss: 8.5.23 tailwindcss: 4.0.0 '@tailwindcss/postcss@4.3.0': @@ -6419,39 +6192,39 @@ snapshots: '@alloc/quick-lru': 5.2.0 '@tailwindcss/node': 4.3.0 '@tailwindcss/oxide': 4.3.0 - postcss: 8.5.14 + postcss: 8.5.23 tailwindcss: 4.3.0 '@tanstack/query-core@5.90.12': {} - '@tanstack/react-query@5.90.12(react@19.0.0)': + '@tanstack/react-query@5.90.12(react@19.2.7)': dependencies: '@tanstack/query-core': 5.90.12 - react: 19.0.0 + react: 19.2.7 '@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2)': dependencies: '@trpc/server': 11.15.1(typescript@6.0.2) typescript: 6.0.2 - '@trpc/next@11.17.0(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@6.0.2)': + '@trpc/next@11.17.0(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react-dom@19.0.0(react@19.2.7))(react@19.2.7)(typescript@6.0.2)': dependencies: '@trpc/client': 11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2) '@trpc/server': 11.15.1(typescript@6.0.2) - next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + next: 16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) typescript: 6.0.2 optionalDependencies: - '@tanstack/react-query': 5.90.12(react@19.0.0) - '@trpc/react-query': 11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2) + '@tanstack/react-query': 5.90.12(react@19.2.7) + '@trpc/react-query': 11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2) - '@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2)': + '@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2)': dependencies: - '@tanstack/react-query': 5.90.12(react@19.0.0) + '@tanstack/react-query': 5.90.12(react@19.2.7) '@trpc/client': 11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2) '@trpc/server': 11.15.1(typescript@6.0.2) - react: 19.0.0 + react: 19.2.7 typescript: 6.0.2 '@trpc/server@11.15.1(typescript@6.0.2)': @@ -6483,8 +6256,6 @@ snapshots: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 - '@types/cookie@0.6.0': {} - '@types/deep-eql@4.0.2': {} '@types/emscripten@1.41.5': {} @@ -6498,6 +6269,8 @@ snapshots: dependencies: '@types/eslint': 9.6.1 + '@types/esrecurse@4.3.1': {} + '@types/estree@1.0.8': {} '@types/estree@1.0.9': {} @@ -6524,9 +6297,9 @@ snapshots: pg-protocol: 1.13.0 pg-types: 2.2.0 - '@types/qrcode.react@3.0.0(react@19.0.0)': + '@types/qrcode.react@3.0.0(react@19.2.7)': dependencies: - qrcode.react: 3.2.0(react@19.0.0) + qrcode.react: 3.2.0(react@19.2.7) transitivePeerDependencies: - react @@ -6534,15 +6307,15 @@ snapshots: dependencies: '@types/node': 22.15.32 - '@types/react-dom@19.0.3(@types/react@19.1.3)': + '@types/react-dom@19.0.3(@types/react@19.2.17)': dependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 '@types/react-scroll@1.8.10': dependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@types/react@19.1.3': + '@types/react@19.2.17': dependencies: csstype: 3.2.3 @@ -6567,49 +6340,15 @@ snapshots: dependencies: '@types/node': 22.15.32 - '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2))(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/type-utils': 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/utils': 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/visitor-keys': 8.26.1 - eslint: 9.17.0(jiti@2.7.0) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@6.0.2) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/type-utils': 8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/utils': 8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/visitor-keys': 8.26.1 - eslint: 9.39.4(jiti@2.7.0) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@6.0.2) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3))(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3))(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3) + '@typescript-eslint/parser': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.59.2 - '@typescript-eslint/type-utils': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3) - '@typescript-eslint/utils': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3) + '@typescript-eslint/utils': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.59.2 - eslint: 9.24.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@5.8.3) @@ -6617,15 +6356,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2))(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2)': + '@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2))(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2) + '@typescript-eslint/parser': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) '@typescript-eslint/scope-manager': 8.59.2 - '@typescript-eslint/type-utils': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/utils': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2) + '@typescript-eslint/type-utils': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) + '@typescript-eslint/utils': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) '@typescript-eslint/visitor-keys': 8.59.2 - eslint: 9.24.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.2) @@ -6633,50 +6372,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/typescript-estree': 8.26.1(typescript@6.0.2) - '@typescript-eslint/visitor-keys': 8.26.1 - debug: 4.4.3 - eslint: 9.17.0(jiti@2.7.0) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/typescript-estree': 8.26.1(typescript@6.0.2) - '@typescript-eslint/visitor-keys': 8.26.1 - debug: 4.4.3 - eslint: 9.39.4(jiti@2.7.0) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3)': + '@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.59.2 '@typescript-eslint/types': 8.59.2 '@typescript-eslint/typescript-estree': 8.59.2(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.59.2 debug: 4.4.3 - eslint: 9.24.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2)': + '@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2)': dependencies: '@typescript-eslint/scope-manager': 8.59.2 '@typescript-eslint/types': 8.59.2 '@typescript-eslint/typescript-estree': 8.59.2(typescript@6.0.2) '@typescript-eslint/visitor-keys': 8.59.2 debug: 4.4.3 - eslint: 9.24.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) typescript: 6.0.2 transitivePeerDependencies: - supports-color @@ -6699,11 +6414,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.26.1': - dependencies: - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/visitor-keys': 8.26.1 - '@typescript-eslint/scope-manager@8.59.2': dependencies: '@typescript-eslint/types': 8.59.2 @@ -6717,70 +6427,32 @@ snapshots: dependencies: typescript: 6.0.2 - '@typescript-eslint/type-utils@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.26.1(typescript@6.0.2) - '@typescript-eslint/utils': 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) - debug: 4.4.3 - eslint: 9.17.0(jiti@2.7.0) - ts-api-utils: 2.5.0(typescript@6.0.2) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.26.1(typescript@6.0.2) - '@typescript-eslint/utils': 8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2) - debug: 4.4.3 - eslint: 9.39.4(jiti@2.7.0) - ts-api-utils: 2.5.0(typescript@6.0.2) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.59.2 '@typescript-eslint/typescript-estree': 8.59.2(typescript@5.8.3) - '@typescript-eslint/utils': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3) + '@typescript-eslint/utils': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3) debug: 4.4.3 - eslint: 9.24.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2)': + '@typescript-eslint/type-utils@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2)': dependencies: '@typescript-eslint/types': 8.59.2 '@typescript-eslint/typescript-estree': 8.59.2(typescript@6.0.2) - '@typescript-eslint/utils': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2) + '@typescript-eslint/utils': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) debug: 4.4.3 - eslint: 9.24.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.2) typescript: 6.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.26.1': {} - '@typescript-eslint/types@8.59.2': {} - '@typescript-eslint/typescript-estree@8.26.1(typescript@6.0.2)': - dependencies: - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/visitor-keys': 8.26.1 - debug: 4.4.3 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.9 - semver: 7.8.0 - ts-api-utils: 2.5.0(typescript@6.0.2) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.59.2(typescript@5.8.3)': dependencies: '@typescript-eslint/project-service': 8.59.2(typescript@5.8.3) @@ -6788,8 +6460,8 @@ snapshots: '@typescript-eslint/types': 8.59.2 '@typescript-eslint/visitor-keys': 8.59.2 debug: 4.4.3 - minimatch: 10.2.3 - semver: 7.8.0 + minimatch: 10.2.4 + semver: 7.8.5 tinyglobby: 0.2.16 ts-api-utils: 2.5.0(typescript@5.8.3) typescript: 5.8.3 @@ -6803,74 +6475,36 @@ snapshots: '@typescript-eslint/types': 8.59.2 '@typescript-eslint/visitor-keys': 8.59.2 debug: 4.4.3 - minimatch: 10.2.3 - semver: 7.8.0 + minimatch: 10.2.4 + semver: 7.8.5 tinyglobby: 0.2.16 ts-api-utils: 2.5.0(typescript@6.0.2) typescript: 6.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.17.0(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/typescript-estree': 8.26.1(typescript@6.0.2) - eslint: 9.17.0(jiti@2.7.0) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.26.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2)': + '@typescript-eslint/utils@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/types': 8.26.1 - '@typescript-eslint/typescript-estree': 8.26.1(typescript@6.0.2) - eslint: 9.39.4(jiti@2.7.0) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.24.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.7.0)) '@typescript-eslint/scope-manager': 8.59.2 '@typescript-eslint/types': 8.59.2 '@typescript-eslint/typescript-estree': 8.59.2(typescript@5.8.3) - eslint: 9.24.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2)': + '@typescript-eslint/utils@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.24.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.7.0)) '@typescript-eslint/scope-manager': 8.59.2 '@typescript-eslint/types': 8.59.2 '@typescript-eslint/typescript-estree': 8.59.2(typescript@6.0.2) - eslint: 9.24.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) typescript: 6.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.59.2(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.2)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.59.2 - '@typescript-eslint/types': 8.59.2 - '@typescript-eslint/typescript-estree': 8.59.2(typescript@6.0.2) - eslint: 9.39.4(jiti@2.7.0) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@8.26.1': - dependencies: - '@typescript-eslint/types': 8.26.1 - eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.59.2': dependencies: '@typescript-eslint/types': 8.59.2 @@ -6885,13 +6519,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.8(vite@7.3.3(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0))': + '@vitest/mocker@4.1.8(vite@7.3.6(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 4.1.8 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.3(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0) + vite: 7.3.6(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0) '@vitest/pretty-format@4.1.8': dependencies: @@ -6919,18 +6553,18 @@ snapshots: '@vladfrangu/async_event_emitter@2.4.7': {} - '@yudiel/react-qr-scanner@2.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@yudiel/react-qr-scanner@2.3.1(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: barcode-detector: 3.0.3 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) webrtc-adapter: 9.0.3 - '@yudiel/react-qr-scanner@2.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@yudiel/react-qr-scanner@2.5.1(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: barcode-detector: 3.0.8 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) webrtc-adapter: 9.0.3 acorn-jsx@5.3.2(acorn@8.16.0): @@ -6943,13 +6577,6 @@ snapshots: acorn@8.16.0: {} - ajv@6.14.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 @@ -6963,8 +6590,6 @@ snapshots: dependencies: color-convert: 2.0.1 - argparse@2.0.1: {} - aria-hidden@1.2.6: dependencies: tslib: 2.8.1 @@ -7044,14 +6669,14 @@ snapshots: async-function@1.0.0: {} - autoprefixer@10.4.22(postcss@8.5.14): + autoprefixer@10.4.22(postcss@8.5.23): dependencies: browserslist: 4.28.2 caniuse-lite: 1.0.30001792 fraction.js: 5.3.4 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.14 + postcss: 8.5.23 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -7066,8 +6691,6 @@ snapshots: dependencies: '@babel/types': 7.29.0 - balanced-match@1.0.2: {} - balanced-match@4.0.4: {} barcode-detector@3.0.3: @@ -7082,16 +6705,7 @@ snapshots: baseline-browser-mapping@2.9.19: {} - brace-expansion@1.1.14: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.1.0: - dependencies: - balanced-match: 1.0.2 - - brace-expansion@5.0.6: + brace-expansion@5.0.8: dependencies: balanced-match: 4.0.4 @@ -7126,19 +6740,12 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - callsites@3.1.0: {} - camelcase@5.3.1: {} caniuse-lite@1.0.30001792: {} chai@6.2.2: {} - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - chart.js@4.5.1: dependencies: '@kurkle/color': 0.3.4 @@ -7171,12 +6778,8 @@ snapshots: commander@7.2.0: {} - concat-map@0.0.1: {} - convert-source-map@2.0.0: {} - cookie@0.7.1: {} - copy-anything@4.0.5: dependencies: is-what: 5.5.0 @@ -7265,7 +6868,7 @@ snapshots: lodash.snakecase: 4.1.1 magic-bytes.js: 1.13.0 tslib: 2.8.1 - undici: 6.24.1 + undici: 6.28.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -7468,13 +7071,13 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@10.1.8(eslint@9.39.4(jiti@2.7.0)): + eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@2.7.0)): dependencies: - eslint: 9.39.4(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) - eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.7.0)): + eslint-config-prettier@9.1.0(eslint@10.1.0(jiti@2.7.0)): dependencies: - eslint: 9.17.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) eslint-import-resolver-node@0.3.10: dependencies: @@ -7484,17 +7087,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2))(eslint-import-resolver-node@0.3.10)(eslint@9.17.0(jiti@2.7.0)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2))(eslint-import-resolver-node@0.3.10)(eslint@10.1.0(jiti@2.7.0)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) - eslint: 9.17.0(jiti@2.7.0) + '@typescript-eslint/parser': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) + eslint: 10.1.0(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2))(eslint@9.17.0(jiti@2.7.0)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2))(eslint@10.1.0(jiti@2.7.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -7503,9 +7106,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.17.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2))(eslint-import-resolver-node@0.3.10)(eslint@9.17.0(jiti@2.7.0)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2))(eslint-import-resolver-node@0.3.10)(eslint@10.1.0(jiti@2.7.0)) hasown: 2.0.3 is-core-module: 2.16.2 is-glob: 4.0.3 @@ -7517,13 +7120,13 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) + '@typescript-eslint/parser': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.17.0(jiti@2.7.0)): + eslint-plugin-jsx-a11y@6.10.2(eslint@10.1.0(jiti@2.7.0)): dependencies: aria-query: 5.3.2 array-includes: 3.1.9 @@ -7533,7 +7136,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.17.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) hasown: 2.0.3 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -7542,11 +7145,11 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-react-hooks@5.2.0(eslint@9.17.0(jiti@2.7.0)): + eslint-plugin-react-hooks@5.2.0(eslint@10.1.0(jiti@2.7.0)): dependencies: - eslint: 9.17.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) - eslint-plugin-react@7.37.1(eslint@9.17.0(jiti@2.7.0)): + eslint-plugin-react@7.37.1(eslint@10.1.0(jiti@2.7.0)): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 @@ -7554,7 +7157,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.3.2 - eslint: 9.17.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) estraverse: 5.3.0 hasown: 2.0.3 jsx-ast-utils: 3.3.5 @@ -7568,127 +7171,42 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.1.3(eslint@9.17.0(jiti@2.7.0)): + eslint-plugin-turbo@2.10.7(eslint@10.1.0(jiti@2.7.0))(turbo@2.9.14): dependencies: dotenv: 16.0.3 - eslint: 9.17.0(jiti@2.7.0) + eslint: 10.1.0(jiti@2.7.0) + turbo: 2.9.14 - eslint-scope@8.4.0: + eslint-scope@9.1.2: dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.1: {} - eslint@9.17.0(jiti@2.7.0): - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.17.0(jiti@2.7.0)) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.19.2 - '@eslint/core': 0.9.1 - '@eslint/eslintrc': 3.3.5 - '@eslint/js': 9.17.0 - '@eslint/plugin-kit': 0.3.5 - '@humanfs/node': 0.16.7 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - ajv: 6.14.0 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.3 - escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - esquery: 1.7.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.5 - natural-compare: 1.4.0 - optionator: 0.9.4 - optionalDependencies: - jiti: 2.7.0 - transitivePeerDependencies: - - supports-color - - eslint@9.24.0(jiti@2.7.0): + eslint@10.1.0(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.24.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.20.1 - '@eslint/config-helpers': 0.2.3 - '@eslint/core': 0.12.0 - '@eslint/eslintrc': 3.3.5 - '@eslint/js': 9.24.0 + '@eslint/config-array': 0.23.3 + '@eslint/config-helpers': 0.5.3 + '@eslint/core': 1.1.1 '@eslint/plugin-kit': 0.3.5 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 ajv: 6.15.0 - chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - esquery: 1.7.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.5 - natural-compare: 1.4.0 - optionator: 0.9.4 - optionalDependencies: - jiti: 2.7.0 - transitivePeerDependencies: - - supports-color - - eslint@9.39.4(jiti@2.7.0): - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.2 - '@eslint/config-helpers': 0.4.2 - '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.5 - '@eslint/js': 9.39.4 - '@eslint/plugin-kit': 0.3.5 - '@humanfs/node': 0.16.8 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.9 - ajv: 6.15.0 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.3 - escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -7699,8 +7217,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.5 + minimatch: 10.2.4 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -7708,11 +7225,11 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.4.0: + espree@11.2.0: dependencies: acorn: 8.16.0 acorn-jsx: 5.3.2(acorn@8.16.0) - eslint-visitor-keys: 4.2.1 + eslint-visitor-keys: 5.0.1 esquery@1.7.0: dependencies: @@ -7742,14 +7259,6 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -7760,7 +7269,7 @@ snapshots: faye-websocket@0.11.4: dependencies: - websocket-driver: 0.7.4 + websocket-driver: 0.7.5 fdir@6.5.0(picomatch@4.0.4): optionalDependencies: @@ -7832,14 +7341,14 @@ snapshots: fraction.js@5.3.4: {} - framer-motion@11.18.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + framer-motion@11.18.2(react-dom@19.0.0(react@19.2.7))(react@19.2.7): dependencies: motion-dom: 11.18.1 motion-utils: 11.18.1 tslib: 2.8.1 optionalDependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) fsevents@2.3.2: optional: true @@ -7862,9 +7371,9 @@ snapshots: fuse.js@7.3.0: {} - geist@1.7.0(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)): + geist@1.7.0(next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)): dependencies: - next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) generator-function@2.0.1: {} @@ -7908,8 +7417,6 @@ snapshots: dependencies: is-glob: 4.0.3 - globals@14.0.0: {} - globals@15.14.0: {} globalthis@1.0.4: @@ -7921,16 +7428,12 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - gzip-size@6.0.0: dependencies: duplexer: 0.1.2 has-bigints@1.1.0: {} - has-flag@4.0.0: {} - has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 @@ -7968,11 +7471,6 @@ snapshots: image-size@2.0.2: {} - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - imurmurhash@0.1.4: {} internal-slot@1.1.0: @@ -8110,16 +7608,10 @@ snapshots: jiti@2.7.0: {} - jose@5.10.0: {} - jose@6.2.3: {} js-tokens@4.0.0: {} - js-yaml@4.1.1: - dependencies: - argparse: 2.0.1 - jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -8217,8 +7709,6 @@ snapshots: lodash.camelcase@4.3.0: {} - lodash.merge@4.6.2: {} - lodash.snakecase@4.1.1: {} lodash.throttle@4.1.1: {} @@ -8231,9 +7721,9 @@ snapshots: dependencies: js-tokens: 4.0.0 - lucide-react@1.14.0(react@19.0.0): + lucide-react@1.14.0(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 magic-bytes.js@1.13.0: {} @@ -8254,15 +7744,15 @@ snapshots: minimatch@10.2.3: dependencies: - brace-expansion: 5.0.6 + brace-expansion: 5.0.8 - minimatch@3.1.5: + minimatch@10.2.4: dependencies: - brace-expansion: 1.1.14 + brace-expansion: 5.0.8 - minimatch@9.0.9: + minimatch@3.1.5: dependencies: - brace-expansion: 2.1.0 + brace-expansion: 5.0.8 minimist@1.2.8: {} @@ -8278,47 +7768,81 @@ snapshots: ms@2.1.3: {} - nanoid@3.3.12: {} + nanoid@3.3.16: {} natural-compare@1.4.0: {} - next-auth@5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@8.0.5)(react@19.0.0): + next-auth@5.0.0-beta.32(next@16.2.11(@playwright/test@1.60.0)(@types/node@20.19.40)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(nodemailer@9.0.3)(react@19.2.7): dependencies: - '@auth/core': 0.41.0(nodemailer@8.0.5) - next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 + '@auth/core': 0.41.3(nodemailer@9.0.3) + next: 16.2.11(@playwright/test@1.60.0)(@types/node@20.19.40)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 optionalDependencies: - nodemailer: 8.0.5 + nodemailer: 9.0.3 - next-themes@0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next-auth@5.0.0-beta.32(next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react@19.2.7): dependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@auth/core': 0.41.3(nodemailer@9.0.3) + next: 16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 - next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next-themes@0.4.6(react-dom@19.0.0(react@19.2.7))(react@19.2.7): dependencies: - '@next/env': 16.2.6 + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + + next@16.2.11(@playwright/test@1.60.0)(@types/node@20.19.40)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7): + dependencies: + '@next/env': 16.2.11 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001792 - postcss: 8.5.14 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - styled-jsx: 5.1.6(react@19.0.0) + postcss: 8.5.23 + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + styled-jsx: 5.1.6(react@19.2.7) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.6 - '@next/swc-darwin-x64': 16.2.6 - '@next/swc-linux-arm64-gnu': 16.2.6 - '@next/swc-linux-arm64-musl': 16.2.6 - '@next/swc-linux-x64-gnu': 16.2.6 - '@next/swc-linux-x64-musl': 16.2.6 - '@next/swc-win32-arm64-msvc': 16.2.6 - '@next/swc-win32-x64-msvc': 16.2.6 + '@next/swc-darwin-arm64': 16.2.11 + '@next/swc-darwin-x64': 16.2.11 + '@next/swc-linux-arm64-gnu': 16.2.11 + '@next/swc-linux-arm64-musl': 16.2.11 + '@next/swc-linux-x64-gnu': 16.2.11 + '@next/swc-linux-x64-musl': 16.2.11 + '@next/swc-win32-arm64-msvc': 16.2.11 + '@next/swc-win32-x64-msvc': 16.2.11 '@playwright/test': 1.60.0 babel-plugin-react-compiler: 1.0.0 - sharp: 0.34.5 + sharp: 0.35.3(@types/node@20.19.40) transitivePeerDependencies: - '@babel/core' + - '@types/node' + - babel-plugin-macros + + next@16.2.11(@playwright/test@1.60.0)(@types/node@22.15.32)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7): + dependencies: + '@next/env': 16.2.11 + '@swc/helpers': 0.5.15 + baseline-browser-mapping: 2.9.19 + caniuse-lite: 1.0.30001792 + postcss: 8.5.23 + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + styled-jsx: 5.1.6(react@19.2.7) + optionalDependencies: + '@next/swc-darwin-arm64': 16.2.11 + '@next/swc-darwin-x64': 16.2.11 + '@next/swc-linux-arm64-gnu': 16.2.11 + '@next/swc-linux-arm64-musl': 16.2.11 + '@next/swc-linux-x64-gnu': 16.2.11 + '@next/swc-linux-x64-musl': 16.2.11 + '@next/swc-win32-arm64-msvc': 16.2.11 + '@next/swc-win32-x64-msvc': 16.2.11 + '@playwright/test': 1.60.0 + babel-plugin-react-compiler: 1.0.0 + sharp: 0.35.3(@types/node@22.15.32) + transitivePeerDependencies: + - '@babel/core' + - '@types/node' - babel-plugin-macros node-addon-api@7.1.1: {} @@ -8332,7 +7856,7 @@ snapshots: node-releases@2.0.38: {} - nodemailer@8.0.5: {} + nodemailer@9.0.3: {} normalize-range@0.1.2: {} @@ -8417,10 +7941,6 @@ snapshots: p-try@2.2.0: {} - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - parse-srcset@1.0.2: {} path-exists@4.0.0: {} @@ -8488,9 +8008,9 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.5.14: + postcss@8.5.23: dependencies: - nanoid: 3.3.12 + nanoid: 3.3.16 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -8506,17 +8026,10 @@ snapshots: postgres@3.4.3: {} - preact-render-to-string@5.2.3(preact@10.11.3): - dependencies: - preact: 10.11.3 - pretty-format: 3.8.0 - preact-render-to-string@6.5.11(preact@10.24.3): dependencies: preact: 10.24.3 - preact@10.11.3: {} - preact@10.24.3: {} prelude-ls@1.2.1: {} @@ -8531,23 +8044,20 @@ snapshots: prettier@3.5.3: {} - pretty-format@3.8.0: {} - prop-types@15.8.1: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - protobufjs@7.5.8: + protobufjs@7.6.5: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 '@protobufjs/codegen': 2.0.5 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 + '@protobufjs/eventemitter': 1.1.1 + '@protobufjs/fetch': 1.1.1 '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.1 '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.1 @@ -8556,9 +8066,9 @@ snapshots: punycode@2.3.1: {} - qrcode.react@3.2.0(react@19.0.0): + qrcode.react@3.2.0(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 qrcode@1.5.4: dependencies: @@ -8568,57 +8078,57 @@ snapshots: queue-microtask@1.2.3: {} - react-chartjs-2@5.3.1(chart.js@4.5.1)(react@19.0.0): + react-chartjs-2@5.3.1(chart.js@4.5.1)(react@19.2.7): dependencies: chart.js: 4.5.1 - react: 19.0.0 + react: 19.2.7 - react-dom@19.0.0(react@19.0.0): + react-dom@19.0.0(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 scheduler: 0.25.0 - react-icons@5.6.0(react@19.0.0): + react-icons@5.6.0(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 react-is@16.13.1: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.3)(react@19.0.0): + react-remove-scroll-bar@2.3.8(@types/react@19.2.17)(react@19.2.7): dependencies: - react: 19.0.0 - react-style-singleton: 2.2.3(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.7) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - react-remove-scroll@2.7.2(@types/react@19.1.3)(react@19.0.0): + react-remove-scroll@2.7.2(@types/react@19.2.17)(react@19.2.7): dependencies: - react: 19.0.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.3)(react@19.0.0) - react-style-singleton: 2.2.3(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.17)(react@19.2.7) + react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.7) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.3)(react@19.0.0) - use-sidecar: 1.1.3(@types/react@19.1.3)(react@19.0.0) + use-callback-ref: 1.3.3(@types/react@19.2.17)(react@19.2.7) + use-sidecar: 1.1.3(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - react-scroll@1.9.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-scroll@1.9.3(react-dom@19.0.0(react@19.2.7))(react@19.2.7): dependencies: lodash.throttle: 4.1.1 prop-types: 15.8.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) - react-style-singleton@2.2.3(@types/react@19.1.3)(react@19.0.0): + react-style-singleton@2.2.3(@types/react@19.2.17)(react@19.2.7): dependencies: get-nonce: 1.0.1 - react: 19.0.0 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - react@19.0.0: {} + react@19.2.7: {} reflect.getprototypeof@1.0.10: dependencies: @@ -8644,8 +8154,6 @@ snapshots: require-main-filename@2.0.0: {} - resolve-from@4.0.0: {} - resolve-pkg-maps@1.0.0: {} resolve@2.0.0-next.6: @@ -8723,7 +8231,7 @@ snapshots: is-plain-object: 5.0.0 launder: 1.7.1 parse-srcset: 1.0.2 - postcss: 8.5.14 + postcss: 8.5.23 scheduler@0.25.0: {} @@ -8733,6 +8241,8 @@ snapshots: semver@7.8.0: {} + semver@7.8.5: {} + set-blocking@2.0.0: {} set-function-length@1.2.2: @@ -8757,36 +8267,72 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 - sharp@0.34.5: + sharp@0.35.3(@types/node@20.19.40): dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 - semver: 7.8.0 + semver: 7.8.5 optionalDependencies: - '@img/sharp-darwin-arm64': 0.34.5 - '@img/sharp-darwin-x64': 0.34.5 - '@img/sharp-libvips-darwin-arm64': 1.2.4 - '@img/sharp-libvips-darwin-x64': 1.2.4 - '@img/sharp-libvips-linux-arm': 1.2.4 - '@img/sharp-libvips-linux-arm64': 1.2.4 - '@img/sharp-libvips-linux-ppc64': 1.2.4 - '@img/sharp-libvips-linux-riscv64': 1.2.4 - '@img/sharp-libvips-linux-s390x': 1.2.4 - '@img/sharp-libvips-linux-x64': 1.2.4 - '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 - '@img/sharp-libvips-linuxmusl-x64': 1.2.4 - '@img/sharp-linux-arm': 0.34.5 - '@img/sharp-linux-arm64': 0.34.5 - '@img/sharp-linux-ppc64': 0.34.5 - '@img/sharp-linux-riscv64': 0.34.5 - '@img/sharp-linux-s390x': 0.34.5 - '@img/sharp-linux-x64': 0.34.5 - '@img/sharp-linuxmusl-arm64': 0.34.5 - '@img/sharp-linuxmusl-x64': 0.34.5 - '@img/sharp-wasm32': 0.34.5 - '@img/sharp-win32-arm64': 0.34.5 - '@img/sharp-win32-ia32': 0.34.5 - '@img/sharp-win32-x64': 0.34.5 + '@img/sharp-darwin-arm64': 0.35.3 + '@img/sharp-darwin-x64': 0.35.3 + '@img/sharp-freebsd-wasm32': 0.35.3 + '@img/sharp-libvips-darwin-arm64': 1.3.2 + '@img/sharp-libvips-darwin-x64': 1.3.2 + '@img/sharp-libvips-linux-arm': 1.3.2 + '@img/sharp-libvips-linux-arm64': 1.3.2 + '@img/sharp-libvips-linux-ppc64': 1.3.2 + '@img/sharp-libvips-linux-riscv64': 1.3.2 + '@img/sharp-libvips-linux-s390x': 1.3.2 + '@img/sharp-libvips-linux-x64': 1.3.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + '@img/sharp-linux-arm': 0.35.3 + '@img/sharp-linux-arm64': 0.35.3 + '@img/sharp-linux-ppc64': 0.35.3 + '@img/sharp-linux-riscv64': 0.35.3 + '@img/sharp-linux-s390x': 0.35.3 + '@img/sharp-linux-x64': 0.35.3 + '@img/sharp-linuxmusl-arm64': 0.35.3 + '@img/sharp-linuxmusl-x64': 0.35.3 + '@img/sharp-webcontainers-wasm32': 0.35.3 + '@img/sharp-win32-arm64': 0.35.3 + '@img/sharp-win32-ia32': 0.35.3 + '@img/sharp-win32-x64': 0.35.3 + '@types/node': 20.19.40 + optional: true + + sharp@0.35.3(@types/node@22.15.32): + dependencies: + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.5 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.35.3 + '@img/sharp-darwin-x64': 0.35.3 + '@img/sharp-freebsd-wasm32': 0.35.3 + '@img/sharp-libvips-darwin-arm64': 1.3.2 + '@img/sharp-libvips-darwin-x64': 1.3.2 + '@img/sharp-libvips-linux-arm': 1.3.2 + '@img/sharp-libvips-linux-arm64': 1.3.2 + '@img/sharp-libvips-linux-ppc64': 1.3.2 + '@img/sharp-libvips-linux-riscv64': 1.3.2 + '@img/sharp-libvips-linux-s390x': 1.3.2 + '@img/sharp-libvips-linux-x64': 1.3.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + '@img/sharp-linux-arm': 0.35.3 + '@img/sharp-linux-arm64': 0.35.3 + '@img/sharp-linux-ppc64': 0.35.3 + '@img/sharp-linux-riscv64': 0.35.3 + '@img/sharp-linux-s390x': 0.35.3 + '@img/sharp-linux-x64': 0.35.3 + '@img/sharp-linuxmusl-arm64': 0.35.3 + '@img/sharp-linuxmusl-x64': 0.35.3 + '@img/sharp-webcontainers-wasm32': 0.35.3 + '@img/sharp-win32-arm64': 0.35.3 + '@img/sharp-win32-ia32': 0.35.3 + '@img/sharp-win32-x64': 0.35.3 + '@types/node': 22.15.32 optional: true shebang-command@2.0.0: @@ -8913,25 +8459,19 @@ snapshots: strip-bom@3.0.0: {} - strip-json-comments@3.1.1: {} - stripe@22.1.1(@types/node@22.15.32): optionalDependencies: '@types/node': 22.15.32 - styled-jsx@5.1.6(react@19.0.0): + styled-jsx@5.1.6(react@19.2.7): dependencies: client-only: 0.0.1 - react: 19.0.0 + react: 19.2.7 superjson@2.2.3: dependencies: copy-anything: 4.0.5 - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: {} tagged-tag@1.0.0: {} @@ -9039,34 +8579,24 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2): - dependencies: - '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2))(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/parser': 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/utils': 8.26.1(eslint@9.17.0(jiti@2.7.0))(typescript@6.0.2) - eslint: 9.17.0(jiti@2.7.0) - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - typescript-eslint@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3): + typescript-eslint@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3))(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3) - '@typescript-eslint/parser': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3))(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3) + '@typescript-eslint/parser': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.59.2(typescript@5.8.3) - '@typescript-eslint/utils': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@5.8.3) - eslint: 9.24.0(jiti@2.7.0) + '@typescript-eslint/utils': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@5.8.3) + eslint: 10.1.0(jiti@2.7.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color - typescript-eslint@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2): + typescript-eslint@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2))(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2) - '@typescript-eslint/parser': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2) + '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2))(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) + '@typescript-eslint/parser': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) '@typescript-eslint/typescript-estree': 8.59.2(typescript@6.0.2) - '@typescript-eslint/utils': 8.59.2(eslint@9.24.0(jiti@2.7.0))(typescript@6.0.2) - eslint: 9.24.0(jiti@2.7.0) + '@typescript-eslint/utils': 8.59.2(eslint@10.1.0(jiti@2.7.0))(typescript@6.0.2) + eslint: 10.1.0(jiti@2.7.0) typescript: 6.0.2 transitivePeerDependencies: - supports-color @@ -9084,7 +8614,7 @@ snapshots: undici-types@6.21.0: {} - undici@6.24.1: {} + undici@6.28.0: {} update-browserslist-db@1.2.3(browserslist@4.28.2): dependencies: @@ -9096,27 +8626,27 @@ snapshots: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.3(@types/react@19.1.3)(react@19.0.0): + use-callback-ref@1.3.3(@types/react@19.2.17)(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - use-sidecar@1.1.3(@types/react@19.1.3)(react@19.0.0): + use-sidecar@1.1.3(@types/react@19.2.17)(react@19.2.7): dependencies: detect-node-es: 1.1.0 - react: 19.0.0 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - vite@7.3.3(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0): + vite@7.3.6(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - postcss: 8.5.14 + postcss: 8.5.23 rollup: 4.60.3 tinyglobby: 0.2.16 optionalDependencies: @@ -9129,7 +8659,7 @@ snapshots: vitest@4.1.8(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0): dependencies: '@vitest/expect': 4.1.8 - '@vitest/mocker': 4.1.8(vite@7.3.3(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)) + '@vitest/mocker': 4.1.8(vite@7.3.6(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)) '@vitest/pretty-format': 4.1.8 '@vitest/runner': 4.1.8 '@vitest/snapshot': 4.1.8 @@ -9146,7 +8676,7 @@ snapshots: tinyexec: 1.0.4 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 7.3.3(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0) + vite: 7.3.6(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.15.32 @@ -9188,7 +8718,7 @@ snapshots: dependencies: sdp: 3.2.2 - websocket-driver@0.7.4: + websocket-driver@0.7.5: dependencies: http-parser-js: 0.5.10 safe-buffer: 5.2.1 diff --git a/restore-workspace.js b/restore-workspace.js index bb18ad6d..47084023 100644 --- a/restore-workspace.js +++ b/restore-workspace.js @@ -1,9 +1,15 @@ -const fs = require('fs'); -const path = require('path'); +const fs = require("fs"); +const path = require("path"); const packagesToRestore = [ - "@query/api", "@query/auth", "@query/db", "@query/ui", - "@query/eslint-config", "@query/prettier-config", "@query/tailwind-config", "@query/tsconfig" + "@query/api", + "@query/auth", + "@query/db", + "@query/ui", + "@query/eslint-config", + "@query/prettier-config", + "@query/tailwind-config", + "@query/tsconfig", ]; function restore(dir) { @@ -17,21 +23,28 @@ function restore(dir) { for (const entry of entries) { const fullPath = path.join(dir, entry.name); if (entry.isDirectory()) { - if (!entry.name.includes('node_modules') && !entry.name.includes('.next')) { + if ( + !entry.name.includes("node_modules") && + !entry.name.includes(".next") + ) { restore(fullPath); } - } else if (entry.name === 'package.json') { + } else if (entry.name === "package.json") { try { - const fd = fs.openSync(fullPath, 'r+'); - const content = fs.readFileSync(fd, 'utf8'); + const fd = fs.openSync(fullPath, "r+"); + const content = fs.readFileSync(fd, "utf8"); const json = JSON.parse(content); let changed = false; - for (const section of ['dependencies', 'devDependencies', 'peerDependencies']) { + for (const section of [ + "dependencies", + "devDependencies", + "peerDependencies", + ]) { if (json[section]) { for (const pkg of packagesToRestore) { - if (json[section][pkg] === '*') { - json[section][pkg] = 'workspace:*'; + if (json[section][pkg] === "*") { + json[section][pkg] = "workspace:*"; changed = true; } } @@ -39,13 +52,13 @@ function restore(dir) { } if (changed) { - const output = JSON.stringify(json, null, 2) + '\n'; + const output = JSON.stringify(json, null, 2) + "\n"; fs.ftruncateSync(fd); fs.writeSync(fd, output, 0); } fs.closeSync(fd); } catch (e) { - console.error('Error processing ' + fullPath + ': ' + e.message); + console.error("Error processing " + fullPath + ": " + e.message); } } } diff --git a/sites/discordBot/nodemon.json b/sites/discordBot/nodemon.json index c7133d57..58b690d4 100644 --- a/sites/discordBot/nodemon.json +++ b/sites/discordBot/nodemon.json @@ -3,4 +3,4 @@ "ext": "ts,json", "ignore": ["src/**/*.spec.ts"], "exec": "ts-node ./src/index.ts" -} \ No newline at end of file +} diff --git a/sites/discordBot/package.json b/sites/discordBot/package.json index e1353924..7a72d677 100644 --- a/sites/discordBot/package.json +++ b/sites/discordBot/package.json @@ -23,4 +23,4 @@ "tsx": "^4.19.3", "typescript": "^6.0.2" } -} \ No newline at end of file +} diff --git a/sites/discordBot/src/commands/ask.ts b/sites/discordBot/src/commands/ask.ts index cadb9c6a..c74dcfe4 100644 --- a/sites/discordBot/src/commands/ask.ts +++ b/sites/discordBot/src/commands/ask.ts @@ -1,4 +1,8 @@ -import { SlashCommandBuilder, ChatInputCommandInteraction, EmbedBuilder } from "discord.js"; +import { + SlashCommandBuilder, + ChatInputCommandInteraction, + EmbedBuilder, +} from "discord.js"; import Fuse from "fuse.js"; import { getFullGuide } from "../notion.js"; @@ -16,46 +20,117 @@ interface SearchResult { class SynonymExpander { private static readonly SYNONYMS: Record = { - "food": ["meal", "meals", "eat", "eating", "lunch", "dinner", "breakfast", "snack", "snacks", "restaurant", "restaurants", "hungry"], - "hungry": ["food", "meal", "meals", "eat", "snack"], - "sleep": ["sleeping", "nap", "napping", "rest", "resting", "tired", "bag", "bags"], - "tired": ["sleep", "sleeping", "rest", "nap"], - "shower": ["showers", "bathroom", "restroom", "wash", "hygiene", "towel"], - "bathroom": ["shower", "showers", "restroom"], - "wifi": ["internet", "connection", "network", "online"], - "internet": ["wifi", "connection", "network"], - "swag": ["sticker", "stickers", "shirt", "shirts", "hoodie", "hoodies", "merch", "merchandise", "points"], - "prize": ["prizes", "award", "awards", "win", "winning", "reward"], - "shirt": ["shirts", "tshirt", "tshirts", "clothing", "clothes", "swag"], - "hoodie": ["hoodies", "sweatshirt", "clothing", "swag"], - "schedule": ["time", "times", "when", "timing", "agenda", "calendar", "event", "events"], - "time": ["schedule", "when", "timing"], - "when": ["time", "schedule", "timing"], - "submit": ["submission", "submissions", "devpost", "project", "upload", "turn in", "deadline"], - "deadline": ["submit", "submission", "due", "time"], - "parking": ["park", "car", "vehicle", "lot", "deck", "garage"], - "arrive": ["arriving", "arrival", "get there", "location", "directions"], - "checkin": ["check in", "check-in", "registration", "register", "badge"], - "badge": ["lanyard", "id", "checkin", "check in"], - "travel": ["flying", "flight", "airport", "uber", "lyft", "marta", "reimbursement"], - "reimbursement": ["refund", "money", "reimburse", "travel"], - "team": ["teams", "teammate", "teammates", "partner", "partners", "group"], - "partner": ["team", "teammate", "group"], - "workshop": ["workshops", "event", "events", "session", "sessions"], - "activity": ["activities", "event", "events"], - "track": ["tracks", "category", "categories", "theme"], - "challenge": ["challenges", "problem", "problems"], - "judge": ["judging", "judges", "evaluation", "scoring"], - "bring": ["pack", "packing", "need", "needed", "essentials", "items"] + food: [ + "meal", + "meals", + "eat", + "eating", + "lunch", + "dinner", + "breakfast", + "snack", + "snacks", + "restaurant", + "restaurants", + "hungry", + ], + hungry: ["food", "meal", "meals", "eat", "snack"], + sleep: [ + "sleeping", + "nap", + "napping", + "rest", + "resting", + "tired", + "bag", + "bags", + ], + tired: ["sleep", "sleeping", "rest", "nap"], + shower: ["showers", "bathroom", "restroom", "wash", "hygiene", "towel"], + bathroom: ["shower", "showers", "restroom"], + wifi: ["internet", "connection", "network", "online"], + internet: ["wifi", "connection", "network"], + swag: [ + "sticker", + "stickers", + "shirt", + "shirts", + "hoodie", + "hoodies", + "merch", + "merchandise", + "points", + ], + prize: ["prizes", "award", "awards", "win", "winning", "reward"], + shirt: ["shirts", "tshirt", "tshirts", "clothing", "clothes", "swag"], + hoodie: ["hoodies", "sweatshirt", "clothing", "swag"], + schedule: [ + "time", + "times", + "when", + "timing", + "agenda", + "calendar", + "event", + "events", + ], + time: ["schedule", "when", "timing"], + when: ["time", "schedule", "timing"], + submit: [ + "submission", + "submissions", + "devpost", + "project", + "upload", + "turn in", + "deadline", + ], + deadline: ["submit", "submission", "due", "time"], + parking: ["park", "car", "vehicle", "lot", "deck", "garage"], + arrive: ["arriving", "arrival", "get there", "location", "directions"], + checkin: ["check in", "check-in", "registration", "register", "badge"], + badge: ["lanyard", "id", "checkin", "check in"], + travel: [ + "flying", + "flight", + "airport", + "uber", + "lyft", + "marta", + "reimbursement", + ], + reimbursement: ["refund", "money", "reimburse", "travel"], + team: ["teams", "teammate", "teammates", "partner", "partners", "group"], + partner: ["team", "teammate", "group"], + workshop: ["workshops", "event", "events", "session", "sessions"], + activity: ["activities", "event", "events"], + track: ["tracks", "category", "categories", "theme"], + challenge: ["challenges", "problem", "problems"], + judge: ["judging", "judges", "evaluation", "scoring"], + bring: ["pack", "packing", "need", "needed", "essentials", "items"], }; - private static readonly STOP_WORDS = ["a", "an", "the", "do", "does", "is", "are", "can", "could", "would", "should"]; + private static readonly STOP_WORDS = [ + "a", + "an", + "the", + "do", + "does", + "is", + "are", + "can", + "could", + "would", + "should", + ]; static expandQuery(query: string): string { const words = this.tokenize(query); const allTerms = new Set(); for (const word of words) this.addWordAndSynonyms(word, allTerms); - return Array.from(allTerms).map(term => `'${term}`).join(" | "); + return Array.from(allTerms) + .map((term) => `'${term}`) + .join(" | "); } private static tokenize(query: string): string[] { @@ -63,21 +138,21 @@ class SynonymExpander { .toLowerCase() .replace(/[?.!,]/g, "") .split(/\s+/) - .filter(word => word.length > 1 && !this.STOP_WORDS.includes(word)); + .filter((word) => word.length > 1 && !this.STOP_WORDS.includes(word)); } private static addWordAndSynonyms(word: string, termSet: Set): void { termSet.add(word); - if (this.SYNONYMS[word]) this.SYNONYMS[word].forEach(s => termSet.add(s)); - const singular = word.endsWith('s') ? word.slice(0, -1) : null; + if (this.SYNONYMS[word]) this.SYNONYMS[word].forEach((s) => termSet.add(s)); + const singular = word.endsWith("s") ? word.slice(0, -1) : null; if (singular && this.SYNONYMS[singular]) { termSet.add(singular); - this.SYNONYMS[singular].forEach(s => termSet.add(s)); + this.SYNONYMS[singular].forEach((s) => termSet.add(s)); } for (const [key, synonymList] of Object.entries(this.SYNONYMS)) { if (synonymList.includes(word)) { termSet.add(key); - synonymList.forEach(s => termSet.add(s)); + synonymList.forEach((s) => termSet.add(s)); } } } @@ -92,24 +167,26 @@ class GuideSearchEngine { if (!this.fuse) throw new Error("Search index unavailable"); const expandedQuery = SynonymExpander.expandQuery(query); const results = this.fuse.search(expandedQuery); - return results.map(r => ({ item: r.item, score: r.score ?? 1 })); + return results.map((r) => ({ item: r.item, score: r.score ?? 1 })); } private async ensureIndexReady(): Promise { - if (this.fuse && (Date.now() - this.lastUpdated <= CACHE_TTL)) return; + if (this.fuse && Date.now() - this.lastUpdated <= CACHE_TTL) return; await this.rebuildIndex(); } private async rebuildIndex(): Promise { const rawSections = await getFullGuide(); - const searchData: SearchableSection[] = Object.entries(rawSections).map(([title, lines]) => ({ - title, - content: lines.join("\n") - })); + const searchData: SearchableSection[] = Object.entries(rawSections).map( + ([title, lines]) => ({ + title, + content: lines.join("\n"), + }), + ); this.fuse = new Fuse(searchData, { keys: [ { name: "title", weight: 3 }, - { name: "content", weight: 1 } + { name: "content", weight: 1 }, ], useExtendedSearch: true, threshold: 0.4, @@ -117,25 +194,29 @@ class GuideSearchEngine { includeScore: true, minMatchCharLength: 2, distance: 200, - findAllMatches: true + findAllMatches: true, }); this.lastUpdated = Date.now(); } } class SearchResultFormatter { - private static readonly EMBED_COLOR = 0xCBA135; + private static readonly EMBED_COLOR = 0xcba135; static formatEmbed(result: SearchResult): EmbedBuilder { return new EmbedBuilder() .setTitle(result.item.title) .setDescription(result.item.content || "No content available.") .setColor(this.EMBED_COLOR) - .setFooter({ text: `Match confidence: ${((1 - result.score) * 100).toFixed(0)}%` }); + .setFooter({ + text: `Match confidence: ${((1 - result.score) * 100).toFixed(0)}%`, + }); } static getWarningMessage(score: number): string | null { - return score > 0.5 ? "This might not be exactly what you're looking for, but it's the closest match I found:\n\n" : null; + return score > 0.5 + ? "This might not be exactly what you're looking for, but it's the closest match I found:\n\n" + : null; } static getNoResultsMessage(): string { @@ -148,29 +229,40 @@ const searchEngine = new GuideSearchEngine(); export const data = new SlashCommandBuilder() .setName("ask") .setDescription("Ask a question about Hacklytics 2026.") - .addStringOption(option => - option.setName("query").setDescription("What's your question?").setRequired(true) + .addStringOption((option) => + option + .setName("query") + .setDescription("What's your question?") + .setRequired(true), ); export async function execute(interaction: ChatInputCommandInteraction) { await interaction.deferReply({ ephemeral: true }); const rawQuery = interaction.options.getString("query"); - if (!rawQuery?.trim()) return interaction.editReply("Please provide a question."); + if (!rawQuery?.trim()) + return interaction.editReply("Please provide a question."); try { const results = await searchEngine.search(rawQuery); - if (results.length === 0) return interaction.editReply({ content: SearchResultFormatter.getNoResultsMessage() }); + if (results.length === 0) + return interaction.editReply({ + content: SearchResultFormatter.getNoResultsMessage(), + }); const topResult = results[0]; const embed = SearchResultFormatter.formatEmbed(topResult); - const warningMessage = SearchResultFormatter.getWarningMessage(topResult.score); + const warningMessage = SearchResultFormatter.getWarningMessage( + topResult.score, + ); await interaction.editReply({ content: warningMessage || undefined, - embeds: [embed] + embeds: [embed], }); } catch (error) { console.error("Search error:", error); - await interaction.editReply("Search system temporarily offline. Please try again or use /guide to browse sections."); + await interaction.editReply( + "Search system temporarily offline. Please try again or use /guide to browse sections.", + ); } } diff --git a/sites/discordBot/src/commands/clear.ts b/sites/discordBot/src/commands/clear.ts index 75f10db3..39ee9f3c 100644 --- a/sites/discordBot/src/commands/clear.ts +++ b/sites/discordBot/src/commands/clear.ts @@ -31,22 +31,21 @@ class PermissionValidator { private static getAllowedRoles(guild: Guild): Role[] { return guild.roles.cache - .filter(role => this.REQUIRED_ROLE_NAMES.includes(role.name)) - .map(role => role); + .filter((role) => this.REQUIRED_ROLE_NAMES.includes(role.name)) + .map((role) => role); } private static memberHasAnyRole(member: GuildMember, roles: Role[]): boolean { - return roles.some(role => member.roles.cache.has(role.id)); + return roles.some((role) => member.roles.cache.has(role.id)); } } class MessageCleaner { - private static readonly MAX_BULK_DELETE_AGE_MS = - 14 * 24 * 60 * 60 * 1000; + private static readonly MAX_BULK_DELETE_AGE_MS = 14 * 24 * 60 * 60 * 1000; static async clearMessages( channel: TextChannel, - amount: number + amount: number, ): Promise { try { const messages = await this.fetchMessages(channel, amount); @@ -60,10 +59,7 @@ class MessageCleaner { } const deletableMessages = this.filterDeletableMessages(messages); - const deletedMessages = await channel.bulkDelete( - deletableMessages, - true - ); + const deletedMessages = await channel.bulkDelete(deletableMessages, true); return { success: true, @@ -81,17 +77,17 @@ class MessageCleaner { private static async fetchMessages( channel: TextChannel, - limit: number + limit: number, ): Promise> { return channel.messages.fetch({ limit }); } private static filterDeletableMessages( - messages: Collection + messages: Collection, ): Collection { const now = Date.now(); - return messages.filter(msg => { + return messages.filter((msg) => { const messageAge = now - msg.createdTimestamp; return messageAge < this.MAX_BULK_DELETE_AGE_MS; }); @@ -111,9 +107,7 @@ class MessageCleaner { } class ClearCommandValidator { - static validateContext( - interaction: ChatInputCommandInteraction - ): { + static validateContext(interaction: ChatInputCommandInteraction): { valid: boolean; member?: GuildMember; guild?: Guild; @@ -149,7 +143,7 @@ class ClearCommandValidator { class ClearCommandExecutor { static async execute( - interaction: ChatInputCommandInteraction + interaction: ChatInputCommandInteraction, ): Promise { const validation = ClearCommandValidator.validateContext(interaction); @@ -182,13 +176,11 @@ class ClearCommandExecutor { content: result.deletedCount > 0 ? `Successfully deleted ${result.deletedCount} message(s).` - : result.error ?? "No messages deleted.", + : (result.error ?? "No messages deleted."), }); } else { await interaction.editReply({ - content: - result.error ?? - "An error occurred while deleting messages.", + content: result.error ?? "An error occurred while deleting messages.", }); } } @@ -197,17 +189,17 @@ class ClearCommandExecutor { export const data = new SlashCommandBuilder() .setName("clear") .setDescription("Clear messages from a channel (Organizers only).") - .addIntegerOption(option => + .addIntegerOption((option) => option .setName("amount") .setDescription("Number of messages to delete (1–50).") .setRequired(true) .setMinValue(1) - .setMaxValue(50) + .setMaxValue(50), ); export async function execute( - interaction: ChatInputCommandInteraction + interaction: ChatInputCommandInteraction, ): Promise { await ClearCommandExecutor.execute(interaction); } diff --git a/sites/discordBot/src/commands/guide.ts b/sites/discordBot/src/commands/guide.ts index a678ed5b..6ecee22d 100644 --- a/sites/discordBot/src/commands/guide.ts +++ b/sites/discordBot/src/commands/guide.ts @@ -4,7 +4,7 @@ import { StringSelectMenuBuilder, ActionRowBuilder, StringSelectMenuInteraction, - EmbedBuilder + EmbedBuilder, } from "discord.js"; import { getFullGuide, GuideSections } from "../notion.js"; @@ -23,10 +23,12 @@ class Guide { } static getSelectMenuOptions(sections: GuideSections) { - return Object.keys(sections).slice(0, 25).map(label => ({ - label: label.substring(0, 100), - value: label.substring(0, 100), - })); + return Object.keys(sections) + .slice(0, 25) + .map((label) => ({ + label: label.substring(0, 100), + value: label.substring(0, 100), + })); } static formatContent(lines?: string[]): string { @@ -51,7 +53,7 @@ export async function execute(interaction: CommandInteraction) { new StringSelectMenuBuilder() .setCustomId("guide_select") .setPlaceholder("Select a topic") - .addOptions(options) + .addOptions(options), ); await interaction.editReply({ @@ -60,7 +62,9 @@ export async function execute(interaction: CommandInteraction) { }); } -export async function handleSelectMenu(interaction: StringSelectMenuInteraction) { +export async function handleSelectMenu( + interaction: StringSelectMenuInteraction, +) { await interaction.deferUpdate(); const selection = interaction.values[0]; diff --git a/sites/discordBot/src/commands/meow.ts b/sites/discordBot/src/commands/meow.ts index fa9423a9..e6b8d235 100644 --- a/sites/discordBot/src/commands/meow.ts +++ b/sites/discordBot/src/commands/meow.ts @@ -1,4 +1,8 @@ -import { SlashCommandBuilder, ChatInputCommandInteraction, MessageFlags } from "discord.js"; +import { + SlashCommandBuilder, + ChatInputCommandInteraction, + MessageFlags, +} from "discord.js"; export const data = new SlashCommandBuilder() .setName("meow") @@ -21,7 +25,7 @@ export async function execute(interaction: ChatInputCommandInteraction) { cooldownUsers.add(userId); setTimeout(() => cooldownUsers.delete(userId), COOLDOWN_MS); - const emoji = interaction.guild?.emojis.cache.find(e => e.name === "image"); + const emoji = interaction.guild?.emojis.cache.find((e) => e.name === "image"); await interaction.reply({ content: `no more MEOWS ${emoji ?? ""}`, }); diff --git a/sites/discordBot/src/commands/roles.ts b/sites/discordBot/src/commands/roles.ts index 6e6fe6e8..caedf7ba 100644 --- a/sites/discordBot/src/commands/roles.ts +++ b/sites/discordBot/src/commands/roles.ts @@ -62,7 +62,7 @@ export async function execute(interaction: CommandInteraction) { !r.managed && r.id !== guild.id && r.position < botMember.roles.highest.position && - !BLOCKED_ROLES.includes(r.name) + !BLOCKED_ROLES.includes(r.name), ) .sort((a, b) => b.position - a.position) .first(25); @@ -93,9 +93,11 @@ export async function execute(interaction: CommandInteraction) { } export async function handleButton(interaction: Interaction) { - if (!interaction.isButton() || !interaction.guild || !interaction.member) return; + if (!interaction.isButton() || !interaction.guild || !interaction.member) + return; - const memberRoles = (interaction.member as GuildMember).roles as GuildMemberRoleManager; + const memberRoles = (interaction.member as GuildMember) + .roles as GuildMemberRoleManager; const roleId = interaction.customId.replace("role_", ""); const role = interaction.guild.roles.cache.get(roleId); diff --git a/sites/discordBot/src/commands/startEvent.ts b/sites/discordBot/src/commands/startEvent.ts index aae99cec..ee2cb376 100644 --- a/sites/discordBot/src/commands/startEvent.ts +++ b/sites/discordBot/src/commands/startEvent.ts @@ -19,7 +19,7 @@ class EventScheduler { static calculateDelay(hours: number, minutes: number): number { const now = new Date(); const nowEST = new Date( - now.toLocaleString("en-US", { timeZone: this.EST_TIMEZONE }) + now.toLocaleString("en-US", { timeZone: this.EST_TIMEZONE }), ); const target = new Date(nowEST); @@ -41,30 +41,31 @@ export const data = new SlashCommandBuilder() .setName("start") .setDescription("Announce or schedule an event") .setDefaultMemberPermissions(PermissionFlagsBits.Administrator) - .addChannelOption(option => + .addChannelOption((option) => option .setName("channel") .setDescription("Channel where the announcement will be sent") .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement) - .setRequired(false) + .setRequired(false), ) - .addRoleOption(option => + .addRoleOption((option) => option .setName("role") .setDescription("Role to notify when the event is announced") - .setRequired(false) + .setRequired(false), ) - .addStringOption(option => - option - .setName("message") - .setDescription("The announcement message") - .setRequired(false) // Validation logic handles requirement to allow optional Role before required Message + .addStringOption( + (option) => + option + .setName("message") + .setDescription("The announcement message") + .setRequired(false), // Validation logic handles requirement to allow optional Role before required Message ) - .addStringOption(option => + .addStringOption((option) => option .setName("start_time") .setDescription("Scheduled start time in EST (HH:mm, 24-hour format)") - .setRequired(false) + .setRequired(false), ); export async function execute(interaction: ChatInputCommandInteraction) { @@ -77,7 +78,8 @@ export async function execute(interaction: ChatInputCommandInteraction) { if (!messageContent) { return interaction.reply({ - content: "You initiate a start command but didn't provide a message what is wrong with you?", + content: + "You initiate a start command but didn't provide a message what is wrong with you?", ephemeral: true, }); } @@ -103,7 +105,7 @@ export async function execute(interaction: ChatInputCommandInteraction) { const delay = EventScheduler.calculateDelay( parsedTime.hours, - parsedTime.minutes + parsedTime.minutes, ); setTimeout(sendAnnouncement, delay); diff --git a/sites/discordBot/src/env.ts b/sites/discordBot/src/env.ts index 768b2f81..21992241 100644 --- a/sites/discordBot/src/env.ts +++ b/sites/discordBot/src/env.ts @@ -15,4 +15,4 @@ const envSchema = z.object({ NOTION_GUIDE_PAGE_ID: z.string().min(1), }); -export const env = envSchema.parse(process.env); \ No newline at end of file +export const env = envSchema.parse(process.env); diff --git a/sites/discordBot/src/index.ts b/sites/discordBot/src/index.ts index 6984cbf3..6d0d066f 100644 --- a/sites/discordBot/src/index.ts +++ b/sites/discordBot/src/index.ts @@ -66,7 +66,9 @@ class Bot { if (command?.data && typeof command.execute === "function") { this.commands.push(command); } else { - console.warn(` [WARNING] Skipping ${file}: Missing 'data' or 'execute' exports`); + console.warn( + ` [WARNING] Skipping ${file}: Missing 'data' or 'execute' exports`, + ); } } catch (err) { console.error(` [ERROR] Failed to load ${file}:`, err); @@ -106,8 +108,12 @@ class Bot { } } - private async handleSlashCommand(interaction: CommandInteraction): Promise { - const command = this.commands.find((c) => c.data.name === interaction.commandName); + private async handleSlashCommand( + interaction: CommandInteraction, + ): Promise { + const command = this.commands.find( + (c) => c.data.name === interaction.commandName, + ); if (!command) return; try { @@ -126,7 +132,9 @@ class Bot { } } - private async handleSelectMenu(interaction: StringSelectMenuInteraction): Promise { + private async handleSelectMenu( + interaction: StringSelectMenuInteraction, + ): Promise { const commandName = interaction.customId.split("_")[0]; const command = this.commands.find((c) => c.data.name === commandName); @@ -137,7 +145,10 @@ class Bot { } catch (err) { console.error("Select menu error:", err); if (!interaction.replied) { - await interaction.reply({ content: "[WARNING] Menu interaction failed.", ephemeral: true }); + await interaction.reply({ + content: "[WARNING] Menu interaction failed.", + ephemeral: true, + }); } } } @@ -154,33 +165,50 @@ class Bot { const role = interaction.guild?.roles.cache.get(roleId); if (!role) { - await interaction.reply({ content: "Role not found.", ephemeral: true }); + await interaction.reply({ + content: "Role not found.", + ephemeral: true, + }); return; } try { if (member.roles.cache.has(roleId)) { await member.roles.remove(roleId); - await interaction.reply({ content: `Removed **${role.name}**.`, ephemeral: true }); + await interaction.reply({ + content: `Removed **${role.name}**.`, + ephemeral: true, + }); } else { await member.roles.add(roleId); - await interaction.reply({ content: `Added **${role.name}**.`, ephemeral: true }); + await interaction.reply({ + content: `Added **${role.name}**.`, + ephemeral: true, + }); } } catch { - await interaction.reply({ content: "Missing permissions to manage that role.", ephemeral: true }); + await interaction.reply({ + content: "Missing permissions to manage that role.", + ephemeral: true, + }); } return; } // Then delegate to command handlers - const commandWithButton = this.commands.find((c) => typeof c.handleButton === "function"); + const commandWithButton = this.commands.find( + (c) => typeof c.handleButton === "function", + ); if (commandWithButton?.handleButton) { try { await commandWithButton.handleButton(interaction); } catch (err) { console.error("Button error:", err); if (!interaction.replied) { - await interaction.reply({ content: "[WARNING] Button interaction failed.", ephemeral: true }); + await interaction.reply({ + content: "[WARNING] Button interaction failed.", + ephemeral: true, + }); } } } @@ -198,15 +226,18 @@ process.on("SIGTERM", () => { process.exit(0); }); -bot.start().then(() => { - // Start dummy HTTP server for Cloud Run health checks - const port = process.env.PORT || 8080; - const server = http.createServer((req, res) => { - res.writeHead(200); - res.end("Discord Bot is running"); +bot + .start() + .then(() => { + // Start dummy HTTP server for Cloud Run health checks + const port = process.env.PORT || 8080; + const server = http.createServer((req, res) => { + res.writeHead(200); + res.end("Discord Bot is running"); + }); + server.listen(port, () => {}); + }) + .catch((err) => { + console.error("Fatal startup error:", err); + process.exit(1); }); - server.listen(port, () => {}); -}).catch((err) => { - console.error("Fatal startup error:", err); - process.exit(1); -}); diff --git a/sites/discordBot/src/notion.ts b/sites/discordBot/src/notion.ts index 3769880b..bb60e1a8 100644 --- a/sites/discordBot/src/notion.ts +++ b/sites/discordBot/src/notion.ts @@ -70,7 +70,9 @@ async function getBlockChildren(blockId: string): Promise { } function extractText(block: NotionBlock): string { - const content = block[block.type] as { rich_text?: RichTextSegment[] } | undefined; + const content = block[block.type] as + | { rich_text?: RichTextSegment[] } + | undefined; if (!content?.rich_text?.length) return ""; const text = content.rich_text @@ -85,7 +87,9 @@ function extractText(block: NotionBlock): string { } if (seg.href) { - const url = seg.href.startsWith("/") ? `https://notion.so${seg.href}` : seg.href; + const url = seg.href.startsWith("/") + ? `https://notion.so${seg.href}` + : seg.href; return seg.plain_text.trim() === url ? url : `[${t.trim()}](${url})`; } @@ -161,4 +165,4 @@ export async function getFullGuide(): Promise { } return sections; -} \ No newline at end of file +} diff --git a/sites/discordBot/src/tests/testAsk.ts b/sites/discordBot/src/tests/testAsk.ts index 06069581..71d5fbfd 100644 --- a/sites/discordBot/src/tests/testAsk.ts +++ b/sites/discordBot/src/tests/testAsk.ts @@ -1,183 +1,223 @@ // src/tests/testAll.ts -import fs from 'fs'; -import path from 'path'; -import { fileURLToPath } from 'url'; +import fs from "fs"; +import path from "path"; +import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // --- THE NASTY LIST --- const edgeCases = [ - "", - " ", - "a".repeat(2005), - "DROP TABLE users; --", - "", - "{{7*7}}", - "\\u0000", - "undefined", - "NaN", - "unicode_test_accents_and_foreign_chars_汉字", - "zalgo_t̹e̖x̗t", - "__proto__", // The one that broke 'ask.ts' - "$$$$$$$$", + "", + " ", + "a".repeat(2005), + "DROP TABLE users; --", + "", + "{{7*7}}", + "\\u0000", + "undefined", + "NaN", + "unicode_test_accents_and_foreign_chars_汉字", + "zalgo_t̹e̖x̗t", + "__proto__", // The one that broke 'ask.ts' + "$$$$$$$$", ]; class MockInteraction { - commandName: string; - optionsMap: Map; - replied: boolean = false; - deferred: boolean = false; - logs: string[] = []; - - channelId = "channel-123"; - user = { id: "user-999", username: "TestUser", discriminator: "0000" }; - - constructor(commandName: string, optionsData: Record = {}) { - this.commandName = commandName; - this.optionsMap = new Map(Object.entries(optionsData)); - } - - isChatInputCommand() { return true; } - isButton() { return false; } - isStringSelectMenu() { return false; } - - get options() { - return { - getString: (name: string) => this.optionsMap.get(name) ?? null, - getInteger: (name: string) => this.optionsMap.get(name) ?? 0, - getBoolean: (name: string) => this.optionsMap.get(name) ?? false, - getRole: (name: string) => ({ id: "role-123", name: "MockRole", toString: () => "<@&role-123>" }), - getChannel: (name: string) => this._createMockChannel("channel-target"), - getUser: (name: string) => this.user, - }; - } - - // --- 1. MOCK CLIENT (Fixes crashes accessing client.user, client.uptime, etc) --- - get client() { - return { - user: { id: "bot-id", username: "HackBot" }, - uptime: 1000, - users: { - cache: { - get: (id: string) => ({ id, username: "MockUser" }), - has: (id: string) => true - } - }, - guilds: { - cache: { - get: (id: string) => this.guild - } - } - }; - } - - // --- 2. MOCK GUILD (Fixes crashes accessing guild.members.cache) --- - get guild() { - return { - id: "guild-001", - name: "Hacklytics Guild", - members: { - cache: { - get: (id: string) => ({ id, user: { username: "Member" }, roles: { cache: [] } }), - find: (fn: Function) => null, - has: (id: string) => true - }, - // In case command uses .fetch() - fetch: async (id: string) => ({ id, user: { username: "FetchedMember" } }) - }, - roles: { - cache: { - get: (id: string) => ({ id, name: "some-role" }), - find: () => null - } - } - }; - } - - get channel() { return this._createMockChannel("channel-current"); } - - _createMockChannel(id: string) { - return { + commandName: string; + optionsMap: Map; + replied: boolean = false; + deferred: boolean = false; + logs: string[] = []; + + channelId = "channel-123"; + user = { id: "user-999", username: "TestUser", discriminator: "0000" }; + + constructor(commandName: string, optionsData: Record = {}) { + this.commandName = commandName; + this.optionsMap = new Map(Object.entries(optionsData)); + } + + isChatInputCommand() { + return true; + } + isButton() { + return false; + } + isStringSelectMenu() { + return false; + } + + get options() { + return { + getString: (name: string) => this.optionsMap.get(name) ?? null, + getInteger: (name: string) => this.optionsMap.get(name) ?? 0, + getBoolean: (name: string) => this.optionsMap.get(name) ?? false, + getRole: (name: string) => ({ + id: "role-123", + name: "MockRole", + toString: () => "<@&role-123>", + }), + getChannel: (name: string) => this._createMockChannel("channel-target"), + getUser: (name: string) => this.user, + }; + } + + // --- 1. MOCK CLIENT (Fixes crashes accessing client.user, client.uptime, etc) --- + get client() { + return { + user: { id: "bot-id", username: "HackBot" }, + uptime: 1000, + users: { + cache: { + get: (id: string) => ({ id, username: "MockUser" }), + has: (id: string) => true, + }, + }, + guilds: { + cache: { + get: (id: string) => this.guild, + }, + }, + }; + } + + // --- 2. MOCK GUILD (Fixes crashes accessing guild.members.cache) --- + get guild() { + return { + id: "guild-001", + name: "Hacklytics Guild", + members: { + cache: { + get: (id: string) => ({ id, - name: "general", - isTextBased: () => true, - send: async (payload: any) => { - const content = typeof payload === 'string' ? payload : payload.content; - this._log(`[CHANNEL_SEND] to #${id}: ${content}`); - return { id: "msg-123" }; - } - }; - } - - async deferReply(opts?: any) { - this.deferred = true; - this._log(`[DEFER] Ephemeral: ${opts?.ephemeral ?? false}`); - } - - async reply(response: any) { - if (this.replied) throw new Error("Double Reply Detected!"); - this.replied = true; - this._extractContent("REPLY", response); - } - - async editReply(response: any) { - this._extractContent("EDIT_REPLY", response); - } - - async followUp(response: any) { - this._extractContent("FOLLOW_UP", response); - } - - async deferUpdate() { this._log("[DEFER_UPDATE]"); } - - _extractContent(type: string, response: any) { - let text = ""; - if (typeof response === 'string') text = response; - else if (response?.content) text = response.content; - else if (response?.embeds?.[0]) text = `[Embed] ${response.embeds[0].data.title}`; - else text = "[Complex Object]"; - - this._log(`[${type}] ${text.substring(0, 60).replace(/\n/g, ' ')}...`); - } - - _log(msg: string) { this.logs.push(msg); } + user: { username: "Member" }, + roles: { cache: [] }, + }), + find: (fn: Function) => null, + has: (id: string) => true, + }, + // In case command uses .fetch() + fetch: async (id: string) => ({ + id, + user: { username: "FetchedMember" }, + }), + }, + roles: { + cache: { + get: (id: string) => ({ id, name: "some-role" }), + find: () => null, + }, + }, + }; + } + + get channel() { + return this._createMockChannel("channel-current"); + } + + _createMockChannel(id: string) { + return { + id, + name: "general", + isTextBased: () => true, + send: async (payload: any) => { + const content = typeof payload === "string" ? payload : payload.content; + this._log(`[CHANNEL_SEND] to #${id}: ${content}`); + return { id: "msg-123" }; + }, + }; + } + + async deferReply(opts?: any) { + this.deferred = true; + this._log(`[DEFER] Ephemeral: ${opts?.ephemeral ?? false}`); + } + + async reply(response: any) { + if (this.replied) throw new Error("Double Reply Detected!"); + this.replied = true; + this._extractContent("REPLY", response); + } + + async editReply(response: any) { + this._extractContent("EDIT_REPLY", response); + } + + async followUp(response: any) { + this._extractContent("FOLLOW_UP", response); + } + + async deferUpdate() { + this._log("[DEFER_UPDATE]"); + } + + _extractContent(type: string, response: any) { + let text = ""; + if (typeof response === "string") text = response; + else if (response?.content) text = response.content; + else if (response?.embeds?.[0]) + text = `[Embed] ${response.embeds[0].data.title}`; + else text = "[Complex Object]"; + + this._log(`[${type}] ${text.substring(0, 60).replace(/\n/g, " ")}...`); + } + + _log(msg: string) { + this.logs.push(msg); + } } async function runSuite() { - const commandsPath = path.join(__dirname, '../commands'); - const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.ts')); - - for (const file of commandFiles) { - const filePath = path.join(commandsPath, file); - const commandName = file.replace('.ts', ''); - - try { - const module = await import(`file://${filePath}`); - if (!module.execute) continue; - - const happyInputs = { query: "food", event_name: "Test Event", channel: "announcements", input: "test" }; - await runTest(module, commandName, happyInputs, "[SUCCESS] Happy Path"); - - for (const evil of edgeCases) { - const evilInputs = { query: evil, event_name: evil, start_time: evil, input: evil }; - await runTest(module, commandName, evilInputs, `[FUZZ] Fuzz: "${evil.substring(0,10)}..."`); - } - } catch (error) { - console.error(` [ERROR] FATAL LOAD ERROR: ${file}`, error); - } + const commandsPath = path.join(__dirname, "../commands"); + const commandFiles = fs + .readdirSync(commandsPath) + .filter((file) => file.endsWith(".ts")); + + for (const file of commandFiles) { + const filePath = path.join(commandsPath, file); + const commandName = file.replace(".ts", ""); + + try { + const module = await import(`file://${filePath}`); + if (!module.execute) continue; + + const happyInputs = { + query: "food", + event_name: "Test Event", + channel: "announcements", + input: "test", + }; + await runTest(module, commandName, happyInputs, "[SUCCESS] Happy Path"); + + for (const evil of edgeCases) { + const evilInputs = { + query: evil, + event_name: evil, + start_time: evil, + input: evil, + }; + await runTest( + module, + commandName, + evilInputs, + `[FUZZ] Fuzz: "${evil.substring(0, 10)}..."`, + ); + } + } catch (error) { + console.error(` [ERROR] FATAL LOAD ERROR: ${file}`, error); } + } } async function runTest(module: any, name: string, inputs: any, label: string) { - const mock = new MockInteraction(name, inputs); - try { - await module.execute(mock); - mock.logs.length === 0; - } catch (err: any) { - console.error(` [ERROR] CRASH | ${label}`); - console.error(` Stack: ${err.message.split('\n')[0]}`); - } + const mock = new MockInteraction(name, inputs); + try { + await module.execute(mock); + } catch (err: any) { + console.error(` [ERROR] CRASH | ${label}`); + console.error(` Stack: ${err.message.split("\n")[0]}`); + } } -runSuite(); \ No newline at end of file +runSuite(); diff --git a/sites/discordBot/temp_checkin.cjs b/sites/discordBot/temp_checkin.cjs index 06ad9088..94448080 100644 --- a/sites/discordBot/temp_checkin.cjs +++ b/sites/discordBot/temp_checkin.cjs @@ -1,22 +1,25 @@ -const https = require('https'); +const https = require("https"); const token = process.env.NOTION_API_TOKEN; -const pageId = '2aac5c7f-72ad-80bf-a0f9-c66c9626abfb'; +const pageId = "2aac5c7f-72ad-80bf-a0f9-c66c9626abfb"; function getChildren(id) { - return new Promise(resolve => { - https.get({ - hostname: 'api.notion.com', - path: '/v1/blocks/' + id + '/children', - headers: { - Authorization: 'Bearer ' + token, - 'Notion-Version': '2022-06-28' - } - }, res => { - let data = ''; - res.on('data', chunk => data += chunk); - res.on('end', () => resolve(JSON.parse(data).results)); - }); + return new Promise((resolve) => { + https.get( + { + hostname: "api.notion.com", + path: "/v1/blocks/" + id + "/children", + headers: { + Authorization: "Bearer " + token, + "Notion-Version": "2022-06-28", + }, + }, + (res) => { + let data = ""; + res.on("data", (chunk) => (data += chunk)); + res.on("end", () => resolve(JSON.parse(data).results)); + }, + ); }); } @@ -25,14 +28,14 @@ async function printCheckIn(id) { let inCheckIn = false; for (let i = 0; i < children.length; i++) { const b = children[i]; - const text = (b[b.type]?.rich_text || []).map(x => x.plain_text).join(''); - if (b.type === 'heading_1' && text.includes('Check In')) { + const text = (b[b.type]?.rich_text || []).map((x) => x.plain_text).join(""); + if (b.type === "heading_1" && text.includes("Check In")) { inCheckIn = true; - console.log('??? ' + text); + console.log("??? " + text); continue; } if (inCheckIn) { - if (b.type === 'heading_1') break; // stop at next heading_1 + if (b.type === "heading_1") break; // stop at next heading_1 console.log(text); } } diff --git a/sites/discordBot/tsconfig.json b/sites/discordBot/tsconfig.json index 8b2601f0..68c2c417 100644 --- a/sites/discordBot/tsconfig.json +++ b/sites/discordBot/tsconfig.json @@ -11,18 +11,11 @@ "resolveJsonModule": true, "skipLibCheck": true, "allowSyntheticDefaultImports": true, - "types": [ - "node" - ], + "types": ["node"], "forceConsistentCasingInFileNames": true, "declaration": true, "sourceMap": true }, - "include": [ - "src/**/*" - ], - "exclude": [ - "node_modules", - "dist" - ] -} \ No newline at end of file + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/sites/hacklytics2027/.firebaserc b/sites/hacklytics2027/.firebaserc deleted file mode 100644 index 103f4582..00000000 --- a/sites/hacklytics2027/.firebaserc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "projects": { - "default": "dsgt-website" - } -} diff --git a/sites/hacklytics2027/app/CodeOfConductFooter.tsx b/sites/hacklytics2027/app/CodeOfConductFooter.tsx index 8e0dd452..036062d2 100644 --- a/sites/hacklytics2027/app/CodeOfConductFooter.tsx +++ b/sites/hacklytics2027/app/CodeOfConductFooter.tsx @@ -8,7 +8,9 @@ export default function CodeOfConductFooter() { {open && (
- MLH Code of Conduct + + MLH Code of Conduct +
- TL;DR. Be respectful. Harassment and abuse are never tolerated. If you are in a situation that makes you uncomfortable at an MLH Member Event, if the event itself creates an unsafe or inappropriate environment, or if interacting with an MLH representative or event organizer makes you uncomfortable, please report it using the procedures included in this document. - -

Major League Hacking (MLH) stands for inclusivity. We believe that every single person has the right to hack in a safe and welcoming environment.

- -

Harassment includes but is not limited to offensive verbal or written comments related to gender, age, sexual orientation, disability, physical appearance, body size, race, religion, social class, economic status, and veteran status. Additional cases of harassment include but are not limited to sharing sexual images, violent depictions, vulgar language, deliberate intimidation, stalking, following, brigading, doxxing, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

- -

In particular, attendees should not use sexualized images, activities, or other material both in their hacks and during the event. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes or otherwise create a sexualized environment.

- -

If what you're doing is making someone feel uncomfortable, that counts as harassment and is enough reason to stop doing it. Participants asked to stop any harassing behavior are expected to comply immediately.

- -

Sponsors, judges, mentors, volunteers, organizers, MLH staff, and anyone else participating in the event are also subject to the anti-harassment policy.

- -

If a participant engages in harassing behavior, MLH may take any action it deems appropriate, including warning the offender or expulsion from the event with no eligibility for reimbursement or refund of any type.

- -

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact MLH using the reporting procedures defined below.

- -

MLH representatives can help participants contact campus security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the event. We value your attendance.

- -

We expect participants to follow these rules at all hackathon venues, hackathon-related social events, hackathon-supplied transportation, and online interactions related to the event.

- - Reporting Procedures -

If you feel uncomfortable or think there may be a potential violation of the code of conduct, please report it immediately using one of the following methods. All reporters have the right to remain anonymous.

-

By sending information to the general reporting line, your report will go to our incident response team members.

- + + TL;DR. Be respectful. Harassment and abuse are never tolerated. If + you are in a situation that makes you uncomfortable at an MLH + Member Event, if the event itself creates an unsafe or + inappropriate environment, or if interacting with an MLH + representative or event organizer makes you uncomfortable, please + report it using the procedures included in this document. + + +

+ Major League Hacking (MLH) stands for inclusivity. We believe that + every single person has the right to hack in a safe and welcoming + environment. +

+ +

+ Harassment includes but is not limited to offensive verbal or + written comments related to gender, age, sexual orientation, + disability, physical appearance, body size, race, religion, social + class, economic status, and veteran status. Additional cases of + harassment include but are not limited to sharing sexual images, + violent depictions, vulgar language, deliberate intimidation, + stalking, following, brigading, doxxing, harassing photography or + recording, sustained disruption of talks or other events, + inappropriate physical contact, and unwelcome sexual attention. +

+ +

+ In particular, attendees should not use sexualized images, + activities, or other material both in their hacks and during the + event. Booth staff (including volunteers) should not use + sexualized clothing/uniforms/costumes or otherwise create a + sexualized environment. +

+ +

+ If what you're doing is making someone feel uncomfortable, that + counts as harassment and is enough reason to stop doing it. + Participants asked to stop any harassing behavior are expected to + comply immediately. +

+ +

+ Sponsors, judges, mentors, volunteers, organizers, MLH staff, and + anyone else participating in the event are also subject to the + anti-harassment policy. +

+ +

+ If a participant engages in harassing behavior, MLH may take any + action it deems appropriate, including warning the offender or + expulsion from the event with no eligibility for reimbursement or + refund of any type. +

+ +

+ If you are being harassed, notice that someone else is being + harassed, or have any other concerns, please contact MLH using the + reporting procedures defined below. +

+ +

+ MLH representatives can help participants contact campus security + or local law enforcement, provide escorts, or otherwise assist + those experiencing harassment to feel safe for the duration of the + event. We value your attendance. +

+ +

+ We expect participants to follow these rules at all hackathon + venues, hackathon-related social events, hackathon-supplied + transportation, and online interactions related to the event. +

+ + + Reporting Procedures + +

+ If you feel uncomfortable or think there may be a potential + violation of the code of conduct, please report it immediately + using one of the following methods. All reporters have the right + to remain anonymous. +

+

+ By sending information to the general reporting line, your report + will go to our incident response team members. +

+
    -
  • North America General Reporting - +1 409 202 6060, incidents@mlh.io
  • -
  • Canada General Reporting - +1 343 453 4532, incidents@mlh.io
  • -
  • Europe General Reporting - +44 800 808 5675, incidents@mlh.io
  • -
  • Asia-Pacific General Reporting - +91 000 80004 02492, incidents@mlh.io
  • -
  • India General Reporting - 000 80004 02492, incidents@mlh.io
  • +
  • + + North America General Reporting + {" "} + - +1 409 202 6060, incidents@mlh.io +
  • +
  • + Canada General Reporting - + +1 343 453 4532, incidents@mlh.io +
  • +
  • + Europe General Reporting - + +44 800 808 5675, incidents@mlh.io +
  • +
  • + + Asia-Pacific General Reporting + {" "} + - +91 000 80004 02492, incidents@mlh.io +
  • +
  • + India General Reporting - + 000 80004 02492, incidents@mlh.io +
- - Special Incidents -

If you are uncomfortable reporting your situation to one or more of these people or need to contact any of them directly in case of emergency, direct contact details are listed below.

- + + + Special Incidents + +

+ If you are uncomfortable reporting your situation to one or more + of these people or need to contact any of them directly in case of + emergency, direct contact details are listed below. +

+
    -
  • Mary Siebert - +1 (516) 362-1835, mary@mlh.io
  • -
  • Swift - +1 (347) 220-8667, swift@mlh.io
  • +
  • + Mary Siebert - +1 (516) + 362-1835, mary@mlh.io +
  • +
  • + Swift - +1 (347) 220-8667, + swift@mlh.io +
- -

MLH reserves the right to revise, make exceptions to, or otherwise amend these policies in whole or in part. If you have any questions regarding these policies, please contact MLH by e-mail at incidents@mlh.io.

- - This document was last updated on: February 14th 2025 + +

+ MLH reserves the right to revise, make exceptions to, or otherwise + amend these policies in whole or in part. If you have any + questions regarding these policies, please contact MLH by e-mail + at incidents@mlh.io. +

+ + + This document was last updated on: February 14th 2025 +
)} @@ -70,8 +174,8 @@ export default function CodeOfConductFooter() { aria-expanded={open} aria-controls="code-of-conduct-content" > - {open ? 'Hide Code of Conduct' : 'View Code of Conduct'} + {open ? "Hide Code of Conduct" : "View Code of Conduct"}
); -} \ No newline at end of file +} diff --git a/sites/hacklytics2027/app/globals.css b/sites/hacklytics2027/app/globals.css index a982ee06..45511348 100644 --- a/sites/hacklytics2027/app/globals.css +++ b/sites/hacklytics2027/app/globals.css @@ -1,6 +1,4 @@ -/* app/globals.css - Cybernetic Digital Bloom Theme */ - -/* This must be the first line. It imports all of Tailwind's styles. */ +/* app/globals.css — Digital Bloom Theme */ @import "tailwindcss"; @theme inline { @@ -12,89 +10,30 @@ } :root { - /* Cybernetic Theme Base */ - --color-bg: #030408; - --color-text: #f5f5f7; - --color-gridline: rgba(255, 255, 255, 0.05); /* very subtle if needed */ - - /* Digital Bloom Glowing Accent Colors */ - --bloom-pink: #ff007f; - --bloom-cyan: #00f3ff; - --bloom-lime: #ccff00; - --bloom-purple: #9d00ff; + --color-bg: #030305; + --color-text: #f0f0f2; + --color-gridline: rgba(255, 255, 255, 0.05); + + --bloom-pink: #ff2d78; + --bloom-cyan: #00e5ff; + --bloom-lime: #c8ff00; + --bloom-purple: #9b00ff; - /* Font Configurations */ - --font-family-mono: 'Roboto Mono', monospace; - --font-family-sans: 'Space Grotesk', sans-serif; + --font-family-mono: "Roboto Mono", monospace; + --font-family-sans: "Space Grotesk", sans-serif; - /* Layout */ - --navbar-height: 80px; + --navbar-height: 72px; } +/* ─── Base ─── */ +html { scroll-behavior: smooth; } + body { background-color: var(--color-bg); - background-image: - radial-gradient(circle at 15% 50%, rgba(255, 0, 127, 0.05), transparent 40%), - radial-gradient(circle at 85% 30%, rgba(0, 243, 255, 0.05), transparent 40%), - radial-gradient(circle at 50% 80%, rgba(157, 0, 255, 0.03), transparent 50%), - linear-gradient(180deg, #030408 0%, #0a0a0f 100%); - background-size: cover; - background-position: center; - background-attachment: fixed; color: var(--color-text); font-family: var(--font-family-sans); overflow-x: hidden; - position: relative; -} - -body::before { - content: ''; - position: fixed; - top: 0; left: 0; right: 0; bottom: 0; - background: radial-gradient(circle at center, transparent 0%, #030408 100%); - z-index: -1; - pointer-events: none; -} - -@layer utilities { - .bg-noise { - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); - opacity: 0.05; - pointer-events: none; - } - - /* Glassmorphism Panels */ - .glass-panel { - background: rgba(11, 12, 16, 0.4); - border: 1px solid rgba(255, 255, 255, 0.05); - box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); - border-radius: 24px; - } - - .glass-navbar { - background: rgba(11, 12, 16, 0.7); - border-bottom: 1px solid rgba(255, 255, 255, 0.05); - border-radius: 24px; - } - - .glass-card { - background: rgba(255, 255, 255, 0.02); - border: 1px solid rgba(255, 255, 255, 0.05); - border-radius: 16px; - box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); - } - - /* Digital Bloom Glow Effects */ - .bloom-glow-pink { box-shadow: 0 0 20px rgba(255, 0, 127, 0.4), 0 0 40px rgba(255, 0, 127, 0.2); } - .bloom-glow-cyan { box-shadow: 0 0 20px rgba(0, 243, 255, 0.4), 0 0 40px rgba(0, 243, 255, 0.2); } - .bloom-glow-lime { box-shadow: 0 0 20px rgba(204, 255, 0, 0.4), 0 0 40px rgba(204, 255, 0, 0.2); } - .bloom-text-glow { text-shadow: 0 0 10px rgba(0, 243, 255, 0.8), 0 0 20px rgba(0, 243, 255, 0.4); } - - /* Hover effects */ - .hover-bloom-glow:hover { - border-color: var(--bloom-cyan); - box-shadow: 0 0 15px rgba(0, 243, 255, 0.4), inset 0 0 10px rgba(0, 243, 255, 0.2); - } + -webkit-font-smoothing: antialiased; } ::selection { @@ -102,210 +41,106 @@ body::before { color: var(--color-bg); } -/* ─── Flower Bloom Animations ─── */ -@keyframes bloomPetal { - 0% { - transform: scale(0) rotate(30deg); - opacity: 0; - } - 60% { - opacity: 1; - } - 100% { - transform: scale(1) rotate(0deg); - opacity: 1; - } -} - -@keyframes petalBreath { - 0% { - transform: scale(1); - filter: brightness(1); - } - 100% { - transform: scale(1.06); - filter: brightness(1.25); - } +/* ─── Typography ─── */ +.font-display { + font-family: var(--font-family-sans); + font-weight: 700; + letter-spacing: -0.04em; + line-height: 0.9; } -@keyframes stamenPulse { - 0% { - opacity: 0.3; - } - 100% { - opacity: 0.9; - } +/* ─── Glass Surfaces — used sparingly ─── */ +.glass { + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.08); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); } -@keyframes bloomSpin { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } +/* Navbar glass — slightly more opaque */ +.glass-nav { + background: rgba(5, 5, 8, 0.85); + border-bottom: 1px solid rgba(255, 255, 255, 0.06); + backdrop-filter: blur(20px); + -webkit-backdrop-filter: blur(20px); } -/* ─── Floating Flower Animations ─── */ +/* ─── Glow utilities — used intentionally, not everywhere ─── */ +.glow-pink { box-shadow: 0 0 32px rgba(255, 45, 120, 0.35); } +.glow-cyan { box-shadow: 0 0 32px rgba(0, 229, 255, 0.35); } +.glow-lime { box-shadow: 0 0 32px rgba(200, 255, 0, 0.3); } +.glow-purple { box-shadow: 0 0 32px rgba(155, 0, 255, 0.3); } -/* Drift patterns — gentle floating movement across the screen */ -@keyframes flowerDrift1 { - 0% { - transform: translate(0, 0) rotate(0deg) scale(1); - opacity: var(--flower-opacity, 0.3); - } - 25% { - transform: translate(15px, -20px) rotate(15deg) scale(1.05); - } - 50% { - transform: translate(-10px, -35px) rotate(-10deg) scale(0.95); - opacity: calc(var(--flower-opacity, 0.3) * 1.3); - } - 75% { - transform: translate(20px, -15px) rotate(20deg) scale(1.02); - } - 100% { - transform: translate(0, 0) rotate(0deg) scale(1); - opacity: var(--flower-opacity, 0.3); - } +.text-glow-cyan { + text-shadow: 0 0 20px rgba(0, 229, 255, 0.5); } - -@keyframes flowerDrift2 { - 0% { - transform: translate(0, 0) rotate(0deg); - } - 20% { - transform: translate(-20px, 10px) rotate(-15deg); - } - 40% { - transform: translate(10px, 25px) rotate(10deg); - } - 60% { - transform: translate(25px, -5px) rotate(25deg); - } - 80% { - transform: translate(-15px, -20px) rotate(-5deg); - } - 100% { - transform: translate(0, 0) rotate(0deg); - } +.text-glow-pink { + text-shadow: 0 0 20px rgba(255, 45, 120, 0.5); } -@keyframes flowerDrift3 { - 0%, 100% { - transform: translate(0, 0) rotate(0deg) scale(1); - } - 33% { - transform: translate(30px, -25px) rotate(20deg) scale(1.08); - } - 66% { - transform: translate(-25px, 15px) rotate(-15deg) scale(0.92); - } +/* ─── Layout ─── */ +.section-wrap { + padding-left: 1.5rem; + padding-right: 1.5rem; } - -@keyframes flowerDrift4 { - 0%, 100% { - transform: translateY(0) rotate(0deg); - opacity: var(--flower-opacity, 0.3); - } - 50% { - transform: translateY(-40px) rotate(180deg); - opacity: calc(var(--flower-opacity, 0.3) * 1.5); - } +@media (min-width: 768px) { + .section-wrap { padding-left: 3rem; padding-right: 3rem; } } - -/* Sway patterns — gentle rocking like in a breeze */ -@keyframes flowerSway1 { - 0%, 100% { - transform: rotate(-5deg) translateX(0); - } - 25% { - transform: rotate(8deg) translateX(5px); - } - 50% { - transform: rotate(-3deg) translateX(-3px); - } - 75% { - transform: rotate(6deg) translateX(4px); - } +@media (min-width: 1280px) { + .section-wrap { padding-left: 5rem; padding-right: 5rem; } } -@keyframes flowerSway2 { - 0%, 100% { - transform: rotate(3deg) scale(1); - } - 33% { - transform: rotate(-8deg) scale(1.05); - } - 66% { - transform: rotate(5deg) scale(0.97); - } -} -/* Shimmer — subtle glow pulse for flowers */ -@keyframes flowerShimmer { - 0%, 100% { - filter: brightness(1) drop-shadow(0 0 2px currentColor); - } - 50% { - filter: brightness(1.3) drop-shadow(0 0 8px currentColor); - } -} -/* Animation classes */ -.flower-drift-1 { - animation: flowerDrift1 var(--flower-duration, 20s) ease-in-out infinite; -} -.flower-drift-2 { - animation: flowerDrift2 var(--flower-duration, 22s) ease-in-out infinite; +/* ─── Backward-compat shims for unrewritten components ─── */ +.glass-panel { + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.08); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + border-radius: 1rem; } -.flower-drift-3 { - animation: flowerDrift3 var(--flower-duration, 18s) ease-in-out infinite; -} -.flower-drift-4 { - animation: flowerDrift4 var(--flower-duration, 25s) ease-in-out infinite; +.glass-card { + background: rgba(255, 255, 255, 0.02); + border: 1px solid rgba(255, 255, 255, 0.06); + border-radius: 0.75rem; } -.flower-sway-1 { - animation: flowerSway1 var(--flower-duration, 8s) ease-in-out infinite; +.hover-bloom-glow:hover { + border-color: rgba(0, 229, 255, 0.4); + box-shadow: 0 0 20px rgba(0, 229, 255, 0.2); } -.flower-sway-2 { - animation: flowerSway2 var(--flower-duration, 10s) ease-in-out infinite; +.bloom-text-glow { + text-shadow: 0 0 20px rgba(0, 229, 255, 0.5); } -/* ─── Performance Optimizations ─── */ -/* Off-screen sections: skip layout/paint until scrolled into view */ +/* ─── Accent line — thin colored rule used for section punctuation ─── */ +.accent-line { + display: block; + width: 2.5rem; + height: 2px; + border-radius: 1px; +} + +/* ─── Section anchor offset for fixed navbar ─── */ .section-anchor { + scroll-margin-top: calc(var(--navbar-height) + 1.5rem); content-visibility: auto; contain-intrinsic-size: auto 600px; } -/* Containment for glass panels to isolate reflow cascades */ -.glass-panel, -.glass-card { - contain: layout style; +/* ─── Divider ─── */ +.bloom-divider { + width: 100%; + height: 1px; + background: linear-gradient( + to right, + transparent, + rgba(255, 255, 255, 0.08) 20%, + rgba(255, 255, 255, 0.08) 80%, + transparent + ); + margin: 0; } -/* GPU layer promotion for animated flower elements */ -.flower-drift-1, -.flower-drift-2, -.flower-drift-3, -.flower-drift-4, -.flower-sway-1, -.flower-sway-2 { - transform: translateZ(0); - backface-visibility: hidden; -} -/* Respect user preference for reduced motion — pauses all flower animations */ -@media (prefers-reduced-motion: reduce) { - .flower-drift-1, - .flower-drift-2, - .flower-drift-3, - .flower-drift-4, - .flower-sway-1, - .flower-sway-2 { - animation: none !important; - } - - /* Also reduce the hero bloom spin */ - [style*="bloomSpin"] { - animation: none !important; - } -} \ No newline at end of file diff --git a/sites/hacklytics2027/app/layout.tsx b/sites/hacklytics2027/app/layout.tsx index b70f0088..025ee18b 100644 --- a/sites/hacklytics2027/app/layout.tsx +++ b/sites/hacklytics2027/app/layout.tsx @@ -1,54 +1,117 @@ -// app/layout.tsx - Digital Bloom x Brutalist Theme -import './globals.css' -import type { Metadata } from 'next' -import { Roboto_Mono, Space_Grotesk } from 'next/font/google' -import Navbar from '../components/Navbar' -import FloatingFlowers from '../components/FloatingFlowers' -import ServiceWorkerRegistrar from '../components/ServiceWorkerRegistrar' +import "./globals.css"; +import type { Metadata, Viewport } from "next"; +import { Roboto_Mono, Space_Grotesk } from "next/font/google"; +import Navbar from "../components/Navbar"; +import ServiceWorkerRegistrar from "../components/ServiceWorkerRegistrar"; +import Footer from "../components/Footer"; -// Techy, Brutalist fonts const robotoMono = Roboto_Mono({ - subsets: ['latin'], - weight: ['400', '700'], - variable: '--font-mono', -}) + subsets: ["latin"], + weight: ["400", "700"], + variable: "--font-mono", +}); const spaceGrotesk = Space_Grotesk({ - subsets: ['latin'], - weight: ['400', '700', '500'], - variable: '--font-sans', -}) + subsets: ["latin"], + weight: ["400", "500", "700"], + variable: "--font-sans", +}); + +export const viewport: Viewport = { + themeColor: "#050508", +}; export const metadata: Metadata = { - title: "Hacklytics 2027: Digital Bloom", - description: "Data Science @ GT - The premier data science hackathon in the southeast. Register now for Hacklytics 2027.", - authors: [{ name: "DSGT" }], + title: "Hacklytics 2027: Digital Bloom | Premier Data Science Hackathon", + description: + "Join Data Science @ GT for Hacklytics 2027, the premier data science and AI hackathon in the Southeast. 36 hours of coding, prizes, and networking in Atlanta.", + keywords: ["hackathon", "data science", "machine learning", "AI", "Georgia Tech", "Atlanta", "coding", "competition"], + authors: [{ name: "Data Science @ GT" }], openGraph: { title: "Hacklytics 2027: Digital Bloom", - description: "The premier data science hackathon. 36 hours. Join us in Atlanta.", + description: "The premier data science hackathon. 36 hours. Join 1,000+ hackers in Atlanta.", + url: "https://hacklytics.io", + siteName: "Hacklytics", + images: [ + { + url: "/og-image.jpg", + width: 1200, + height: 630, + alt: "Hacklytics 2027 Digital Bloom", + }, + ], type: "website", locale: "en_US", }, - icons: { - icon: "/favicon.ico", - } -} + twitter: { + card: "summary_large_image", + title: "Hacklytics 2027: Digital Bloom", + description: "The premier data science hackathon at Georgia Tech.", + images: ["/og-image.jpg"], + creator: "@datasciencegt", + }, + icons: { icon: "/favicon.ico" }, + metadataBase: new URL("https://hacklytics.io"), +}; + +export default function RootLayout({ children }: { children: React.ReactNode }) { + // JSON-LD structured data for SEO Event Schema + const jsonLd = { + "@context": "https://schema.org", + "@type": "Event", + name: "Hacklytics 2027: Digital Bloom", + startDate: "2027-02-26T17:00:00-05:00", + endDate: "2027-02-28T16:00:00-05:00", + eventAttendanceMode: "https://schema.org/OfflineEventAttendanceMode", + eventStatus: "https://schema.org/EventScheduled", + location: { + "@type": "Place", + name: "Klaus Advanced Computing Building", + address: { + "@type": "PostalAddress", + streetAddress: "266 Ferst Dr NW", + addressLocality: "Atlanta", + postalCode: "30332", + addressRegion: "GA", + addressCountry: "US" + } + }, + image: [ + "https://hacklytics.io/og-image.jpg" + ], + description: "Data Science @ GT — The premier data science hackathon in the Southeast. 36 hours of coding, data science, and AI.", + offers: { + "@type": "Offer", + url: "https://form.typeform.com/to/GvqBCdAe", + price: "0", + priceCurrency: "USD", + availability: "https://schema.org/InStock", + validFrom: "2026-08-01T00:00:00-04:00" + }, + organizer: { + "@type": "Organization", + name: "Data Science @ GT", + url: "https://datasciencegt.org" + } + }; -export default function RootLayout({ - children, -}: { - children: React.ReactNode -}) { return ( - + + - - - - - - - - + + + + + + + +