Spaces:
Running
Running
Srikanth, Phani
commited on
Commit
·
b9aa460
1
Parent(s):
b886111
Added to space
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitignore +2 -0
- components.json +17 -0
- index.html +1123 -19
- next-env.d.ts +5 -0
- next.config.mjs +10 -0
- out/.DS_Store +0 -0
- out/404.html +1 -0
- out/404/index.html +1 -0
- out/_next/static/0QpfhtDA6HMYOb_8z8_NB/_buildManifest.js +1 -0
- out/_next/static/0QpfhtDA6HMYOb_8z8_NB/_ssgManifest.js +1 -0
- out/_next/static/chunks/23-3c786d31948a49f2.js +0 -0
- out/_next/static/chunks/506-f293b903a260cb45.js +16 -0
- out/_next/static/chunks/app/_not-found/page-8022c94d4a8b5013.js +1 -0
- out/_next/static/chunks/app/layout-ef4c0ae0c29ac2b5.js +1 -0
- out/_next/static/chunks/app/page-24a4cfd26a3ffdcb.js +1 -0
- out/_next/static/chunks/fd9d1056-51face16839d2cb0.js +0 -0
- out/_next/static/chunks/framework-f66176bb897dc684.js +0 -0
- out/_next/static/chunks/main-app-dda775df53745ffe.js +1 -0
- out/_next/static/chunks/main-c980e89993b16cc4.js +0 -0
- out/_next/static/chunks/pages/_app-6a626577ffa902a4.js +1 -0
- out/_next/static/chunks/pages/_error-1be831200e60c5c0.js +1 -0
- out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +1 -0
- out/_next/static/chunks/webpack-8f7c4246348aad30.js +1 -0
- out/_next/static/css/010afec7547c6d1a.css +3 -0
- out/_next/static/media/26a46d62cd723877-s.woff2 +0 -0
- out/_next/static/media/55c55f0601d81cf3-s.woff2 +0 -0
- out/_next/static/media/581909926a08bbc8-s.woff2 +0 -0
- out/_next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- out/_next/static/media/97e0cb1ae144a2a9-s.woff2 +0 -0
- out/_next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- out/_next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- out/index.html +0 -0
- out/index.txt +10 -0
- package-lock.json +0 -0
- package.json +35 -0
- postcss.config.mjs +9 -0
- public/.DS_Store +0 -0
- src/.DS_Store +0 -0
- src/app/globals.css +69 -0
- src/app/layout.tsx +22 -0
- src/app/page.tsx +55 -0
- src/components/HillclimbingExplanation.tsx +162 -0
- src/components/ProgressTimeline.tsx +181 -0
- src/components/ScoreMatrixVisualization.tsx +186 -0
- src/components/StatsDashboard.tsx +134 -0
- src/components/WordEvolutionTracker.tsx +106 -0
- src/components/ui/badge.tsx +36 -0
- src/components/ui/button.tsx +56 -0
- src/components/ui/card.tsx +79 -0
- src/components/ui/dialog.tsx +122 -0
.gitignore
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
node_modules/
|
| 2 |
+
screenshots/
|
components.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"$schema": "https://ui.shadcn.com/schema.json",
|
| 3 |
+
"style": "default",
|
| 4 |
+
"rsc": true,
|
| 5 |
+
"tsx": true,
|
| 6 |
+
"tailwind": {
|
| 7 |
+
"config": "tailwind.config.ts",
|
| 8 |
+
"css": "src/app/globals.css",
|
| 9 |
+
"baseColor": "slate",
|
| 10 |
+
"cssVariables": true,
|
| 11 |
+
"prefix": ""
|
| 12 |
+
},
|
| 13 |
+
"aliases": {
|
| 14 |
+
"components": "@/components",
|
| 15 |
+
"utils": "@/lib/utils"
|
| 16 |
+
}
|
| 17 |
+
}
|
index.html
CHANGED
|
@@ -1,19 +1,1123 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
| 6 |
+
<title>DAT Creativity Game Progress</title>
|
| 7 |
+
<meta name="description" content="Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization">
|
| 8 |
+
<style>
|
| 9 |
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
|
| 10 |
+
|
| 11 |
+
/* Tailwind CSS Reset and Base Styles */
|
| 12 |
+
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role="button"]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}
|
| 13 |
+
|
| 14 |
+
/* Custom Styles */
|
| 15 |
+
body {
|
| 16 |
+
font-family: Inter, sans-serif;
|
| 17 |
+
background: linear-gradient(to bottom right, #eff6ff, #e0e7ff);
|
| 18 |
+
min-height: 100vh;
|
| 19 |
+
color: #111827;
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
.container {
|
| 23 |
+
max-width: 1200px;
|
| 24 |
+
margin: 0 auto;
|
| 25 |
+
padding: 2rem 1rem;
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
.card {
|
| 29 |
+
background: white;
|
| 30 |
+
border-radius: 0.5rem;
|
| 31 |
+
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
|
| 32 |
+
border: 1px solid #e5e7eb;
|
| 33 |
+
margin-bottom: 2rem;
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
.card-header {
|
| 37 |
+
padding: 1.5rem;
|
| 38 |
+
border-bottom: 1px solid #e5e7eb;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
.card-content {
|
| 42 |
+
padding: 1.5rem;
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
+
.title {
|
| 46 |
+
font-size: 2.25rem;
|
| 47 |
+
font-weight: 700;
|
| 48 |
+
text-align: center;
|
| 49 |
+
margin-bottom: 1rem;
|
| 50 |
+
color: #111827;
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
.subtitle {
|
| 54 |
+
font-size: 1.25rem;
|
| 55 |
+
color: #6b7280;
|
| 56 |
+
text-align: center;
|
| 57 |
+
max-width: 42rem;
|
| 58 |
+
margin: 0 auto 3rem;
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
.section-title {
|
| 62 |
+
font-size: 1.5rem;
|
| 63 |
+
font-weight: 600;
|
| 64 |
+
margin-bottom: 1rem;
|
| 65 |
+
display: flex;
|
| 66 |
+
align-items: center;
|
| 67 |
+
gap: 0.5rem;
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
.stats-grid {
|
| 71 |
+
display: grid;
|
| 72 |
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
| 73 |
+
gap: 1rem;
|
| 74 |
+
margin-bottom: 2rem;
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
.stat-card {
|
| 78 |
+
padding: 1rem;
|
| 79 |
+
border-radius: 0.5rem;
|
| 80 |
+
border: 1px solid;
|
| 81 |
+
}
|
| 82 |
+
|
| 83 |
+
.stat-card.green {
|
| 84 |
+
background: linear-gradient(to bottom right, #f0fdf4, #dcfce7);
|
| 85 |
+
border-color: #bbf7d0;
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
.stat-card.blue {
|
| 89 |
+
background: linear-gradient(to bottom right, #eff6ff, #dbeafe);
|
| 90 |
+
border-color: #bfdbfe;
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
.stat-card.purple {
|
| 94 |
+
background: linear-gradient(to bottom right, #faf5ff, #f3e8ff);
|
| 95 |
+
border-color: #e9d5ff;
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
.stat-card.orange {
|
| 99 |
+
background: linear-gradient(to bottom right, #fff7ed, #fed7aa);
|
| 100 |
+
border-color: #fdba74;
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
.stat-card.pink {
|
| 104 |
+
background: linear-gradient(to bottom right, #fdf2f8, #fce7f3);
|
| 105 |
+
border-color: #fbcfe8;
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
.stat-card.indigo {
|
| 109 |
+
background: linear-gradient(to bottom right, #eef2ff, #e0e7ff);
|
| 110 |
+
border-color: #c7d2fe;
|
| 111 |
+
}
|
| 112 |
+
|
| 113 |
+
.stat-value {
|
| 114 |
+
font-size: 1.5rem;
|
| 115 |
+
font-weight: 700;
|
| 116 |
+
color: #111827;
|
| 117 |
+
}
|
| 118 |
+
|
| 119 |
+
.stat-label {
|
| 120 |
+
font-size: 0.875rem;
|
| 121 |
+
color: #6b7280;
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
+
.badge {
|
| 125 |
+
display: inline-flex;
|
| 126 |
+
align-items: center;
|
| 127 |
+
padding: 0.125rem 0.625rem;
|
| 128 |
+
border-radius: 9999px;
|
| 129 |
+
font-size: 0.75rem;
|
| 130 |
+
font-weight: 600;
|
| 131 |
+
margin-bottom: 0.5rem;
|
| 132 |
+
}
|
| 133 |
+
|
| 134 |
+
.badge.green {
|
| 135 |
+
background: #10b981;
|
| 136 |
+
color: white;
|
| 137 |
+
}
|
| 138 |
+
|
| 139 |
+
.badge.blue {
|
| 140 |
+
background: #3b82f6;
|
| 141 |
+
color: white;
|
| 142 |
+
}
|
| 143 |
+
|
| 144 |
+
.badge.purple {
|
| 145 |
+
background: #8b5cf6;
|
| 146 |
+
color: white;
|
| 147 |
+
}
|
| 148 |
+
|
| 149 |
+
.timeline {
|
| 150 |
+
space-y: 1rem;
|
| 151 |
+
}
|
| 152 |
+
|
| 153 |
+
.timeline-item {
|
| 154 |
+
display: flex;
|
| 155 |
+
align-items: center;
|
| 156 |
+
gap: 1rem;
|
| 157 |
+
padding: 1rem;
|
| 158 |
+
border: 1px solid #e5e7eb;
|
| 159 |
+
border-radius: 0.5rem;
|
| 160 |
+
transition: background-color 0.2s;
|
| 161 |
+
}
|
| 162 |
+
|
| 163 |
+
.timeline-item:hover {
|
| 164 |
+
background: #f9fafb;
|
| 165 |
+
}
|
| 166 |
+
|
| 167 |
+
.timeline-number {
|
| 168 |
+
width: 2rem;
|
| 169 |
+
height: 2rem;
|
| 170 |
+
border-radius: 50%;
|
| 171 |
+
display: flex;
|
| 172 |
+
align-items: center;
|
| 173 |
+
justify-content: center;
|
| 174 |
+
font-size: 0.875rem;
|
| 175 |
+
font-weight: 600;
|
| 176 |
+
flex-shrink: 0;
|
| 177 |
+
}
|
| 178 |
+
|
| 179 |
+
.timeline-number.active {
|
| 180 |
+
background: #3b82f6;
|
| 181 |
+
color: white;
|
| 182 |
+
}
|
| 183 |
+
|
| 184 |
+
.timeline-number.inactive {
|
| 185 |
+
background: #e5e7eb;
|
| 186 |
+
color: #6b7280;
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
+
.word-tags {
|
| 190 |
+
display: flex;
|
| 191 |
+
flex-wrap: wrap;
|
| 192 |
+
gap: 0.25rem;
|
| 193 |
+
margin: 0.5rem 0;
|
| 194 |
+
}
|
| 195 |
+
|
| 196 |
+
.word-tag {
|
| 197 |
+
padding: 0.125rem 0.625rem;
|
| 198 |
+
background: #f3f4f6;
|
| 199 |
+
border: 1px solid #d1d5db;
|
| 200 |
+
border-radius: 9999px;
|
| 201 |
+
font-size: 0.75rem;
|
| 202 |
+
font-weight: 600;
|
| 203 |
+
}
|
| 204 |
+
|
| 205 |
+
.matrix-table {
|
| 206 |
+
width: 100%;
|
| 207 |
+
border-collapse: collapse;
|
| 208 |
+
margin: 1rem 0;
|
| 209 |
+
}
|
| 210 |
+
|
| 211 |
+
.matrix-table th,
|
| 212 |
+
.matrix-table td {
|
| 213 |
+
padding: 0.5rem;
|
| 214 |
+
text-align: center;
|
| 215 |
+
border: 1px solid #e5e7eb;
|
| 216 |
+
font-size: 0.75rem;
|
| 217 |
+
}
|
| 218 |
+
|
| 219 |
+
.matrix-table th {
|
| 220 |
+
background: #f9fafb;
|
| 221 |
+
font-weight: 600;
|
| 222 |
+
}
|
| 223 |
+
|
| 224 |
+
.matrix-cell {
|
| 225 |
+
width: 3rem;
|
| 226 |
+
height: 3rem;
|
| 227 |
+
display: flex;
|
| 228 |
+
align-items: center;
|
| 229 |
+
justify-content: center;
|
| 230 |
+
border-radius: 0.25rem;
|
| 231 |
+
font-weight: 600;
|
| 232 |
+
font-size: 0.75rem;
|
| 233 |
+
}
|
| 234 |
+
|
| 235 |
+
.matrix-cell.high {
|
| 236 |
+
background: #10b981;
|
| 237 |
+
color: white;
|
| 238 |
+
}
|
| 239 |
+
|
| 240 |
+
.matrix-cell.medium {
|
| 241 |
+
background: #34d399;
|
| 242 |
+
color: white;
|
| 243 |
+
}
|
| 244 |
+
|
| 245 |
+
.matrix-cell.low {
|
| 246 |
+
background: #a7f3d0;
|
| 247 |
+
color: #065f46;
|
| 248 |
+
}
|
| 249 |
+
|
| 250 |
+
.matrix-cell.zero {
|
| 251 |
+
background: #e5e7eb;
|
| 252 |
+
color: #6b7280;
|
| 253 |
+
}
|
| 254 |
+
|
| 255 |
+
.info-box {
|
| 256 |
+
padding: 1rem;
|
| 257 |
+
border-radius: 0.5rem;
|
| 258 |
+
margin: 1rem 0;
|
| 259 |
+
}
|
| 260 |
+
|
| 261 |
+
.info-box.blue {
|
| 262 |
+
background: #eff6ff;
|
| 263 |
+
border: 1px solid #bfdbfe;
|
| 264 |
+
}
|
| 265 |
+
|
| 266 |
+
.info-box.green {
|
| 267 |
+
background: #f0fdf4;
|
| 268 |
+
border: 1px solid #bbf7d0;
|
| 269 |
+
}
|
| 270 |
+
|
| 271 |
+
.icon {
|
| 272 |
+
width: 1.25rem;
|
| 273 |
+
height: 1.25rem;
|
| 274 |
+
display: inline-block;
|
| 275 |
+
}
|
| 276 |
+
|
| 277 |
+
.flex {
|
| 278 |
+
display: flex;
|
| 279 |
+
}
|
| 280 |
+
|
| 281 |
+
.items-center {
|
| 282 |
+
align-items: center;
|
| 283 |
+
}
|
| 284 |
+
|
| 285 |
+
.gap-2 {
|
| 286 |
+
gap: 0.5rem;
|
| 287 |
+
}
|
| 288 |
+
|
| 289 |
+
.gap-4 {
|
| 290 |
+
gap: 1rem;
|
| 291 |
+
}
|
| 292 |
+
|
| 293 |
+
.mb-4 {
|
| 294 |
+
margin-bottom: 1rem;
|
| 295 |
+
}
|
| 296 |
+
|
| 297 |
+
.mb-8 {
|
| 298 |
+
margin-bottom: 2rem;
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
.text-sm {
|
| 302 |
+
font-size: 0.875rem;
|
| 303 |
+
}
|
| 304 |
+
|
| 305 |
+
.text-lg {
|
| 306 |
+
font-size: 1.125rem;
|
| 307 |
+
}
|
| 308 |
+
|
| 309 |
+
.font-semibold {
|
| 310 |
+
font-weight: 600;
|
| 311 |
+
}
|
| 312 |
+
|
| 313 |
+
.font-medium {
|
| 314 |
+
font-weight: 500;
|
| 315 |
+
}
|
| 316 |
+
|
| 317 |
+
.text-gray-600 {
|
| 318 |
+
color: #6b7280;
|
| 319 |
+
}
|
| 320 |
+
|
| 321 |
+
.text-gray-700 {
|
| 322 |
+
color: #374151;
|
| 323 |
+
}
|
| 324 |
+
|
| 325 |
+
.text-gray-900 {
|
| 326 |
+
color: #111827;
|
| 327 |
+
}
|
| 328 |
+
|
| 329 |
+
.text-blue-600 {
|
| 330 |
+
color: #2563eb;
|
| 331 |
+
}
|
| 332 |
+
|
| 333 |
+
.text-green-600 {
|
| 334 |
+
color: #16a34a;
|
| 335 |
+
}
|
| 336 |
+
|
| 337 |
+
.space-y-4 > * + * {
|
| 338 |
+
margin-top: 1rem;
|
| 339 |
+
}
|
| 340 |
+
|
| 341 |
+
.space-y-6 > * + * {
|
| 342 |
+
margin-top: 1.5rem;
|
| 343 |
+
}
|
| 344 |
+
|
| 345 |
+
.space-y-8 > * + * {
|
| 346 |
+
margin-top: 2rem;
|
| 347 |
+
}
|
| 348 |
+
</style>
|
| 349 |
+
</head>
|
| 350 |
+
<body>
|
| 351 |
+
<div class="container">
|
| 352 |
+
<div class="mb-8">
|
| 353 |
+
<h1 class="title">DAT Creativity Game Progress</h1>
|
| 354 |
+
<p class="subtitle">An interactive visualization of my journey through the Divergent Association Task (DAT) creativity game, showcasing the hillclimbing optimization technique.</p>
|
| 355 |
+
</div>
|
| 356 |
+
|
| 357 |
+
<div class="space-y-8">
|
| 358 |
+
<!-- Performance Statistics -->
|
| 359 |
+
<div class="card">
|
| 360 |
+
<div class="card-header">
|
| 361 |
+
<h2 class="section-title">
|
| 362 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 363 |
+
<path d="M3 3v16a2 2 0 0 0 2 2h16"/>
|
| 364 |
+
<path d="M18 17V9"/>
|
| 365 |
+
<path d="M13 17V5"/>
|
| 366 |
+
<path d="M8 17v-3"/>
|
| 367 |
+
</svg>
|
| 368 |
+
Performance Statistics
|
| 369 |
+
</h2>
|
| 370 |
+
</div>
|
| 371 |
+
<div class="card-content">
|
| 372 |
+
<div class="stats-grid">
|
| 373 |
+
<div class="stat-card green">
|
| 374 |
+
<div class="flex items-center justify-between mb-2">
|
| 375 |
+
<svg class="icon text-green-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 376 |
+
<path d="M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978"/>
|
| 377 |
+
<path d="M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978"/>
|
| 378 |
+
<path d="M18 9h1.5a1 1 0 0 0 0-5H18"/>
|
| 379 |
+
<path d="M4 22h16"/>
|
| 380 |
+
<path d="M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z"/>
|
| 381 |
+
<path d="M6 9H4.5a1 1 0 0 1 0-5H6"/>
|
| 382 |
+
</svg>
|
| 383 |
+
<span class="badge green">Top 0.02%</span>
|
| 384 |
+
</div>
|
| 385 |
+
<div class="stat-value">95.08</div>
|
| 386 |
+
<div class="stat-label">Final Creativity Score</div>
|
| 387 |
+
</div>
|
| 388 |
+
|
| 389 |
+
<div class="stat-card blue">
|
| 390 |
+
<div class="flex items-center justify-between mb-2">
|
| 391 |
+
<svg class="icon text-blue-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 392 |
+
<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/>
|
| 393 |
+
<path d="M16 3.128a4 4 0 0 1 0 7.744"/>
|
| 394 |
+
<path d="M22 21v-2a4 4 0 0 0-3-3.87"/>
|
| 395 |
+
<circle cx="9" cy="7" r="4"/>
|
| 396 |
+
</svg>
|
| 397 |
+
<span class="badge blue">Percentile</span>
|
| 398 |
+
</div>
|
| 399 |
+
<div class="stat-value">99.98%</div>
|
| 400 |
+
<div class="stat-label">Better than others</div>
|
| 401 |
+
</div>
|
| 402 |
+
|
| 403 |
+
<div class="stat-card purple">
|
| 404 |
+
<div class="flex items-center justify-between mb-2">
|
| 405 |
+
<svg class="icon text-purple-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 406 |
+
<path d="M12 6v6l4 2"/>
|
| 407 |
+
<circle cx="12" cy="12" r="10"/>
|
| 408 |
+
</svg>
|
| 409 |
+
<span class="badge purple">Duration</span>
|
| 410 |
+
</div>
|
| 411 |
+
<div class="stat-value">106m</div>
|
| 412 |
+
<div class="stat-label">Total game time</div>
|
| 413 |
+
</div>
|
| 414 |
+
|
| 415 |
+
<div class="stat-card orange">
|
| 416 |
+
<div class="flex items-center justify-between mb-2">
|
| 417 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 418 |
+
<path d="M16 7h6v6"/>
|
| 419 |
+
<path d="m22 7-8.5 8.5-5-5L2 17"/>
|
| 420 |
+
</svg>
|
| 421 |
+
<span class="badge" style="background: #f59e0b; color: white;">Optimization</span>
|
| 422 |
+
</div>
|
| 423 |
+
<div class="stat-value">13</div>
|
| 424 |
+
<div class="stat-label">Optimization rounds</div>
|
| 425 |
+
</div>
|
| 426 |
+
|
| 427 |
+
<div class="stat-card pink">
|
| 428 |
+
<div class="flex items-center justify-between mb-2">
|
| 429 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 430 |
+
<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
|
| 431 |
+
</svg>
|
| 432 |
+
<span class="badge" style="background: #ec4899; color: white;">Changes</span>
|
| 433 |
+
</div>
|
| 434 |
+
<div class="stat-value">45</div>
|
| 435 |
+
<div class="stat-label">Total word swaps</div>
|
| 436 |
+
</div>
|
| 437 |
+
|
| 438 |
+
<div class="stat-card indigo">
|
| 439 |
+
<div class="flex items-center justify-between mb-2">
|
| 440 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 441 |
+
<path d="M3 3v16a2 2 0 0 0 2 2h16"/>
|
| 442 |
+
<path d="M18 17V9"/>
|
| 443 |
+
<path d="M13 17V5"/>
|
| 444 |
+
<path d="M8 17v-3"/>
|
| 445 |
+
</svg>
|
| 446 |
+
<span class="badge" style="background: #6366f1; color: white;">Vocabulary</span>
|
| 447 |
+
</div>
|
| 448 |
+
<div class="stat-value">30</div>
|
| 449 |
+
<div class="stat-label">Unique words used</div>
|
| 450 |
+
</div>
|
| 451 |
+
</div>
|
| 452 |
+
|
| 453 |
+
<div class="space-y-4">
|
| 454 |
+
<h3 class="text-lg font-semibold text-gray-900">Semantic Distance Analysis</h3>
|
| 455 |
+
<div class="stats-grid" style="grid-template-columns: repeat(3, 1fr);">
|
| 456 |
+
<div class="info-box" style="background: #f9fafb; border: 1px solid #e5e7eb;">
|
| 457 |
+
<div class="text-sm font-medium text-gray-600 mb-1">Average Distance</div>
|
| 458 |
+
<div class="stat-value text-green-600">95.1</div>
|
| 459 |
+
<div class="text-xs text-gray-500">Across all word pairs</div>
|
| 460 |
+
</div>
|
| 461 |
+
<div class="info-box" style="background: #f9fafb; border: 1px solid #e5e7eb;">
|
| 462 |
+
<div class="text-sm font-medium text-gray-600 mb-1">Maximum Distance</div>
|
| 463 |
+
<div class="stat-value text-blue-600">104</div>
|
| 464 |
+
<div class="text-xs text-gray-500">Most distant pair</div>
|
| 465 |
+
</div>
|
| 466 |
+
<div class="info-box" style="background: #f9fafb; border: 1px solid #e5e7eb;">
|
| 467 |
+
<div class="text-sm font-medium text-gray-600 mb-1">Minimum Distance</div>
|
| 468 |
+
<div class="stat-value" style="color: #ea580c;">79</div>
|
| 469 |
+
<div class="text-xs text-gray-500">Closest pair (non-zero)</div>
|
| 470 |
+
</div>
|
| 471 |
+
</div>
|
| 472 |
+
|
| 473 |
+
<div class="info-box blue">
|
| 474 |
+
<h4 class="font-medium" style="color: #1e40af; margin-bottom: 0.5rem;">Key Insights</h4>
|
| 475 |
+
<ul class="space-y-1 text-sm" style="color: #1e3a8a;">
|
| 476 |
+
<li>• Achieved exceptional creativity score through systematic optimization</li>
|
| 477 |
+
<li>• Hillclimbing algorithm effectively explored the semantic space</li>
|
| 478 |
+
<li>• 3.46 average word changes per round shows focused refinement</li>
|
| 479 |
+
<li>• High semantic distances indicate successful divergent thinking</li>
|
| 480 |
+
</ul>
|
| 481 |
+
</div>
|
| 482 |
+
</div>
|
| 483 |
+
</div>
|
| 484 |
+
</div>
|
| 485 |
+
|
| 486 |
+
<!-- Game Progress Timeline -->
|
| 487 |
+
<div class="card">
|
| 488 |
+
<div class="card-header">
|
| 489 |
+
<h2 class="section-title">
|
| 490 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 491 |
+
<path d="M12 6v6l4 2"/>
|
| 492 |
+
<circle cx="12" cy="12" r="10"/>
|
| 493 |
+
</svg>
|
| 494 |
+
Game Progress Timeline
|
| 495 |
+
</h2>
|
| 496 |
+
</div>
|
| 497 |
+
<div class="card-content">
|
| 498 |
+
<div class="space-y-4">
|
| 499 |
+
<!-- Round 1 -->
|
| 500 |
+
<div class="timeline-item">
|
| 501 |
+
<div class="timeline-number inactive">1</div>
|
| 502 |
+
<div class="flex-grow">
|
| 503 |
+
<div class="flex items-center justify-between mb-2">
|
| 504 |
+
<h3 class="font-medium text-gray-900">Round 1</h3>
|
| 505 |
+
<span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">11:53 PM</span>
|
| 506 |
+
</div>
|
| 507 |
+
<div class="word-tags">
|
| 508 |
+
<span class="word-tag">brilliance</span>
|
| 509 |
+
<span class="word-tag">sports</span>
|
| 510 |
+
<span class="word-tag">peace</span>
|
| 511 |
+
<span class="word-tag">rocket</span>
|
| 512 |
+
<span class="word-tag">icecream</span>
|
| 513 |
+
<span class="word-tag">+5 more</span>
|
| 514 |
+
</div>
|
| 515 |
+
</div>
|
| 516 |
+
</div>
|
| 517 |
+
|
| 518 |
+
<!-- Round 2 - Optimization -->
|
| 519 |
+
<div class="timeline-item">
|
| 520 |
+
<div class="timeline-number active">2</div>
|
| 521 |
+
<div class="flex-grow">
|
| 522 |
+
<div class="flex items-center justify-between mb-2">
|
| 523 |
+
<h3 class="font-medium text-gray-900">Round 2
|
| 524 |
+
<svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 525 |
+
<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
|
| 526 |
+
</svg>
|
| 527 |
+
</h3>
|
| 528 |
+
<span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">12:00 AM</span>
|
| 529 |
+
</div>
|
| 530 |
+
<div class="word-tags">
|
| 531 |
+
<span class="word-tag">stochastic</span>
|
| 532 |
+
<span class="word-tag">fuselage</span>
|
| 533 |
+
<span class="word-tag">pitfall</span>
|
| 534 |
+
<span class="word-tag">screwdriver</span>
|
| 535 |
+
<span class="word-tag">sand</span>
|
| 536 |
+
<span class="word-tag">+5 more</span>
|
| 537 |
+
</div>
|
| 538 |
+
<div class="flex items-center gap-2 text-sm mt-2">
|
| 539 |
+
<span class="text-green-600">+10 added</span>
|
| 540 |
+
<span class="text-red-600">-10 removed</span>
|
| 541 |
+
</div>
|
| 542 |
+
</div>
|
| 543 |
+
</div>
|
| 544 |
+
|
| 545 |
+
<!-- Round 3 -->
|
| 546 |
+
<div class="timeline-item">
|
| 547 |
+
<div class="timeline-number inactive">3</div>
|
| 548 |
+
<div class="flex-grow">
|
| 549 |
+
<div class="flex items-center justify-between mb-2">
|
| 550 |
+
<h3 class="font-medium text-gray-900">Round 3</h3>
|
| 551 |
+
<span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">12:00 AM</span>
|
| 552 |
+
</div>
|
| 553 |
+
<div class="word-tags">
|
| 554 |
+
<span class="word-tag">stochastic</span>
|
| 555 |
+
<span class="word-tag">fuselage</span>
|
| 556 |
+
<span class="word-tag">pitfall</span>
|
| 557 |
+
<span class="word-tag">screwdriver</span>
|
| 558 |
+
<span class="word-tag">sand</span>
|
| 559 |
+
<span class="word-tag">+5 more</span>
|
| 560 |
+
</div>
|
| 561 |
+
</div>
|
| 562 |
+
</div>
|
| 563 |
+
|
| 564 |
+
<!-- Round 4 - Optimization -->
|
| 565 |
+
<div class="timeline-item">
|
| 566 |
+
<div class="timeline-number active">4</div>
|
| 567 |
+
<div class="flex-grow">
|
| 568 |
+
<div class="flex items-center justify-between mb-2">
|
| 569 |
+
<h3 class="font-medium text-gray-900">Round 4
|
| 570 |
+
<svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 571 |
+
<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
|
| 572 |
+
</svg>
|
| 573 |
+
</h3>
|
| 574 |
+
<span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">01:33 AM</span>
|
| 575 |
+
</div>
|
| 576 |
+
<div class="word-tags">
|
| 577 |
+
<span class="word-tag">stochastic</span>
|
| 578 |
+
<span class="word-tag">fuselage</span>
|
| 579 |
+
<span class="word-tag">throne</span>
|
| 580 |
+
<span class="word-tag">icecream</span>
|
| 581 |
+
<span class="word-tag">cricket</span>
|
| 582 |
+
<span class="word-tag">+5 more</span>
|
| 583 |
+
</div>
|
| 584 |
+
<div class="flex items-center gap-2 text-sm mt-2">
|
| 585 |
+
<span class="text-green-600">+6 added</span>
|
| 586 |
+
<span class="text-red-600">-6 removed</span>
|
| 587 |
+
</div>
|
| 588 |
+
</div>
|
| 589 |
+
</div>
|
| 590 |
+
|
| 591 |
+
<!-- Round 8 - Optimization -->
|
| 592 |
+
<div class="timeline-item">
|
| 593 |
+
<div class="timeline-number active">8</div>
|
| 594 |
+
<div class="flex-grow">
|
| 595 |
+
<div class="flex items-center justify-between mb-2">
|
| 596 |
+
<h3 class="font-medium text-gray-900">Round 8
|
| 597 |
+
<svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 598 |
+
<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
|
| 599 |
+
</svg>
|
| 600 |
+
</h3>
|
| 601 |
+
<span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">01:36 AM</span>
|
| 602 |
+
</div>
|
| 603 |
+
<div class="word-tags">
|
| 604 |
+
<span class="word-tag">stochastic</span>
|
| 605 |
+
<span class="word-tag">fuselage</span>
|
| 606 |
+
<span class="word-tag">throne</span>
|
| 607 |
+
<span class="word-tag">corporate</span>
|
| 608 |
+
<span class="word-tag">arthritis</span>
|
| 609 |
+
<span class="word-tag">+5 more</span>
|
| 610 |
+
</div>
|
| 611 |
+
<div class="flex items-center gap-2 text-sm mt-2">
|
| 612 |
+
<span class="text-green-600">+2 added</span>
|
| 613 |
+
<span class="text-red-600">-2 removed</span>
|
| 614 |
+
</div>
|
| 615 |
+
</div>
|
| 616 |
+
</div>
|
| 617 |
+
|
| 618 |
+
<!-- Round 10 - Optimization -->
|
| 619 |
+
<div class="timeline-item">
|
| 620 |
+
<div class="timeline-number active">10</div>
|
| 621 |
+
<div class="flex-grow">
|
| 622 |
+
<div class="flex items-center justify-between mb-2">
|
| 623 |
+
<h3 class="font-medium text-gray-900">Round 10
|
| 624 |
+
<svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 625 |
+
<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
|
| 626 |
+
</svg>
|
| 627 |
+
</h3>
|
| 628 |
+
<span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">01:38 AM</span>
|
| 629 |
+
</div>
|
| 630 |
+
<div class="word-tags">
|
| 631 |
+
<span class="word-tag">stochastic</span>
|
| 632 |
+
<span class="word-tag">fuselage</span>
|
| 633 |
+
<span class="word-tag">throne</span>
|
| 634 |
+
<span class="word-tag">icecream</span>
|
| 635 |
+
<span class="word-tag">foosball</span>
|
| 636 |
+
<span class="word-tag">+5 more</span>
|
| 637 |
+
</div>
|
| 638 |
+
<div class="flex items-center gap-2 text-sm mt-2">
|
| 639 |
+
<span class="text-green-600">+3 added</span>
|
| 640 |
+
<span class="text-red-600">-3 removed</span>
|
| 641 |
+
</div>
|
| 642 |
+
</div>
|
| 643 |
+
</div>
|
| 644 |
+
|
| 645 |
+
<!-- Round 13 - Final Optimization -->
|
| 646 |
+
<div class="timeline-item">
|
| 647 |
+
<div class="timeline-number active">13</div>
|
| 648 |
+
<div class="flex-grow">
|
| 649 |
+
<div class="flex items-center justify-between mb-2">
|
| 650 |
+
<h3 class="font-medium text-gray-900">Round 13
|
| 651 |
+
<svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 652 |
+
<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a .5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
|
| 653 |
+
</svg>
|
| 654 |
+
</h3>
|
| 655 |
+
<span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">01:39 AM</span>
|
| 656 |
+
</div>
|
| 657 |
+
<div class="word-tags">
|
| 658 |
+
<span class="word-tag">stochastic</span>
|
| 659 |
+
<span class="word-tag">fuselage</span>
|
| 660 |
+
<span class="word-tag">throne</span>
|
| 661 |
+
<span class="word-tag">corporate</span>
|
| 662 |
+
<span class="word-tag">arthritis</span>
|
| 663 |
+
<span class="word-tag">+2 more</span>
|
| 664 |
+
</div>
|
| 665 |
+
<div class="flex items-center gap-2 text-sm mt-2">
|
| 666 |
+
<span class="text-red-600">-3 removed</span>
|
| 667 |
+
</div>
|
| 668 |
+
</div>
|
| 669 |
+
</div>
|
| 670 |
+
</div>
|
| 671 |
+
</div>
|
| 672 |
+
</div>
|
| 673 |
+
|
| 674 |
+
<!-- Word Evolution & Optimization -->
|
| 675 |
+
<div class="card">
|
| 676 |
+
<div class="card-header">
|
| 677 |
+
<h2 class="section-title">
|
| 678 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 679 |
+
<path d="M16 7h6v6"/>
|
| 680 |
+
<path d="m22 7-8.5 8.5-5-5L2 17"/>
|
| 681 |
+
</svg>
|
| 682 |
+
Word Evolution & Optimization
|
| 683 |
+
</h2>
|
| 684 |
+
</div>
|
| 685 |
+
<div class="card-content space-y-6">
|
| 686 |
+
<div class="text-sm text-gray-600 mb-4">Track how words were systematically replaced to maximize semantic distance using hillclimbing optimization.</div>
|
| 687 |
+
|
| 688 |
+
<!-- Round 2 Evolution -->
|
| 689 |
+
<div style="border-left: 2px solid #bfdbfe; padding-left: 1rem;">
|
| 690 |
+
<div class="flex items-center gap-2 mb-3">
|
| 691 |
+
<span class="badge blue">Round 2</span>
|
| 692 |
+
<svg class="icon text-gray-400" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 693 |
+
<path d="M5 12h14"/>
|
| 694 |
+
<path d="m12 5 7 7-7 7"/>
|
| 695 |
+
</svg>
|
| 696 |
+
<span class="text-sm text-gray-600">Optimization step</span>
|
| 697 |
+
</div>
|
| 698 |
+
<div class="space-y-3">
|
| 699 |
+
<div>
|
| 700 |
+
<div class="flex items-center gap-2 mb-2">
|
| 701 |
+
<svg class="icon text-red-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 702 |
+
<path d="M5 12h14"/>
|
| 703 |
+
</svg>
|
| 704 |
+
<span class="text-sm font-medium text-red-600">Removed</span>
|
| 705 |
+
<span class="text-xs text-gray-500">(Lower semantic distance)</span>
|
| 706 |
+
</div>
|
| 707 |
+
<div class="flex flex-wrap gap-2">
|
| 708 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">brilliance</span>
|
| 709 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">sports</span>
|
| 710 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">peace</span>
|
| 711 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">rocket</span>
|
| 712 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">icecream</span>
|
| 713 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">blush</span>
|
| 714 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">friends</span>
|
| 715 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">rhythm</span>
|
| 716 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">velvet</span>
|
| 717 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">ocean</span>
|
| 718 |
+
</div>
|
| 719 |
+
</div>
|
| 720 |
+
<div>
|
| 721 |
+
<div class="flex items-center gap-2 mb-2">
|
| 722 |
+
<svg class="icon text-green-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 723 |
+
<path d="M5 12h14"/>
|
| 724 |
+
<path d="M12 5v14"/>
|
| 725 |
+
</svg>
|
| 726 |
+
<span class="text-sm font-medium text-green-600">Added</span>
|
| 727 |
+
<span class="text-xs text-gray-500">(Higher semantic distance)</span>
|
| 728 |
+
</div>
|
| 729 |
+
<div class="flex flex-wrap gap-2">
|
| 730 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">stochastic</span>
|
| 731 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">fuselage</span>
|
| 732 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">pitfall</span>
|
| 733 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">screwdriver</span>
|
| 734 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">sand</span>
|
| 735 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">spices</span>
|
| 736 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">arthritis</span>
|
| 737 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">printer</span>
|
| 738 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">flute</span>
|
| 739 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">dinosaurs</span>
|
| 740 |
+
</div>
|
| 741 |
+
</div>
|
| 742 |
+
<div class="text-xs text-gray-500 mt-2">This change increased the overall semantic distance between word pairs.</div>
|
| 743 |
+
</div>
|
| 744 |
+
</div>
|
| 745 |
+
|
| 746 |
+
<!-- Round 4 Evolution -->
|
| 747 |
+
<div style="border-left: 2px solid #bfdbfe; padding-left: 1rem;">
|
| 748 |
+
<div class="flex items-center gap-2 mb-3">
|
| 749 |
+
<span class="badge blue">Round 4</span>
|
| 750 |
+
<svg class="icon text-gray-400" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 751 |
+
<path d="M5 12h14"/>
|
| 752 |
+
<path d="m12 5 7 7-7 7"/>
|
| 753 |
+
</svg>
|
| 754 |
+
<span class="text-sm text-gray-600">Optimization step</span>
|
| 755 |
+
</div>
|
| 756 |
+
<div class="space-y-3">
|
| 757 |
+
<div>
|
| 758 |
+
<div class="flex items-center gap-2 mb-2">
|
| 759 |
+
<svg class="icon text-red-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 760 |
+
<path d="M5 12h14"/>
|
| 761 |
+
</svg>
|
| 762 |
+
<span class="text-sm font-medium text-red-600">Removed</span>
|
| 763 |
+
<span class="text-xs text-gray-500">(Lower semantic distance)</span>
|
| 764 |
+
</div>
|
| 765 |
+
<div class="flex flex-wrap gap-2">
|
| 766 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">pitfall</span>
|
| 767 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">screwdriver</span>
|
| 768 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">sand</span>
|
| 769 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">spices</span>
|
| 770 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">flute</span>
|
| 771 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">dinosaurs</span>
|
| 772 |
+
</div>
|
| 773 |
+
</div>
|
| 774 |
+
<div>
|
| 775 |
+
<div class="flex items-center gap-2 mb-2">
|
| 776 |
+
<svg class="icon text-green-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 777 |
+
<path d="M5 12h14"/>
|
| 778 |
+
<path d="M12 5v14"/>
|
| 779 |
+
</svg>
|
| 780 |
+
<span class="text-sm font-medium text-green-600">Added</span>
|
| 781 |
+
<span class="text-xs text-gray-500">(Higher semantic distance)</span>
|
| 782 |
+
</div>
|
| 783 |
+
<div class="flex flex-wrap gap-2">
|
| 784 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">throne</span>
|
| 785 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">icecream</span>
|
| 786 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">cricket</span>
|
| 787 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">remote</span>
|
| 788 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">eel</span>
|
| 789 |
+
<span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">speedbreaker</span>
|
| 790 |
+
</div>
|
| 791 |
+
</div>
|
| 792 |
+
<div class="text-xs text-gray-500 mt-2">This change increased the overall semantic distance between word pairs.</div>
|
| 793 |
+
</div>
|
| 794 |
+
</div>
|
| 795 |
+
|
| 796 |
+
<!-- Round 13 Final Evolution -->
|
| 797 |
+
<div style="border-left: 2px solid #bfdbfe; padding-left: 1rem;">
|
| 798 |
+
<div class="flex items-center gap-2 mb-3">
|
| 799 |
+
<span class="badge blue">Round 13</span>
|
| 800 |
+
<svg class="icon text-gray-400" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 801 |
+
<path d="M5 12h14"/>
|
| 802 |
+
<path d="m12 5 7 7-7 7"/>
|
| 803 |
+
</svg>
|
| 804 |
+
<span class="text-sm text-gray-600">Final optimization step</span>
|
| 805 |
+
</div>
|
| 806 |
+
<div class="space-y-3">
|
| 807 |
+
<div>
|
| 808 |
+
<div class="flex items-center gap-2 mb-2">
|
| 809 |
+
<svg class="icon text-red-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 810 |
+
<path d="M5 12h14"/>
|
| 811 |
+
</svg>
|
| 812 |
+
<span class="text-sm font-medium text-red-600">Removed</span>
|
| 813 |
+
<span class="text-xs text-gray-500">(Lower semantic distance)</span>
|
| 814 |
+
</div>
|
| 815 |
+
<div class="flex flex-wrap gap-2">
|
| 816 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">icecream</span>
|
| 817 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">foosball</span>
|
| 818 |
+
<span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">speedbreaker</span>
|
| 819 |
+
</div>
|
| 820 |
+
</div>
|
| 821 |
+
<div class="text-xs text-gray-500 mt-2">Final optimization achieved score of 95.08 with 7 highly diverse words.</div>
|
| 822 |
+
</div>
|
| 823 |
+
</div>
|
| 824 |
+
|
| 825 |
+
<div class="info-box blue">
|
| 826 |
+
<h4 class="font-medium" style="color: #1e40af; margin-bottom: 0.5rem;">Hillclimbing Strategy</h4>
|
| 827 |
+
<p class="text-sm" style="color: #1e3a8a;">Each word replacement represents a "hill climbing" step where words with lower semantic distances to other words in the set were systematically replaced with words that had higher distances, improving the overall creativity score.</p>
|
| 828 |
+
</div>
|
| 829 |
+
</div>
|
| 830 |
+
</div>
|
| 831 |
+
|
| 832 |
+
<!-- Understanding Hillclimbing Optimization -->
|
| 833 |
+
<div class="card">
|
| 834 |
+
<div class="card-header">
|
| 835 |
+
<h2 class="section-title">
|
| 836 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 837 |
+
<path d="m8 3 4 8 5-5 5 15H2L8 3z"/>
|
| 838 |
+
</svg>
|
| 839 |
+
Understanding Hillclimbing Optimization
|
| 840 |
+
</h2>
|
| 841 |
+
</div>
|
| 842 |
+
<div class="card-content space-y-6">
|
| 843 |
+
<div class="text-gray-700">
|
| 844 |
+
<p class="mb-4"><strong>Hillclimbing</strong> is a local search optimization algorithm that continuously moves towards better solutions by making incremental improvements. Think of it like climbing a hill in foggy weather - you can only see your immediate surroundings, so you always take the step that goes uphill.</p>
|
| 845 |
+
</div>
|
| 846 |
+
<div class="stats-grid" style="grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));">
|
| 847 |
+
<div class="space-y-4">
|
| 848 |
+
<h3 class="text-lg font-semibold text-gray-900 flex items-center gap-2">
|
| 849 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 850 |
+
<path d="m5 12 7-7 7 7"/>
|
| 851 |
+
<path d="M12 19V5"/>
|
| 852 |
+
</svg>
|
| 853 |
+
Algorithm Steps
|
| 854 |
+
</h3>
|
| 855 |
+
<div class="space-y-3">
|
| 856 |
+
<div class="flex items-start gap-3 p-3 info-box blue">
|
| 857 |
+
<span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">1</span>
|
| 858 |
+
<div class="text-sm"><strong>Initialize:</strong> Start with a random solution (10 diverse words)</div>
|
| 859 |
+
</div>
|
| 860 |
+
<div class="flex items-start gap-3 p-3 info-box blue">
|
| 861 |
+
<span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">2</span>
|
| 862 |
+
<div class="text-sm"><strong>Evaluate:</strong> Calculate semantic distances between all word pairs</div>
|
| 863 |
+
</div>
|
| 864 |
+
<div class="flex items-start gap-3 p-3 info-box blue">
|
| 865 |
+
<span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">3</span>
|
| 866 |
+
<div class="text-sm"><strong>Find weakness:</strong> Identify the word pair with smallest distance</div>
|
| 867 |
+
</div>
|
| 868 |
+
<div class="flex items-start gap-3 p-3 info-box blue">
|
| 869 |
+
<span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">4</span>
|
| 870 |
+
<div class="text-sm"><strong>Improve:</strong> Replace one word with a more distant alternative</div>
|
| 871 |
+
</div>
|
| 872 |
+
<div class="flex items-start gap-3 p-3 info-box blue">
|
| 873 |
+
<span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">5</span>
|
| 874 |
+
<div class="text-sm"><strong>Repeat:</strong> Continue until no improvement is possible</div>
|
| 875 |
+
</div>
|
| 876 |
+
</div>
|
| 877 |
+
</div>
|
| 878 |
+
<div class="space-y-4">
|
| 879 |
+
<h3 class="text-lg font-semibold text-gray-900 flex items-center gap-2">
|
| 880 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 881 |
+
<circle cx="12" cy="12" r="10"/>
|
| 882 |
+
<circle cx="12" cy="12" r="6"/>
|
| 883 |
+
<circle cx="12" cy="12" r="2"/>
|
| 884 |
+
</svg>
|
| 885 |
+
Application to DAT
|
| 886 |
+
</h3>
|
| 887 |
+
<div class="space-y-3">
|
| 888 |
+
<div class="info-box green" style="border-left: 4px solid #4ade80;">
|
| 889 |
+
<h4 class="font-medium text-green-800 mb-1">Objective Function</h4>
|
| 890 |
+
<p class="text-sm text-green-700">Maximize the sum of semantic distances between all word pairs</p>
|
| 891 |
+
</div>
|
| 892 |
+
<div class="info-box" style="background: #faf5ff; border: 1px solid #e9d5ff; border-left: 4px solid #a855f7;">
|
| 893 |
+
<h4 class="font-medium" style="color: #7c2d12; margin-bottom: 0.25rem;">Neighbor Generation</h4>
|
| 894 |
+
<p class="text-sm" style="color: #7c2d12;">Replace one word at a time with alternatives from vocabulary</p>
|
| 895 |
+
</div>
|
| 896 |
+
<div class="info-box" style="background: #fff7ed; border: 1px solid #fed7aa; border-left: 4px solid #f97316;">
|
| 897 |
+
<h4 class="font-medium" style="color: #c2410c; margin-bottom: 0.25rem;">Local Optimum</h4>
|
| 898 |
+
<p class="text-sm" style="color: #c2410c;">Stop when no single word replacement improves the score</p>
|
| 899 |
+
</div>
|
| 900 |
+
</div>
|
| 901 |
+
</div>
|
| 902 |
+
</div>
|
| 903 |
+
|
| 904 |
+
<div class="stats-grid" style="grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));">
|
| 905 |
+
<div>
|
| 906 |
+
<h4 class="font-medium text-gray-900 mb-3">Why Hillclimbing Works Here</h4>
|
| 907 |
+
<ul class="space-y-2 text-sm text-gray-700">
|
| 908 |
+
<li class="flex items-start gap-2">
|
| 909 |
+
<div style="width: 6px; height: 6px; background: #10b981; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
|
| 910 |
+
<span><strong>Greedy improvement:</strong> Each word replacement immediately improves the score</span>
|
| 911 |
+
</li>
|
| 912 |
+
<li class="flex items-start gap-2">
|
| 913 |
+
<div style="width: 6px; height: 6px; background: #10b981; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
|
| 914 |
+
<span><strong>Fast convergence:</strong> Reaches a good solution quickly</span>
|
| 915 |
+
</li>
|
| 916 |
+
<li class="flex items-start gap-2">
|
| 917 |
+
<div style="width: 6px; height: 6px; background: #10b981; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
|
| 918 |
+
<span><strong>Intuitive process:</strong> Mimics how humans naturally optimize</span>
|
| 919 |
+
</li>
|
| 920 |
+
</ul>
|
| 921 |
+
</div>
|
| 922 |
+
<div>
|
| 923 |
+
<h4 class="font-medium text-gray-900 mb-3">Potential Limitations</h4>
|
| 924 |
+
<ul class="space-y-2 text-sm text-gray-700">
|
| 925 |
+
<li class="flex items-start gap-2">
|
| 926 |
+
<div style="width: 6px; height: 6px; background: #ef4444; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
|
| 927 |
+
<span><strong>Local optima:</strong> May get stuck in suboptimal solutions</span>
|
| 928 |
+
</li>
|
| 929 |
+
<li class="flex items-start gap-2">
|
| 930 |
+
<div style="width: 6px; height: 6px; background: #ef4444; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
|
| 931 |
+
<span><strong>Initial dependency:</strong> Result depends on starting words</span>
|
| 932 |
+
</li>
|
| 933 |
+
<li class="flex items-start gap-2">
|
| 934 |
+
<div style="width: 6px; height: 6px; background: #ef4444; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
|
| 935 |
+
<span><strong>Single-word changes:</strong> Cannot make coordinated multi-word swaps</span>
|
| 936 |
+
</li>
|
| 937 |
+
</ul>
|
| 938 |
+
</div>
|
| 939 |
+
</div>
|
| 940 |
+
|
| 941 |
+
<div class="info-box" style="background: linear-gradient(to right, #eff6ff, #faf5ff); border: 1px solid #bfdbfe;">
|
| 942 |
+
<h4 class="font-semibold text-gray-900 mb-2 flex items-center gap-2">
|
| 943 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 944 |
+
<path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/>
|
| 945 |
+
<path d="M3 3v5h5"/>
|
| 946 |
+
</svg>
|
| 947 |
+
My Implementation Result
|
| 948 |
+
</h4>
|
| 949 |
+
<p class="text-sm text-gray-700 mb-2">Despite these theoretical limitations, the hillclimbing approach was highly effective for the DAT creativity game, achieving a score of <strong>95.08</strong> and ranking in the <strong>99.98th percentile</strong>.</p>
|
| 950 |
+
<p class="text-sm text-gray-600">This success suggests that the semantic distance landscape for this problem has favorable properties for local search, with relatively few problematic local optima.</p>
|
| 951 |
+
</div>
|
| 952 |
+
</div>
|
| 953 |
+
</div>
|
| 954 |
+
|
| 955 |
+
<!-- Semantic Distance Matrix -->
|
| 956 |
+
<div class="card">
|
| 957 |
+
<div class="card-header">
|
| 958 |
+
<h2 class="section-title">
|
| 959 |
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 960 |
+
<rect width="18" height="18" x="3" y="3" rx="2"/>
|
| 961 |
+
<path d="M3 9h18"/>
|
| 962 |
+
<path d="M3 15h18"/>
|
| 963 |
+
<path d="M9 3v18"/>
|
| 964 |
+
<path d="M15 3v18"/>
|
| 965 |
+
</svg>
|
| 966 |
+
Semantic Distance Matrix
|
| 967 |
+
</h2>
|
| 968 |
+
</div>
|
| 969 |
+
<div class="card-content">
|
| 970 |
+
<div class="flex items-center justify-between mb-4">
|
| 971 |
+
<p class="text-sm text-gray-600">Interactive matrix showing semantic distances between final word pairs</p>
|
| 972 |
+
<div class="flex items-center gap-2">
|
| 973 |
+
<svg class="icon text-green-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
| 974 |
+
<circle cx="12" cy="12" r="10"/>
|
| 975 |
+
<circle cx="12" cy="12" r="6"/>
|
| 976 |
+
<circle cx="12" cy="12" r="2"/>
|
| 977 |
+
</svg>
|
| 978 |
+
<span class="badge green">Score: 95.08</span>
|
| 979 |
+
</div>
|
| 980 |
+
</div>
|
| 981 |
+
|
| 982 |
+
<div style="overflow-x: auto;">
|
| 983 |
+
<table class="matrix-table">
|
| 984 |
+
<thead>
|
| 985 |
+
<tr>
|
| 986 |
+
<th style="width: 100px;"></th>
|
| 987 |
+
<th>stochastic</th>
|
| 988 |
+
<th>fuselage</th>
|
| 989 |
+
<th>throne</th>
|
| 990 |
+
<th>corporate</th>
|
| 991 |
+
<th>arthritis</th>
|
| 992 |
+
<th>chilli</th>
|
| 993 |
+
<th>lens</th>
|
| 994 |
+
</tr>
|
| 995 |
+
</thead>
|
| 996 |
+
<tbody>
|
| 997 |
+
<tr>
|
| 998 |
+
<th>stochastic</th>
|
| 999 |
+
<td><div class="matrix-cell zero">0</div></td>
|
| 1000 |
+
<td><div class="matrix-cell high">103</div></td>
|
| 1001 |
+
<td><div class="matrix-cell high">100</div></td>
|
| 1002 |
+
<td><div class="matrix-cell high">93</div></td>
|
| 1003 |
+
<td><div class="matrix-cell high">94</div></td>
|
| 1004 |
+
<td><div class="matrix-cell high">98</div></td>
|
| 1005 |
+
<td><div class="matrix-cell high">94</div></td>
|
| 1006 |
+
</tr>
|
| 1007 |
+
<tr>
|
| 1008 |
+
<th>fuselage</th>
|
| 1009 |
+
<td><div class="matrix-cell high">103</div></td>
|
| 1010 |
+
<td><div class="matrix-cell zero">0</div></td>
|
| 1011 |
+
<td><div class="matrix-cell high">94</div></td>
|
| 1012 |
+
<td><div class="matrix-cell high">98</div></td>
|
| 1013 |
+
<td><div class="matrix-cell high">96</div></td>
|
| 1014 |
+
<td><div class="matrix-cell high">91</div></td>
|
| 1015 |
+
<td><div class="matrix-cell low">79</div></td>
|
| 1016 |
+
</tr>
|
| 1017 |
+
<tr>
|
| 1018 |
+
<th>throne</th>
|
| 1019 |
+
<td><div class="matrix-cell high">100</div></td>
|
| 1020 |
+
<td><div class="matrix-cell high">94</div></td>
|
| 1021 |
+
<td><div class="matrix-cell zero">0</div></td>
|
| 1022 |
+
<td><div class="matrix-cell high">95</div></td>
|
| 1023 |
+
<td><div class="matrix-cell high">98</div></td>
|
| 1024 |
+
<td><div class="matrix-cell high">101</div></td>
|
| 1025 |
+
<td><div class="matrix-cell high">98</div></td>
|
| 1026 |
+
</tr>
|
| 1027 |
+
<tr>
|
| 1028 |
+
<th>corporate</th>
|
| 1029 |
+
<td><div class="matrix-cell high">93</div></td>
|
| 1030 |
+
<td><div class="matrix-cell high">98</div></td>
|
| 1031 |
+
<td><div class="matrix-cell high">95</div></td>
|
| 1032 |
+
<td><div class="matrix-cell zero">0</div></td>
|
| 1033 |
+
<td><div class="matrix-cell high">97</div></td>
|
| 1034 |
+
<td><div class="matrix-cell high">100</div></td>
|
| 1035 |
+
<td><div class="matrix-cell high">92</div></td>
|
| 1036 |
+
</tr>
|
| 1037 |
+
<tr>
|
| 1038 |
+
<th>arthritis</th>
|
| 1039 |
+
<td><div class="matrix-cell high">94</div></td>
|
| 1040 |
+
<td><div class="matrix-cell high">96</div></td>
|
| 1041 |
+
<td><div class="matrix-cell high">98</div></td>
|
| 1042 |
+
<td><div class="matrix-cell high">97</div></td>
|
| 1043 |
+
<td><div class="matrix-cell zero">0</div></td>
|
| 1044 |
+
<td><div class="matrix-cell high">86</div></td>
|
| 1045 |
+
<td><div class="matrix-cell high">87</div></td>
|
| 1046 |
+
</tr>
|
| 1047 |
+
<tr>
|
| 1048 |
+
<th>chilli</th>
|
| 1049 |
+
<td><div class="matrix-cell high">98</div></td>
|
| 1050 |
+
<td><div class="matrix-cell high">91</div></td>
|
| 1051 |
+
<td><div class="matrix-cell high">101</div></td>
|
| 1052 |
+
<td><div class="matrix-cell high">100</div></td>
|
| 1053 |
+
<td><div class="matrix-cell high">86</div></td>
|
| 1054 |
+
<td><div class="matrix-cell zero">0</div></td>
|
| 1055 |
+
<td><div class="matrix-cell high">104</div></td>
|
| 1056 |
+
</tr>
|
| 1057 |
+
<tr>
|
| 1058 |
+
<th>lens</th>
|
| 1059 |
+
<td><div class="matrix-cell high">94</div></td>
|
| 1060 |
+
<td><div class="matrix-cell low">79</div></td>
|
| 1061 |
+
<td><div class="matrix-cell high">98</div></td>
|
| 1062 |
+
<td><div class="matrix-cell high">92</div></td>
|
| 1063 |
+
<td><div class="matrix-cell high">87</div></td>
|
| 1064 |
+
<td><div class="matrix-cell high">104</div></td>
|
| 1065 |
+
<td><div class="matrix-cell zero">0</div></td>
|
| 1066 |
+
</tr>
|
| 1067 |
+
</tbody>
|
| 1068 |
+
</table>
|
| 1069 |
+
</div>
|
| 1070 |
+
|
| 1071 |
+
<div class="flex items-center justify-between text-sm text-gray-500 mb-4">
|
| 1072 |
+
<div class="flex items-center gap-4">
|
| 1073 |
+
<div class="flex items-center gap-1">
|
| 1074 |
+
<div style="width: 0.75rem; height: 0.75rem; background: #a7f3d0; border-radius: 0.125rem;"></div>
|
| 1075 |
+
<span>Low distance</span>
|
| 1076 |
+
</div>
|
| 1077 |
+
<div class="flex items-center gap-1">
|
| 1078 |
+
<div style="width: 0.75rem; height: 0.75rem; background: #34d399; border-radius: 0.125rem;"></div>
|
| 1079 |
+
<span>Medium distance</span>
|
| 1080 |
+
</div>
|
| 1081 |
+
<div class="flex items-center gap-1">
|
| 1082 |
+
<div style="width: 0.75rem; height: 0.75rem; background: #10b981; border-radius: 0.125rem;"></div>
|
| 1083 |
+
<span>High distance</span>
|
| 1084 |
+
</div>
|
| 1085 |
+
</div>
|
| 1086 |
+
<span>Matrix is symmetric</span>
|
| 1087 |
+
</div>
|
| 1088 |
+
|
| 1089 |
+
<div class="info-box" style="background: #f9fafb; border: 1px solid #e5e7eb;">
|
| 1090 |
+
<h4 class="font-medium text-gray-900 mb-2">Matrix Analysis</h4>
|
| 1091 |
+
<div class="stats-grid" style="grid-template-columns: repeat(3, 1fr);">
|
| 1092 |
+
<div>
|
| 1093 |
+
<span class="font-medium text-gray-700">Average Distance:</span>
|
| 1094 |
+
<div class="text-lg font-semibold text-green-600">95.1</div>
|
| 1095 |
+
</div>
|
| 1096 |
+
<div>
|
| 1097 |
+
<span class="font-medium text-gray-700">Highest Distance:</span>
|
| 1098 |
+
<div class="text-lg font-semibold text-blue-600">104</div>
|
| 1099 |
+
</div>
|
| 1100 |
+
<div>
|
| 1101 |
+
<span class="font-medium text-gray-700">Lowest Distance:</span>
|
| 1102 |
+
<div class="text-lg font-semibold" style="color: #ea580c;">79</div>
|
| 1103 |
+
</div>
|
| 1104 |
+
</div>
|
| 1105 |
+
</div>
|
| 1106 |
+
</div>
|
| 1107 |
+
</div>
|
| 1108 |
+
|
| 1109 |
+
<!-- What is DAT? -->
|
| 1110 |
+
<div class="card">
|
| 1111 |
+
<div class="card-header">
|
| 1112 |
+
<h2 class="section-title">What is the DAT Creativity Game?</h2>
|
| 1113 |
+
<p class="text-sm text-gray-600">Understanding the Divergent Association Task</p>
|
| 1114 |
+
</div>
|
| 1115 |
+
<div class="card-content space-y-4">
|
| 1116 |
+
<p class="text-gray-700">The Divergent Association Task (DAT) is a creativity assessment that measures your ability to think of diverse, unrelated concepts. Players must generate 10 words that are as semantically distant from each other as possible.</p>
|
| 1117 |
+
<p class="text-gray-700">The challenge lies in finding words that share minimal conceptual overlap, requiring creative thinking and broad knowledge across different domains.</p>
|
| 1118 |
+
</div>
|
| 1119 |
+
</div>
|
| 1120 |
+
</div>
|
| 1121 |
+
</div>
|
| 1122 |
+
</body>
|
| 1123 |
+
</html>
|
next-env.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/// <reference types="next" />
|
| 2 |
+
/// <reference types="next/image-types/global" />
|
| 3 |
+
|
| 4 |
+
// NOTE: This file should not be edited
|
| 5 |
+
// see https://nextjs.org/docs/basic-features/typescript for more information.
|
next.config.mjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/** @type {import('next').NextConfig} */
|
| 2 |
+
const nextConfig = {
|
| 3 |
+
output: 'export',
|
| 4 |
+
trailingSlash: true,
|
| 5 |
+
images: {
|
| 6 |
+
unoptimized: true
|
| 7 |
+
}
|
| 8 |
+
};
|
| 9 |
+
|
| 10 |
+
export default nextConfig;
|
out/.DS_Store
ADDED
|
Binary file (6.15 kB). View file
|
|
|
out/404.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/010afec7547c6d1a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8f7c4246348aad30.js"/><script src="/_next/static/chunks/fd9d1056-51face16839d2cb0.js" async=""></script><script src="/_next/static/chunks/23-3c786d31948a49f2.js" async=""></script><script src="/_next/static/chunks/main-app-dda775df53745ffe.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>DAT Creativity Game Progress</title><meta name="description" content="Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_e8ce0c"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-8f7c4246348aad30.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/010afec7547c6d1a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[5751,[],\"\"]\n5:I[9275,[],\"\"]\n6:I[1343,[],\"\"]\nc:I[6130,[],\"\"]\n7:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/010afec7547c6d1a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L3\",null,{\"buildId\":\"0QpfhtDA6HMYOb_8z8_NB\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/_not-found/\",\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]]],null],null]},[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_e8ce0c\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"DAT Creativity Game Progress\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization\"}],[\"$\",\"meta\",\"4\",{\"name\":\"next-size-adjust\"}]]\n4:null\n"])</script></body></html>
|
out/404/index.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/010afec7547c6d1a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8f7c4246348aad30.js"/><script src="/_next/static/chunks/fd9d1056-51face16839d2cb0.js" async=""></script><script src="/_next/static/chunks/23-3c786d31948a49f2.js" async=""></script><script src="/_next/static/chunks/main-app-dda775df53745ffe.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>DAT Creativity Game Progress</title><meta name="description" content="Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_e8ce0c"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-8f7c4246348aad30.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/010afec7547c6d1a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[5751,[],\"\"]\n5:I[9275,[],\"\"]\n6:I[1343,[],\"\"]\nc:I[6130,[],\"\"]\n7:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/010afec7547c6d1a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L3\",null,{\"buildId\":\"0QpfhtDA6HMYOb_8z8_NB\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/_not-found/\",\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]]],null],null]},[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_e8ce0c\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"DAT Creativity Game Progress\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization\"}],[\"$\",\"meta\",\"4\",{\"name\":\"next-size-adjust\"}]]\n4:null\n"])</script></body></html>
|
out/_next/static/0QpfhtDA6HMYOb_8z8_NB/_buildManifest.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-1be831200e60c5c0.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
out/_next/static/0QpfhtDA6HMYOb_8z8_NB/_ssgManifest.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
|
out/_next/static/chunks/23-3c786d31948a49f2.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
out/_next/static/chunks/506-f293b903a260cb45.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[506],{8030:function(e,t,r){r.d(t,{Z:function(){return d}});var n=r(2265);/**
|
| 2 |
+
* @license lucide-react v0.539.0 - ISC
|
| 3 |
+
*
|
| 4 |
+
* This source code is licensed under the ISC license.
|
| 5 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 6 |
+
*/let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()),i=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},l=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},s=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};/**
|
| 7 |
+
* @license lucide-react v0.539.0 - ISC
|
| 8 |
+
*
|
| 9 |
+
* This source code is licensed under the ISC license.
|
| 10 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 11 |
+
*/var c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
| 12 |
+
* @license lucide-react v0.539.0 - ISC
|
| 13 |
+
*
|
| 14 |
+
* This source code is licensed under the ISC license.
|
| 15 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 16 |
+
*/let u=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:o=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:u="",children:d,iconNode:f,...p}=e;return(0,n.createElement)("svg",{ref:t,...c,width:o,height:o,stroke:r,strokeWidth:i?24*Number(a)/Number(o):a,className:l("lucide",u),...!d&&!s(p)&&{"aria-hidden":"true"},...p},[...f.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(d)?d:[d]])}),d=(e,t)=>{let r=(0,n.forwardRef)((r,a)=>{let{className:s,...c}=r;return(0,n.createElement)(u,{ref:a,iconNode:t,className:l("lucide-".concat(o(i(e))),"lucide-".concat(e),s),...c})});return r.displayName=i(e),r}},1976:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},3541:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]])},3409:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]])},933:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},4775:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("grid-3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]])},7151:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},8002:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},6418:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("mountain",[["path",{d:"m8 3 4 8 5-5 5 15H2L8 3z",key:"otkl63"}]])},2513:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},9590:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},1902:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},3225:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]])},5016:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("trophy",[["path",{d:"M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978",key:"1n3hpd"}],["path",{d:"M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978",key:"rfe1zi"}],["path",{d:"M18 9h1.5a1 1 0 0 0 0-5H18",key:"7xy6bh"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z",key:"1mhfuq"}],["path",{d:"M6 9H4.5a1 1 0 0 1 0-5H6",key:"tex48p"}]])},1240:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},4697:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},5430:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},6648:function(e,t,r){r.d(t,{default:function(){return o.a}});var n=r(5601),o=r.n(n)},8173:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return y}});let n=r(9920),o=r(1452),a=r(7437),i=o._(r(2265)),l=n._(r(4887)),s=n._(r(8321)),c=r(497),u=r(7103),d=r(3938);r(2301);let f=r(291),p=n._(r(1241)),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function g(e,t,r,n,o,a,i){let l=null==e?void 0:e.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function h(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let v=(0,i.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:o,height:l,width:s,decoding:c,className:u,style:d,fetchPriority:f,placeholder:p,loading:m,unoptimized:v,fill:b,onLoadRef:y,onLoadingCompleteRef:w,setBlurComplete:x,setShowAltText:k,sizesInput:E,onLoad:C,onError:S,...M}=e;return(0,a.jsx)("img",{...M,...h(f),loading:m,width:s,height:l,decoding:c,"data-nimg":b?"fill":"1",className:u,style:d,sizes:o,srcSet:n,src:r,ref:(0,i.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(S&&(e.src=e.src),e.complete&&g(e,p,y,w,x,v,E))},[r,p,y,w,x,S,v,E,t]),onLoad:e=>{g(e.currentTarget,p,y,w,x,v,E)},onError:e=>{k(!0),"empty"!==p&&x(!0),S&&S(e)}})});function b(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...h(r.fetchPriority)};return t&&l.default.preload?(l.default.preload(r.src,n),null):(0,a.jsx)(s.default,{children:(0,a.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let y=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(f.RouterContext),n=(0,i.useContext)(d.ImageConfigContext),o=(0,i.useMemo)(()=>{let e=m||n||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r}},[n]),{onLoad:l,onLoadingComplete:s}=e,g=(0,i.useRef)(l);(0,i.useEffect)(()=>{g.current=l},[l]);let h=(0,i.useRef)(s);(0,i.useEffect)(()=>{h.current=s},[s]);let[y,w]=(0,i.useState)(!1),[x,k]=(0,i.useState)(!1),{props:E,meta:C}=(0,c.getImgProps)(e,{defaultLoader:p.default,imgConf:o,blurComplete:y,showAltText:x});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v,{...E,unoptimized:C.unoptimized,placeholder:C.placeholder,fill:C.fill,onLoadRef:g,onLoadingCompleteRef:h,setBlurComplete:w,setShowAltText:k,sizesInput:e.sizes,ref:t}),C.priority?(0,a.jsx)(b,{isAppRouter:!r,imgAttributes:E}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2901:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(9920)._(r(2265)).default.createContext({})},687:function(e,t){function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},497:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return l}}),r(2301);let n=r(1564),o=r(7103);function a(e){return void 0!==e.default}function i(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function l(e,t){var r;let l,s,c,{src:u,sizes:d,unoptimized:f=!1,priority:p=!1,loading:m,className:g,quality:h,width:v,height:b,fill:y=!1,style:w,overrideSrc:x,onLoad:k,onLoadingComplete:E,placeholder:C="empty",blurDataURL:S,fetchPriority:M,layout:j,objectFit:P,objectPosition:N,lazyBoundary:O,lazyRoot:_,...R}=e,{imgConf:z,showAltText:A,blurComplete:I,defaultLoader:D}=t,T=z||o.imageConfigDefault;if("allSizes"in T)l=T;else{let e=[...T.deviceSizes,...T.imageSizes].sort((e,t)=>e-t),t=T.deviceSizes.sort((e,t)=>e-t);l={...T,allSizes:e,deviceSizes:t}}if(void 0===D)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let L=R.loader||D;delete R.loader,delete R.srcSet;let F="__next_img_default"in L;if(F){if("custom"===l.loader)throw Error('Image with src "'+u+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=L;L=t=>{let{config:r,...n}=t;return e(n)}}if(j){"fill"===j&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[j];e&&(w={...w,...e});let t={responsive:"100vw",fill:"100vw"}[j];t&&!d&&(d=t)}let W="",Z=i(v),U=i(b);if("object"==typeof(r=u)&&(a(r)||void 0!==r.src)){let e=a(u)?u.default:u;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(s=e.blurWidth,c=e.blurHeight,S=S||e.blurDataURL,W=e.src,!y){if(Z||U){if(Z&&!U){let t=Z/e.width;U=Math.round(e.height*t)}else if(!Z&&U){let t=U/e.height;Z=Math.round(e.width*t)}}else Z=e.width,U=e.height}}let $=!p&&("lazy"===m||void 0===m);(!(u="string"==typeof u?u:W)||u.startsWith("data:")||u.startsWith("blob:"))&&(f=!0,$=!1),l.unoptimized&&(f=!0),F&&u.endsWith(".svg")&&!l.dangerouslyAllowSVG&&(f=!0),p&&(M="high");let B=i(h),G=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:P,objectPosition:N}:{},A?{}:{color:"transparent"},w),V=I||"empty"===C?null:"blur"===C?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:Z,heightInt:U,blurWidth:s,blurHeight:c,blurDataURL:S||"",objectFit:G.objectFit})+'")':'url("'+C+'")',q=V?{backgroundSize:G.objectFit||"cover",backgroundPosition:G.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},H=function(e){let{config:t,src:r,unoptimized:n,width:o,quality:a,sizes:i,loader:l}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:s,kind:c}=function(e,t,r){let{deviceSizes:n,allSizes:o}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);n)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:o.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:o,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>o.find(t=>t>=e)||o[o.length-1]))],kind:"x"}}(t,o,i),u=s.length-1;return{sizes:i||"w"!==c?i:"100vw",srcSet:s.map((e,n)=>l({config:t,src:r,quality:a,width:e})+" "+("w"===c?e:n+1)+c).join(", "),src:l({config:t,src:r,quality:a,width:s[u]})}}({config:l,src:u,unoptimized:f,width:Z,quality:B,sizes:d,loader:L});return{props:{...R,loading:$?"lazy":m,fetchPriority:M,width:Z,height:U,decoding:"async",className:g,style:{...G,...q},sizes:H.sizes,srcSet:H.srcSet,src:x||H.src},meta:{unoptimized:f,priority:p,placeholder:C,fill:y}}}},8321:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return g},defaultHead:function(){return d}});let n=r(9920),o=r(1452),a=r(7437),i=o._(r(2265)),l=n._(r(5960)),s=r(2901),c=r(6590),u=r(687);function d(e){void 0===e&&(e=!1);let t=[(0,a.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,a.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(2301);let p=["name","httpEquiv","charSet","itemProp"];function m(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(d(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let a=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=p.length;e<t;e++){let t=p[e];if(o.props.hasOwnProperty(t)){if("charSet"===t)r.has(t)?a=!1:r.add(t);else{let e=o.props[t],r=n[t]||new Set;("name"!==t||!i)&&r.has(e)?a=!1:(r.add(e),n[t]=r)}}}}return a}}()).reverse().map((e,t)=>{let n=e.key||t;if(!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,i.default.cloneElement(e,t)}return i.default.cloneElement(e,{key:n})})}let g=function(e){let{children:t}=e,r=(0,i.useContext)(s.AmpStateContext),n=(0,i.useContext)(c.HeadManagerContext);return(0,a.jsx)(l.default,{reduceComponentsToState:m,headManager:n,inAmpMode:(0,u.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1564:function(e,t){function r(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:o,blurDataURL:a,objectFit:i}=e,l=n?40*n:t,s=o?40*o:r,c=l&&s?"viewBox='0 0 "+l+" "+s+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+c+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(c?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+a+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},3938:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(9920)._(r(2265)),o=r(7103),a=n.default.createContext(o.imageConfigDefault)},7103:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",remotePatterns:[],unoptimized:!1}},5601:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return s},getImageProps:function(){return l}});let n=r(9920),o=r(497),a=r(8173),i=n._(r(1241));function l(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let s=a.Image},1241:function(e,t){function r(e){let{config:t,src:r,width:n,quality:o}=e;return t.path+"?url="+encodeURIComponent(r)+"&w="+n+"&q="+(o||75)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}}),r.__next_img_default=!0;let n=r},291:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(9920)._(r(2265)).default.createContext(null)},5960:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(2265),o="undefined"==typeof window,a=o?()=>{}:n.useLayoutEffect,i=o?()=>{}:n.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}if(o){var s;null==t||null==(s=t.mountedInstances)||s.add(e.children),l()}return a(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),a(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},1584:function(e,t,r){r.d(t,{F:function(){return a},e:function(){return i}});var n=r(2265);function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function a(...e){return t=>{let r=!1,n=e.map(e=>{let n=o(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():o(e[t],null)}}}}function i(...e){return n.useCallback(a(...e),e)}},6286:function(e,t,r){let n;r.d(t,{x8:function(){return tp},VY:function(){return tu},dk:function(){return tf},aV:function(){return tc},h_:function(){return ts},fC:function(){return ti},Dx:function(){return td},xz:function(){return tl}});var o,a,i,l,s,c,u,d,f=r(2265),p=r.t(f,2);function m(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}"undefined"!=typeof window&&window.document&&window.document.createElement;var g=r(1584),h=r(7437),v=globalThis?.document?f.useLayoutEffect:()=>{},b=p[" useId ".trim().toString()]||(()=>void 0),y=0;function w(e){let[t,r]=f.useState(b());return v(()=>{e||r(e=>e??String(y++))},[e]),e||(t?`radix-${t}`:"")}var x=p[" useInsertionEffect ".trim().toString()]||v;Symbol("RADIX:SYNC_STATE");var k=r(4887),E=r(1538),C=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,E.Z8)(`Primitive.${t}`),n=f.forwardRef((e,n)=>{let{asChild:o,...a}=e,i=o?r:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,h.jsx)(i,{...a,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function S(e){let t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...e)=>t.current?.(...e),[])}var M="dismissableLayer.update",j=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),P=f.forwardRef((e,t)=>{var r,n;let{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:l,onInteractOutside:s,onDismiss:c,...d}=e,p=f.useContext(j),[v,b]=f.useState(null),y=null!==(n=null==v?void 0:v.ownerDocument)&&void 0!==n?n:null===(r=globalThis)||void 0===r?void 0:r.document,[,w]=f.useState({}),x=(0,g.e)(t,e=>b(e)),k=Array.from(p.layers),[E]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),P=k.indexOf(E),_=v?k.indexOf(v):-1,R=p.layersWithOutsidePointerEventsDisabled.size>0,z=_>=P,A=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null===(t=globalThis)||void 0===t?void 0:t.document,n=S(e),o=f.useRef(!1),a=f.useRef(()=>{});return f.useEffect(()=>{let e=e=>{if(e.target&&!o.current){let t=function(){O("dismissableLayer.pointerDownOutside",n,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(r.removeEventListener("click",a.current),a.current=t,r.addEventListener("click",a.current,{once:!0})):t()}else r.removeEventListener("click",a.current);o.current=!1},t=window.setTimeout(()=>{r.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(t),r.removeEventListener("pointerdown",e),r.removeEventListener("click",a.current)}},[r,n]),{onPointerDownCapture:()=>o.current=!0}}(e=>{let t=e.target,r=[...p.branches].some(e=>e.contains(t));!z||r||(null==i||i(e),null==s||s(e),e.defaultPrevented||null==c||c())},y),I=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null===(t=globalThis)||void 0===t?void 0:t.document,n=S(e),o=f.useRef(!1);return f.useEffect(()=>{let e=e=>{e.target&&!o.current&&O("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return r.addEventListener("focusin",e),()=>r.removeEventListener("focusin",e)},[r,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}(e=>{let t=e.target;[...p.branches].some(e=>e.contains(t))||(null==l||l(e),null==s||s(e),e.defaultPrevented||null==c||c())},y);return!function(e,t=globalThis?.document){let r=S(e);f.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{_!==p.layers.size-1||(null==a||a(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))},y),f.useEffect(()=>{if(v)return o&&(0===p.layersWithOutsidePointerEventsDisabled.size&&(u=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(v)),p.layers.add(v),N(),()=>{o&&1===p.layersWithOutsidePointerEventsDisabled.size&&(y.body.style.pointerEvents=u)}},[v,y,o,p]),f.useEffect(()=>()=>{v&&(p.layers.delete(v),p.layersWithOutsidePointerEventsDisabled.delete(v),N())},[v,p]),f.useEffect(()=>{let e=()=>w({});return document.addEventListener(M,e),()=>document.removeEventListener(M,e)},[]),(0,h.jsx)(C.div,{...d,ref:x,style:{pointerEvents:R?z?"auto":"none":void 0,...e.style},onFocusCapture:m(e.onFocusCapture,I.onFocusCapture),onBlurCapture:m(e.onBlurCapture,I.onBlurCapture),onPointerDownCapture:m(e.onPointerDownCapture,A.onPointerDownCapture)})});function N(){let e=new CustomEvent(M);document.dispatchEvent(e)}function O(e,t,r,n){let{discrete:o}=n,a=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});(t&&a.addEventListener(e,t,{once:!0}),o)?a&&k.flushSync(()=>a.dispatchEvent(i)):a.dispatchEvent(i)}P.displayName="DismissableLayer",f.forwardRef((e,t)=>{let r=f.useContext(j),n=f.useRef(null),o=(0,g.e)(t,n);return f.useEffect(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,h.jsx)(C.div,{...e,ref:o})}).displayName="DismissableLayerBranch";var _="focusScope.autoFocusOnMount",R="focusScope.autoFocusOnUnmount",z={bubbles:!1,cancelable:!0},A=f.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=f.useState(null),c=S(o),u=S(a),d=f.useRef(null),p=(0,g.e)(t,e=>s(e)),m=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(n){let e=function(e){if(m.paused||!l)return;let t=e.target;l.contains(t)?d.current=t:T(d.current,{select:!0})},t=function(e){if(m.paused||!l)return;let t=e.relatedTarget;null===t||l.contains(t)||T(d.current,{select:!0})};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&T(l)});return l&&r.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,l,m.paused]),f.useEffect(()=>{if(l){L.add(m);let e=document.activeElement;if(!l.contains(e)){let t=new CustomEvent(_,z);l.addEventListener(_,c),l.dispatchEvent(t),t.defaultPrevented||(function(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=document.activeElement;for(let n of e)if(T(n,{select:t}),document.activeElement!==r)return}(I(l).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&T(l))}return()=>{l.removeEventListener(_,c),setTimeout(()=>{let t=new CustomEvent(R,z);l.addEventListener(R,u),l.dispatchEvent(t),t.defaultPrevented||T(null!=e?e:document.body,{select:!0}),l.removeEventListener(R,u),L.remove(m)},0)}}},[l,c,u,m]);let v=f.useCallback(e=>{if(!r&&!n||m.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,o=document.activeElement;if(t&&o){let t=e.currentTarget,[n,a]=function(e){let t=I(e);return[D(t,e),D(t.reverse(),e)]}(t);n&&a?e.shiftKey||o!==a?e.shiftKey&&o===n&&(e.preventDefault(),r&&T(a,{select:!0})):(e.preventDefault(),r&&T(n,{select:!0})):o===t&&e.preventDefault()}},[r,n,m.paused]);return(0,h.jsx)(C.div,{tabIndex:-1,...i,ref:p,onKeyDown:v})});function I(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function D(e,t){for(let r of e)if(!function(e,t){let{upTo:r}=t;if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===r||e!==r);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function T(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}A.displayName="FocusScope";var L=(n=[],{add(e){let t=n[0];e!==t&&(null==t||t.pause()),(n=F(n,e)).unshift(e)},remove(e){var t;null===(t=(n=F(n,e))[0])||void 0===t||t.resume()}});function F(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var W=f.forwardRef((e,t)=>{var r,n;let{container:o,...a}=e,[i,l]=f.useState(!1);v(()=>l(!0),[]);let s=o||i&&(null===(n=globalThis)||void 0===n?void 0:null===(r=n.document)||void 0===r?void 0:r.body);return s?k.createPortal((0,h.jsx)(C.div,{...a,ref:t}),s):null});W.displayName="Portal";var Z=e=>{var t,r;let n,o;let{present:a,children:i}=e,l=function(e){var t,r;let[n,o]=f.useState(),a=f.useRef(null),i=f.useRef(e),l=f.useRef("none"),[s,c]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},f.useReducer((e,t)=>{let n=r[e][t];return null!=n?n:e},t));return f.useEffect(()=>{let e=U(a.current);l.current="mounted"===s?e:"none"},[s]),v(()=>{let t=a.current,r=i.current;if(r!==e){let n=l.current,o=U(t);e?c("MOUNT"):"none"===o||(null==t?void 0:t.display)==="none"?c("UNMOUNT"):r&&n!==o?c("ANIMATION_OUT"):c("UNMOUNT"),i.current=e}},[e,c]),v(()=>{if(n){var e;let t;let r=null!==(e=n.ownerDocument.defaultView)&&void 0!==e?e:window,o=e=>{let o=U(a.current).includes(CSS.escape(e.animationName));if(e.target===n&&o&&(c("ANIMATION_END"),!i.current)){let e=n.style.animationFillMode;n.style.animationFillMode="forwards",t=r.setTimeout(()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=e)})}},s=e=>{e.target===n&&(l.current=U(a.current))};return n.addEventListener("animationstart",s),n.addEventListener("animationcancel",o),n.addEventListener("animationend",o),()=>{r.clearTimeout(t),n.removeEventListener("animationstart",s),n.removeEventListener("animationcancel",o),n.removeEventListener("animationend",o)}}c("ANIMATION_END")},[n,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:f.useCallback(e=>{a.current=e?getComputedStyle(e):null,o(e)},[])}}(a),s="function"==typeof i?i({present:l.isPresent}):f.Children.only(i),c=(0,g.e)(l.ref,(n=null===(t=Object.getOwnPropertyDescriptor(s.props,"ref"))||void 0===t?void 0:t.get)&&"isReactWarning"in n&&n.isReactWarning?s.ref:(n=null===(r=Object.getOwnPropertyDescriptor(s,"ref"))||void 0===r?void 0:r.get)&&"isReactWarning"in n&&n.isReactWarning?s.props.ref:s.props.ref||s.ref);return"function"==typeof i||l.isPresent?f.cloneElement(s,{ref:c}):null};function U(e){return(null==e?void 0:e.animationName)||"none"}Z.displayName="Presence";var $=0;function B(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var G=function(){return(G=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function V(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)0>t.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}"function"==typeof SuppressedError&&SuppressedError;var q="right-scroll-bar-position",H="width-before-scroll-bar";function Y(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var K="undefined"!=typeof window?f.useLayoutEffect:f.useEffect,X=new WeakMap,J=(void 0===o&&(o={}),(void 0===a&&(a=function(e){return e}),i=[],l=!1,s={read:function(){if(l)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:null},useMedium:function(e){var t=a(e,l);return i.push(t),function(){i=i.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(l=!0;i.length;){var t=i;i=[],t.forEach(e)}i={push:function(t){return e(t)},filter:function(){return i}}},assignMedium:function(e){l=!0;var t=[];if(i.length){var r=i;i=[],r.forEach(e),t=i}var n=function(){var r=t;t=[],r.forEach(e)},o=function(){return Promise.resolve().then(n)};o(),i={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),i}}}}).options=G({async:!0,ssr:!1},o),s),Q=function(){},ee=f.forwardRef(function(e,t){var r,n,o,a,i=f.useRef(null),l=f.useState({onScrollCapture:Q,onWheelCapture:Q,onTouchMoveCapture:Q}),s=l[0],c=l[1],u=e.forwardProps,d=e.children,p=e.className,m=e.removeScrollBar,g=e.enabled,h=e.shards,v=e.sideCar,b=e.noRelative,y=e.noIsolation,w=e.inert,x=e.allowPinchZoom,k=e.as,E=e.gapMode,C=V(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=(r=[i,t],n=function(e){return r.forEach(function(t){return Y(t,e)})},(o=(0,f.useState)(function(){return{value:null,callback:n,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=n,a=o.facade,K(function(){var e=X.get(a);if(e){var t=new Set(e),n=new Set(r),o=a.current;t.forEach(function(e){n.has(e)||Y(e,null)}),n.forEach(function(e){t.has(e)||Y(e,o)})}X.set(a,r)},[r]),a),M=G(G({},C),s);return f.createElement(f.Fragment,null,g&&f.createElement(v,{sideCar:J,removeScrollBar:m,shards:h,noRelative:b,noIsolation:y,inert:w,setCallbacks:c,allowPinchZoom:!!x,lockRef:i,gapMode:E}),u?f.cloneElement(f.Children.only(d),G(G({},M),{ref:S})):f.createElement(void 0===k?"div":k,G({},M,{className:p,ref:S}),d))});ee.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},ee.classNames={fullWidth:H,zeroRight:q};var et=function(e){var t=e.sideCar,r=V(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return f.createElement(n,G({},r))};et.isSideCarExport=!0;var er=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=d||r.nc;return t&&e.setAttribute("nonce",t),e}())){var o,a;(o=t).styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n)),a=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(a)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},en=function(){var e=er();return function(t,r){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},eo=function(){var e=en();return function(t){return e(t.styles,t.dynamic),null}},ea={left:0,top:0,right:0,gap:0},ei=function(e){return parseInt(e||"",10)||0},el=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[ei(r),ei(n),ei(o)]},es=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return ea;var t=el(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},ec=eo(),eu="data-scroll-locked",ed=function(e,t,r,n){var o=e.left,a=e.top,i=e.right,l=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(l,"px ").concat(n,";\n }\n body[").concat(eu,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(l,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(q," {\n right: ").concat(l,"px ").concat(n,";\n }\n \n .").concat(H," {\n margin-right: ").concat(l,"px ").concat(n,";\n }\n \n .").concat(q," .").concat(q," {\n right: 0 ").concat(n,";\n }\n \n .").concat(H," .").concat(H," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(eu,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},ef=function(){var e=parseInt(document.body.getAttribute(eu)||"0",10);return isFinite(e)?e:0},ep=function(){f.useEffect(function(){return document.body.setAttribute(eu,(ef()+1).toString()),function(){var e=ef()-1;e<=0?document.body.removeAttribute(eu):document.body.setAttribute(eu,e.toString())}},[])},em=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,o=void 0===n?"margin":n;ep();var a=f.useMemo(function(){return es(o)},[o]);return f.createElement(ec,{styles:ed(a,!t,o,r?"":"!important")})},eg=!1;if("undefined"!=typeof window)try{var eh=Object.defineProperty({},"passive",{get:function(){return eg=!0,!0}});window.addEventListener("test",eh,eh),window.removeEventListener("test",eh,eh)}catch(e){eg=!1}var ev=!!eg&&{passive:!1},eb=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&"TEXTAREA"!==e.tagName&&"visible"===r[t])},ey=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),ew(e,n)){var o=ex(e,n);if(o[1]>o[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},ew=function(e,t){return"v"===e?eb(t,"overflowY"):eb(t,"overflowX")},ex=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},ek=function(e,t,r,n,o){var a,i=(a=window.getComputedStyle(t).direction,"h"===e&&"rtl"===a?-1:1),l=i*n,s=r.target,c=t.contains(s),u=!1,d=l>0,f=0,p=0;do{if(!s)break;var m=ex(e,s),g=m[0],h=m[1]-m[2]-i*g;(g||h)&&ew(e,s)&&(f+=h,p+=g);var v=s.parentNode;s=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return d&&(o&&1>Math.abs(f)||!o&&l>f)?u=!0:!d&&(o&&1>Math.abs(p)||!o&&-l>p)&&(u=!0),u},eE=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},eC=function(e){return[e.deltaX,e.deltaY]},eS=function(e){return e&&"current"in e?e.current:e},eM=0,ej=[],eP=(c=function(e){var t=f.useRef([]),r=f.useRef([0,0]),n=f.useRef(),o=f.useState(eM++)[0],a=f.useState(eo)[0],i=f.useRef(e);f.useEffect(function(){i.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(eS),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=f.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var o,a=eE(e),l=r.current,s="deltaX"in e?e.deltaX:l[0]-a[0],c="deltaY"in e?e.deltaY:l[1]-a[1],u=e.target,d=Math.abs(s)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var f=ey(d,u);if(!f)return!0;if(f?o=d:(o="v"===d?"h":"v",f=ey(d,u)),!f)return!1;if(!n.current&&"changedTouches"in e&&(s||c)&&(n.current=o),!o)return!0;var p=n.current||o;return ek(p,t,e,"h"===p?s:c,!0)},[]),s=f.useCallback(function(e){if(ej.length&&ej[ej.length-1]===a){var r="deltaY"in e?eC(e):eE(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta)[0]===r[0]&&n[1]===r[1]})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var o=(i.current.shards||[]).map(eS).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?l(e,o[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=f.useCallback(function(e,r,n,o){var a={name:e,delta:r,target:n,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=f.useCallback(function(e){r.current=eE(e),n.current=void 0},[]),d=f.useCallback(function(t){c(t.type,eC(t),t.target,l(t,e.lockRef.current))},[]),p=f.useCallback(function(t){c(t.type,eE(t),t.target,l(t,e.lockRef.current))},[]);f.useEffect(function(){return ej.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:p}),document.addEventListener("wheel",s,ev),document.addEventListener("touchmove",s,ev),document.addEventListener("touchstart",u,ev),function(){ej=ej.filter(function(e){return e!==a}),document.removeEventListener("wheel",s,ev),document.removeEventListener("touchmove",s,ev),document.removeEventListener("touchstart",u,ev)}},[]);var m=e.removeScrollBar,g=e.inert;return f.createElement(f.Fragment,null,g?f.createElement(a,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,m?f.createElement(em,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},J.useMedium(c),et),eN=f.forwardRef(function(e,t){return f.createElement(ee,G({},e,{ref:t,sideCar:eP}))});eN.classNames=ee.classNames;var eO=new WeakMap,e_=new WeakMap,eR={},ez=0,eA=function(e){return e&&(e.host||eA(e.parentNode))},eI=function(e,t,r,n){var o=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=eA(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});eR[r]||(eR[r]=new WeakMap);var a=eR[r],i=[],l=new Set,s=new Set(o),c=function(e){!e||l.has(e)||(l.add(e),c(e.parentNode))};o.forEach(c);var u=function(e){!e||s.has(e)||Array.prototype.forEach.call(e.children,function(e){if(l.has(e))u(e);else try{var t=e.getAttribute(n),o=null!==t&&"false"!==t,s=(eO.get(e)||0)+1,c=(a.get(e)||0)+1;eO.set(e,s),a.set(e,c),i.push(e),1===s&&o&&e_.set(e,!0),1===c&&e.setAttribute(r,"true"),o||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return u(t),l.clear(),ez++,function(){i.forEach(function(e){var t=eO.get(e)-1,o=a.get(e)-1;eO.set(e,t),a.set(e,o),t||(e_.has(e)||e.removeAttribute(n),e_.delete(e)),o||e.removeAttribute(r)}),--ez||(eO=new WeakMap,eO=new WeakMap,e_=new WeakMap,eR={})}},eD=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=t||("undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),eI(n,o,r,"aria-hidden")):function(){return null}},eT="Dialog",[eL,eF]=function(e,t=[]){let r=[],n=()=>{let t=r.map(e=>f.createContext(e));return function(r){let n=r?.[e]||t;return f.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return n.scopeName=e,[function(t,n){let o=f.createContext(n),a=r.length;r=[...r,n];let i=t=>{let{scope:r,children:n,...i}=t,l=r?.[e]?.[a]||o,s=f.useMemo(()=>i,Object.values(i));return(0,h.jsx)(l.Provider,{value:s,children:n})};return i.displayName=t+"Provider",[i,function(r,i){let l=i?.[e]?.[a]||o,s=f.useContext(l);if(s)return s;if(void 0!==n)return n;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=r.reduce((t,{useScope:r,scopeName:n})=>{let o=r(e)[`__scope${n}`];return{...t,...o}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}(n,...t)]}(eT),[eW,eZ]=eL(eT),eU=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:a,modal:i=!0}=e,l=f.useRef(null),s=f.useRef(null),[c,u]=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[o,a,i]=function({defaultProp:e,onChange:t}){let[r,n]=f.useState(e),o=f.useRef(r),a=f.useRef(t);return x(()=>{a.current=t},[t]),f.useEffect(()=>{o.current!==r&&(a.current?.(r),o.current=r)},[r,o]),[r,n,a]}({defaultProp:t,onChange:r}),l=void 0!==e,s=l?e:o;{let t=f.useRef(void 0!==e);f.useEffect(()=>{let e=t.current;if(e!==l){let t=l?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=l},[l,n])}return[s,f.useCallback(t=>{if(l){let r="function"==typeof t?t(e):t;r!==e&&i.current?.(r)}else a(t)},[l,e,a,i])]}({prop:n,defaultProp:null!=o&&o,onChange:a,caller:eT});return(0,h.jsx)(eW,{scope:t,triggerRef:l,contentRef:s,contentId:w(),titleId:w(),descriptionId:w(),open:c,onOpenChange:u,onOpenToggle:f.useCallback(()=>u(e=>!e),[u]),modal:i,children:r})};eU.displayName=eT;var e$="DialogTrigger",eB=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(e$,r),a=(0,g.e)(t,o.triggerRef);return(0,h.jsx)(C.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":te(o.open),...n,ref:a,onClick:m(e.onClick,o.onOpenToggle)})});eB.displayName=e$;var eG="DialogPortal",[eV,eq]=eL(eG,{forceMount:void 0}),eH=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:o}=e,a=eZ(eG,t);return(0,h.jsx)(eV,{scope:t,forceMount:r,children:f.Children.map(n,e=>(0,h.jsx)(Z,{present:r||a.open,children:(0,h.jsx)(W,{asChild:!0,container:o,children:e})}))})};eH.displayName=eG;var eY="DialogOverlay",eK=f.forwardRef((e,t)=>{let r=eq(eY,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,a=eZ(eY,e.__scopeDialog);return a.modal?(0,h.jsx)(Z,{present:n||a.open,children:(0,h.jsx)(eJ,{...o,ref:t})}):null});eK.displayName=eY;var eX=(0,E.Z8)("DialogOverlay.RemoveScroll"),eJ=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(eY,r);return(0,h.jsx)(eN,{as:eX,allowPinchZoom:!0,shards:[o.contentRef],children:(0,h.jsx)(C.div,{"data-state":te(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),eQ="DialogContent",e0=f.forwardRef((e,t)=>{let r=eq(eQ,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,a=eZ(eQ,e.__scopeDialog);return(0,h.jsx)(Z,{present:n||a.open,children:a.modal?(0,h.jsx)(e1,{...o,ref:t}):(0,h.jsx)(e2,{...o,ref:t})})});e0.displayName=eQ;var e1=f.forwardRef((e,t)=>{let r=eZ(eQ,e.__scopeDialog),n=f.useRef(null),o=(0,g.e)(t,r.contentRef,n);return f.useEffect(()=>{let e=n.current;if(e)return eD(e)},[]),(0,h.jsx)(e3,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:m(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null===(t=r.triggerRef.current)||void 0===t||t.focus()}),onPointerDownOutside:m(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:m(e.onFocusOutside,e=>e.preventDefault())})}),e2=f.forwardRef((e,t)=>{let r=eZ(eQ,e.__scopeDialog),n=f.useRef(!1),o=f.useRef(!1);return(0,h.jsx)(e3,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var a,i;null===(a=e.onCloseAutoFocus)||void 0===a||a.call(e,t),t.defaultPrevented||(n.current||null===(i=r.triggerRef.current)||void 0===i||i.focus(),t.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:t=>{var a,i;null===(a=e.onInteractOutside)||void 0===a||a.call(e,t),t.defaultPrevented||(n.current=!0,"pointerdown"!==t.detail.originalEvent.type||(o.current=!0));let l=t.target;(null===(i=r.triggerRef.current)||void 0===i?void 0:i.contains(l))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})}),e3=f.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:a,...i}=e,l=eZ(eQ,r),s=f.useRef(null),c=(0,g.e)(t,s);return f.useEffect(()=>{var e,t;let r=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",null!==(e=r[0])&&void 0!==e?e:B()),document.body.insertAdjacentElement("beforeend",null!==(t=r[1])&&void 0!==t?t:B()),$++,()=>{1===$&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),$--}},[]),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(A,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:a,children:(0,h.jsx)(P,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":te(l.open),...i,ref:c,onDismiss:()=>l.onOpenChange(!1)})}),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(to,{titleId:l.titleId}),(0,h.jsx)(ta,{contentRef:s,descriptionId:l.descriptionId})]})]})}),e8="DialogTitle",e6=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(e8,r);return(0,h.jsx)(C.h2,{id:o.titleId,...n,ref:t})});e6.displayName=e8;var e5="DialogDescription",e4=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(e5,r);return(0,h.jsx)(C.p,{id:o.descriptionId,...n,ref:t})});e4.displayName=e5;var e7="DialogClose",e9=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(e7,r);return(0,h.jsx)(C.button,{type:"button",...n,ref:t,onClick:m(e.onClick,()=>o.onOpenChange(!1))})});function te(e){return e?"open":"closed"}e9.displayName=e7;var tt="DialogTitleWarning",[tr,tn]=function(e,t){let r=f.createContext(t),n=e=>{let{children:t,...n}=e,o=f.useMemo(()=>n,Object.values(n));return(0,h.jsx)(r.Provider,{value:o,children:t})};return n.displayName=e+"Provider",[n,function(n){let o=f.useContext(r);if(o)return o;if(void 0!==t)return t;throw Error(`\`${n}\` must be used within \`${e}\``)}]}(tt,{contentName:eQ,titleName:e8,docsSlug:"dialog"}),to=e=>{let{titleId:t}=e,r=tn(tt),n="`".concat(r.contentName,"` requires a `").concat(r.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(r.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(r.docsSlug);return f.useEffect(()=>{t&&!document.getElementById(t)&&console.error(n)},[n,t]),null},ta=e=>{let{contentRef:t,descriptionId:r}=e,n=tn("DialogDescriptionWarning"),o="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(n.contentName,"}.");return f.useEffect(()=>{var e;let n=null===(e=t.current)||void 0===e?void 0:e.getAttribute("aria-describedby");r&&n&&!document.getElementById(r)&&console.warn(o)},[o,t,r]),null},ti=eU,tl=eB,ts=eH,tc=eK,tu=e0,td=e6,tf=e4,tp=e9},1538:function(e,t,r){r.d(t,{Z8:function(){return i},g7:function(){return l}});var n=r(2265),o=r(1584),a=r(7437);function i(e){let t=function(e){let t=n.forwardRef((e,t)=>{let{children:r,...a}=e;if(n.isValidElement(r)){let e,i;let l=(e=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?r.ref:(e=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?r.props.ref:r.props.ref||r.ref,s=function(e,t){let r={...t};for(let n in t){let o=e[n],a=t[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(r[n]=o):"style"===n?r[n]={...o,...a}:"className"===n&&(r[n]=[o,a].filter(Boolean).join(" "))}return{...e,...r}}(a,r.props);return r.type!==n.Fragment&&(s.ref=t?(0,o.F)(t,l):l),n.cloneElement(r,s)}return n.Children.count(r)>1?n.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),r=n.forwardRef((e,r)=>{let{children:o,...i}=e,l=n.Children.toArray(o),s=l.find(c);if(s){let e=s.props.children,o=l.map(t=>t!==s?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,a.jsx)(t,{...i,ref:r,children:n.isValidElement(e)?n.cloneElement(e,void 0,o):null})}return(0,a.jsx)(t,{...i,ref:r,children:o})});return r.displayName=`${e}.Slot`,r}var l=i("Slot"),s=Symbol("radix.slottable");function c(e){return n.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===s}},3027:function(e,t,r){r.d(t,{j:function(){return i}});var n=r(4839);let o=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=n.W,i=(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return a(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:l}=t,s=Object.keys(i).map(e=>{let t=null==r?void 0:r[e],n=null==l?void 0:l[e];if(null===t)return null;let a=o(t)||o(n);return i[e][a]}),c=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return a(e,s,null==t?void 0:null===(n=t.compoundVariants)||void 0===n?void 0:n.reduce((e,t)=>{let{class:r,className:n,...o}=t;return Object.entries(o).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...l,...c}[t]):({...l,...c})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},4839:function(e,t,r){r.d(t,{W:function(){return n}});function n(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=function e(t){var r,n,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t){if(Array.isArray(t)){var a=t.length;for(r=0;r<a;r++)t[r]&&(n=e(t[r]))&&(o&&(o+=" "),o+=n)}else for(n in t)t[n]&&(o&&(o+=" "),o+=n)}return o}(e))&&(n&&(n+=" "),n+=t);return n}},6164:function(e,t,r){r.d(t,{m6:function(){return ec}});let n=e=>{let t=l(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{let r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),o(r,t)||i(e)},getConflictingClassGroupIds:(e,t)=>{let o=r[e]||[];return t&&n[e]?[...o,...n[e]]:o}}},o=(e,t)=>{if(0===e.length)return t.classGroupId;let r=e[0],n=t.nextPart.get(r),a=n?o(e.slice(1),n):void 0;if(a)return a;if(0===t.validators.length)return;let i=e.join("-");return t.validators.find(({validator:e})=>e(i))?.classGroupId},a=/^\[(.+)\]$/,i=e=>{if(a.test(e)){let t=a.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},l=e=>{let{theme:t,classGroups:r}=e,n={nextPart:new Map,validators:[]};for(let e in r)s(r[e],n,e,t);return n},s=(e,t,r,n)=>{e.forEach(e=>{if("string"==typeof e){(""===e?t:c(t,e)).classGroupId=r;return}if("function"==typeof e){if(u(e)){s(e(n),t,r,n);return}t.validators.push({validator:e,classGroupId:r});return}Object.entries(e).forEach(([e,o])=>{s(o,c(t,e),r,n)})})},c=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},u=e=>e.isThemeGetter,d=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=new Map,n=new Map,o=(o,a)=>{r.set(o,a),++t>e&&(t=0,n=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(o(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):o(e,t)}}},f=e=>{let{prefix:t,experimentalParseClassName:r}=e,n=e=>{let t;let r=[],n=0,o=0,a=0;for(let i=0;i<e.length;i++){let l=e[i];if(0===n&&0===o){if(":"===l){r.push(e.slice(a,i)),a=i+1;continue}if("/"===l){t=i;continue}}"["===l?n++:"]"===l?n--:"("===l?o++:")"===l&&o--}let i=0===r.length?e:e.substring(a),l=p(i);return{modifiers:r,hasImportantModifier:l!==i,baseClassName:l,maybePostfixModifierPosition:t&&t>a?t-a:void 0}};if(t){let e=t+":",r=n;n=t=>t.startsWith(e)?r(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(r){let e=n;n=t=>r({className:t,parseClassName:e})}return n},p=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,m=e=>{let t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;let r=[],n=[];return e.forEach(e=>{"["===e[0]||t[e]?(r.push(...n.sort(),e),n=[]):n.push(e)}),r.push(...n.sort()),r}},g=e=>({cache:d(e.cacheSize),parseClassName:f(e),sortModifiers:m(e),...n(e)}),h=/\s+/,v=(e,t)=>{let{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(h),s="";for(let e=l.length-1;e>=0;e-=1){let t=l[e],{isExternal:c,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=r(t);if(c){s=t+(s.length>0?" "+s:s);continue}let m=!!p,g=n(m?f.substring(0,p):f);if(!g){if(!m||!(g=n(f))){s=t+(s.length>0?" "+s:s);continue}m=!1}let h=a(u).join(":"),v=d?h+"!":h,b=v+g;if(i.includes(b))continue;i.push(b);let y=o(g,m);for(let e=0;e<y.length;++e){let t=y[e];i.push(v+t)}s=t+(s.length>0?" "+s:s)}return s};function b(){let e,t,r=0,n="";for(;r<arguments.length;)(e=arguments[r++])&&(t=y(e))&&(n&&(n+=" "),n+=t);return n}let y=e=>{let t;if("string"==typeof e)return e;let r="";for(let n=0;n<e.length;n++)e[n]&&(t=y(e[n]))&&(r&&(r+=" "),r+=t);return r},w=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},x=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,k=/^\((?:(\w[\w-]*):)?(.+)\)$/i,E=/^\d+\/\d+$/,C=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,S=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,M=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,j=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,P=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,N=e=>E.test(e),O=e=>!!e&&!Number.isNaN(Number(e)),_=e=>!!e&&Number.isInteger(Number(e)),R=e=>e.endsWith("%")&&O(e.slice(0,-1)),z=e=>C.test(e),A=()=>!0,I=e=>S.test(e)&&!M.test(e),D=()=>!1,T=e=>j.test(e),L=e=>P.test(e),F=e=>!Z(e)&&!q(e),W=e=>ee(e,eo,D),Z=e=>x.test(e),U=e=>ee(e,ea,I),$=e=>ee(e,ei,O),B=e=>ee(e,er,D),G=e=>ee(e,en,L),V=e=>ee(e,es,T),q=e=>k.test(e),H=e=>et(e,ea),Y=e=>et(e,el),K=e=>et(e,er),X=e=>et(e,eo),J=e=>et(e,en),Q=e=>et(e,es,!0),ee=(e,t,r)=>{let n=x.exec(e);return!!n&&(n[1]?t(n[1]):r(n[2]))},et=(e,t,r=!1)=>{let n=k.exec(e);return!!n&&(n[1]?t(n[1]):r)},er=e=>"position"===e||"percentage"===e,en=e=>"image"===e||"url"===e,eo=e=>"length"===e||"size"===e||"bg-size"===e,ea=e=>"length"===e,ei=e=>"number"===e,el=e=>"family-name"===e,es=e=>"shadow"===e,ec=function(e,...t){let r,n,o;let a=function(l){return n=(r=g(t.reduce((e,t)=>t(e),e()))).cache.get,o=r.cache.set,a=i,i(l)};function i(e){let t=n(e);if(t)return t;let a=v(e,r);return o(e,a),a}return function(){return a(b.apply(null,arguments))}}(()=>{let e=w("color"),t=w("font"),r=w("text"),n=w("font-weight"),o=w("tracking"),a=w("leading"),i=w("breakpoint"),l=w("container"),s=w("spacing"),c=w("radius"),u=w("shadow"),d=w("inset-shadow"),f=w("text-shadow"),p=w("drop-shadow"),m=w("blur"),g=w("perspective"),h=w("aspect"),v=w("ease"),b=w("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...x(),q,Z],E=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],S=()=>[q,Z,s],M=()=>[N,"full","auto",...S()],j=()=>[_,"none","subgrid",q,Z],P=()=>["auto",{span:["full",_,q,Z]},_,q,Z],I=()=>[_,"auto",q,Z],D=()=>["auto","min","max","fr",q,Z],T=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],L=()=>["start","end","center","stretch","center-safe","end-safe"],ee=()=>["auto",...S()],et=()=>[N,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],er=()=>[e,q,Z],en=()=>[...x(),K,B,{position:[q,Z]}],eo=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ea=()=>["auto","cover","contain",X,W,{size:[q,Z]}],ei=()=>[R,H,U],el=()=>["","none","full",c,q,Z],es=()=>["",O,H,U],ec=()=>["solid","dashed","dotted","double"],eu=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ed=()=>[O,R,K,B],ef=()=>["","none",m,q,Z],ep=()=>["none",O,q,Z],em=()=>["none",O,q,Z],eg=()=>[O,q,Z],eh=()=>[N,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[z],breakpoint:[z],color:[A],container:[z],"drop-shadow":[z],ease:["in","out","in-out"],font:[F],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[z],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[z],shadow:[z],spacing:["px",O],text:[z],"text-shadow":[z],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",N,Z,q,h]}],container:["container"],columns:[{columns:[O,Z,q,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{start:M()}],end:[{end:M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[_,"auto",q,Z]}],basis:[{basis:[N,"full","auto",l,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[O,N,"auto","initial","none",Z]}],grow:[{grow:["",O,q,Z]}],shrink:[{shrink:["",O,q,Z]}],order:[{order:[_,"first","last","none",q,Z]}],"grid-cols":[{"grid-cols":j()}],"col-start-end":[{col:P()}],"col-start":[{"col-start":I()}],"col-end":[{"col-end":I()}],"grid-rows":[{"grid-rows":j()}],"row-start-end":[{row:P()}],"row-start":[{"row-start":I()}],"row-end":[{"row-end":I()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...T(),"normal"]}],"justify-items":[{"justify-items":[...L(),"normal"]}],"justify-self":[{"justify-self":["auto",...L()]}],"align-content":[{content:["normal",...T()]}],"align-items":[{items:[...L(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...L(),{baseline:["","last"]}]}],"place-content":[{"place-content":T()}],"place-items":[{"place-items":[...L(),"baseline"]}],"place-self":[{"place-self":["auto",...L()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:et()}],w:[{w:[l,"screen",...et()]}],"min-w":[{"min-w":[l,"screen","none",...et()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...et()]}],h:[{h:["screen","lh",...et()]}],"min-h":[{"min-h":["screen","lh","none",...et()]}],"max-h":[{"max-h":["screen","lh",...et()]}],"font-size":[{text:["base",r,H,U]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,q,$]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",R,Z]}],"font-family":[{font:[Y,Z,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,q,Z]}],"line-clamp":[{"line-clamp":[O,"none",q,$]}],leading:[{leading:[a,...S()]}],"list-image":[{"list-image":["none",q,Z]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",q,Z]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:er()}],"text-color":[{text:er()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ec(),"wavy"]}],"text-decoration-thickness":[{decoration:[O,"from-font","auto",q,U]}],"text-decoration-color":[{decoration:er()}],"underline-offset":[{"underline-offset":[O,"auto",q,Z]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",q,Z]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",q,Z]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:en()}],"bg-repeat":[{bg:eo()}],"bg-size":[{bg:ea()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},_,q,Z],radial:["",q,Z],conic:[_,q,Z]},J,G]}],"bg-color":[{bg:er()}],"gradient-from-pos":[{from:ei()}],"gradient-via-pos":[{via:ei()}],"gradient-to-pos":[{to:ei()}],"gradient-from":[{from:er()}],"gradient-via":[{via:er()}],"gradient-to":[{to:er()}],rounded:[{rounded:el()}],"rounded-s":[{"rounded-s":el()}],"rounded-e":[{"rounded-e":el()}],"rounded-t":[{"rounded-t":el()}],"rounded-r":[{"rounded-r":el()}],"rounded-b":[{"rounded-b":el()}],"rounded-l":[{"rounded-l":el()}],"rounded-ss":[{"rounded-ss":el()}],"rounded-se":[{"rounded-se":el()}],"rounded-ee":[{"rounded-ee":el()}],"rounded-es":[{"rounded-es":el()}],"rounded-tl":[{"rounded-tl":el()}],"rounded-tr":[{"rounded-tr":el()}],"rounded-br":[{"rounded-br":el()}],"rounded-bl":[{"rounded-bl":el()}],"border-w":[{border:es()}],"border-w-x":[{"border-x":es()}],"border-w-y":[{"border-y":es()}],"border-w-s":[{"border-s":es()}],"border-w-e":[{"border-e":es()}],"border-w-t":[{"border-t":es()}],"border-w-r":[{"border-r":es()}],"border-w-b":[{"border-b":es()}],"border-w-l":[{"border-l":es()}],"divide-x":[{"divide-x":es()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":es()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ec(),"hidden","none"]}],"divide-style":[{divide:[...ec(),"hidden","none"]}],"border-color":[{border:er()}],"border-color-x":[{"border-x":er()}],"border-color-y":[{"border-y":er()}],"border-color-s":[{"border-s":er()}],"border-color-e":[{"border-e":er()}],"border-color-t":[{"border-t":er()}],"border-color-r":[{"border-r":er()}],"border-color-b":[{"border-b":er()}],"border-color-l":[{"border-l":er()}],"divide-color":[{divide:er()}],"outline-style":[{outline:[...ec(),"none","hidden"]}],"outline-offset":[{"outline-offset":[O,q,Z]}],"outline-w":[{outline:["",O,H,U]}],"outline-color":[{outline:er()}],shadow:[{shadow:["","none",u,Q,V]}],"shadow-color":[{shadow:er()}],"inset-shadow":[{"inset-shadow":["none",d,Q,V]}],"inset-shadow-color":[{"inset-shadow":er()}],"ring-w":[{ring:es()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:er()}],"ring-offset-w":[{"ring-offset":[O,U]}],"ring-offset-color":[{"ring-offset":er()}],"inset-ring-w":[{"inset-ring":es()}],"inset-ring-color":[{"inset-ring":er()}],"text-shadow":[{"text-shadow":["none",f,Q,V]}],"text-shadow-color":[{"text-shadow":er()}],opacity:[{opacity:[O,q,Z]}],"mix-blend":[{"mix-blend":[...eu(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eu()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[O]}],"mask-image-linear-from-pos":[{"mask-linear-from":ed()}],"mask-image-linear-to-pos":[{"mask-linear-to":ed()}],"mask-image-linear-from-color":[{"mask-linear-from":er()}],"mask-image-linear-to-color":[{"mask-linear-to":er()}],"mask-image-t-from-pos":[{"mask-t-from":ed()}],"mask-image-t-to-pos":[{"mask-t-to":ed()}],"mask-image-t-from-color":[{"mask-t-from":er()}],"mask-image-t-to-color":[{"mask-t-to":er()}],"mask-image-r-from-pos":[{"mask-r-from":ed()}],"mask-image-r-to-pos":[{"mask-r-to":ed()}],"mask-image-r-from-color":[{"mask-r-from":er()}],"mask-image-r-to-color":[{"mask-r-to":er()}],"mask-image-b-from-pos":[{"mask-b-from":ed()}],"mask-image-b-to-pos":[{"mask-b-to":ed()}],"mask-image-b-from-color":[{"mask-b-from":er()}],"mask-image-b-to-color":[{"mask-b-to":er()}],"mask-image-l-from-pos":[{"mask-l-from":ed()}],"mask-image-l-to-pos":[{"mask-l-to":ed()}],"mask-image-l-from-color":[{"mask-l-from":er()}],"mask-image-l-to-color":[{"mask-l-to":er()}],"mask-image-x-from-pos":[{"mask-x-from":ed()}],"mask-image-x-to-pos":[{"mask-x-to":ed()}],"mask-image-x-from-color":[{"mask-x-from":er()}],"mask-image-x-to-color":[{"mask-x-to":er()}],"mask-image-y-from-pos":[{"mask-y-from":ed()}],"mask-image-y-to-pos":[{"mask-y-to":ed()}],"mask-image-y-from-color":[{"mask-y-from":er()}],"mask-image-y-to-color":[{"mask-y-to":er()}],"mask-image-radial":[{"mask-radial":[q,Z]}],"mask-image-radial-from-pos":[{"mask-radial-from":ed()}],"mask-image-radial-to-pos":[{"mask-radial-to":ed()}],"mask-image-radial-from-color":[{"mask-radial-from":er()}],"mask-image-radial-to-color":[{"mask-radial-to":er()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[O]}],"mask-image-conic-from-pos":[{"mask-conic-from":ed()}],"mask-image-conic-to-pos":[{"mask-conic-to":ed()}],"mask-image-conic-from-color":[{"mask-conic-from":er()}],"mask-image-conic-to-color":[{"mask-conic-to":er()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:en()}],"mask-repeat":[{mask:eo()}],"mask-size":[{mask:ea()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",q,Z]}],filter:[{filter:["","none",q,Z]}],blur:[{blur:ef()}],brightness:[{brightness:[O,q,Z]}],contrast:[{contrast:[O,q,Z]}],"drop-shadow":[{"drop-shadow":["","none",p,Q,V]}],"drop-shadow-color":[{"drop-shadow":er()}],grayscale:[{grayscale:["",O,q,Z]}],"hue-rotate":[{"hue-rotate":[O,q,Z]}],invert:[{invert:["",O,q,Z]}],saturate:[{saturate:[O,q,Z]}],sepia:[{sepia:["",O,q,Z]}],"backdrop-filter":[{"backdrop-filter":["","none",q,Z]}],"backdrop-blur":[{"backdrop-blur":ef()}],"backdrop-brightness":[{"backdrop-brightness":[O,q,Z]}],"backdrop-contrast":[{"backdrop-contrast":[O,q,Z]}],"backdrop-grayscale":[{"backdrop-grayscale":["",O,q,Z]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[O,q,Z]}],"backdrop-invert":[{"backdrop-invert":["",O,q,Z]}],"backdrop-opacity":[{"backdrop-opacity":[O,q,Z]}],"backdrop-saturate":[{"backdrop-saturate":[O,q,Z]}],"backdrop-sepia":[{"backdrop-sepia":["",O,q,Z]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",q,Z]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[O,"initial",q,Z]}],ease:[{ease:["linear","initial",v,q,Z]}],delay:[{delay:[O,q,Z]}],animate:[{animate:["none",b,q,Z]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,q,Z]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ep()}],"rotate-x":[{"rotate-x":ep()}],"rotate-y":[{"rotate-y":ep()}],"rotate-z":[{"rotate-z":ep()}],scale:[{scale:em()}],"scale-x":[{"scale-x":em()}],"scale-y":[{"scale-y":em()}],"scale-z":[{"scale-z":em()}],"scale-3d":["scale-3d"],skew:[{skew:eg()}],"skew-x":[{"skew-x":eg()}],"skew-y":[{"skew-y":eg()}],transform:[{transform:[q,Z,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:eh()}],"translate-x":[{"translate-x":eh()}],"translate-y":[{"translate-y":eh()}],"translate-z":[{"translate-z":eh()}],"translate-none":["translate-none"],accent:[{accent:er()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:er()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",q,Z]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",q,Z]}],fill:[{fill:["none",...er()]}],"stroke-w":[{stroke:[O,H,U,$]}],stroke:[{stroke:["none",...er()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}})}}]);
|
out/_next/static/chunks/app/_not-found/page-8022c94d4a8b5013.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{7589:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return n(5457)}])},5457:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}}),n(9920);let i=n(7437);n(2265);let o={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},l={display:"inline-block"},r={display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},d={fontSize:14,fontWeight:400,lineHeight:"49px",margin:0};function s(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("title",{children:"404: This page could not be found."}),(0,i.jsx)("div",{style:o,children:(0,i.jsxs)("div",{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,i.jsx)("h1",{className:"next-error-h1",style:r,children:"404"}),(0,i.jsx)("div",{style:l,children:(0,i.jsx)("h2",{style:d,children:"This page could not be found."})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},function(e){e.O(0,[971,23,744],function(){return e(e.s=7589)}),_N_E=e.O()}]);
|
out/_next/static/chunks/app/layout-ef4c0ae0c29ac2b5.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{4051:function(e,n,t){Promise.resolve().then(t.t.bind(t,4671,23)),Promise.resolve().then(t.t.bind(t,3054,23))},3054:function(){},4671:function(e){e.exports={style:{fontFamily:"'__Inter_e8ce0c', '__Inter_Fallback_e8ce0c'",fontStyle:"normal"},className:"__className_e8ce0c"}}},function(e){e.O(0,[93,971,23,744],function(){return e(e.s=4051)}),_N_E=e.O()}]);
|
out/_next/static/chunks/app/page-24a4cfd26a3ffdcb.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{9485:function(e,s,t){Promise.resolve().then(t.bind(t,4996)),Promise.resolve().then(t.bind(t,2377)),Promise.resolve().then(t.bind(t,8577)),Promise.resolve().then(t.bind(t,7021)),Promise.resolve().then(t.bind(t,8698))},4996:function(e,s,t){"use strict";t.d(s,{HillclimbingExplanation:function(){return m}});var r=t(7437),a=t(8185),i=t(9055),n=t(6418),l=t(3541),d=t(1902),c=t(7151),o=t(9590);function m(){return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)(a.Zb,{children:[(0,r.jsx)(a.Ol,{children:(0,r.jsxs)(a.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(n.Z,{className:"h-5 w-5"}),"Understanding Hillclimbing Optimization"]})}),(0,r.jsxs)(a.aY,{className:"space-y-6",children:[(0,r.jsx)("div",{className:"text-gray-700",children:(0,r.jsxs)("p",{className:"mb-4",children:[(0,r.jsx)("strong",{children:"Hillclimbing"})," is a local search optimization algorithm that continuously moves towards better solutions by making incremental improvements. Think of it like climbing a hill in foggy weather - you can only see your immediate surroundings, so you always take the step that goes uphill."]})}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("h3",{className:"text-lg font-semibold text-gray-900 flex items-center gap-2",children:[(0,r.jsx)(l.Z,{className:"h-4 w-4"}),"Algorithm Steps"]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"1"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Initialize:"})," Start with a random solution (10 diverse words)"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"2"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Evaluate:"})," Calculate semantic distances between all word pairs"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"3"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Find weakness:"})," Identify the word pair with smallest distance"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"4"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Improve:"})," Replace one word with a more distant alternative"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"5"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Repeat:"})," Continue until no improvement is possible"]})]})]})]}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("h3",{className:"text-lg font-semibold text-gray-900 flex items-center gap-2",children:[(0,r.jsx)(d.Z,{className:"h-4 w-4"}),"Application to DAT"]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"p-3 bg-green-50 border-l-4 border-green-400",children:[(0,r.jsx)("h4",{className:"font-medium text-green-800 mb-1",children:"Objective Function"}),(0,r.jsx)("p",{className:"text-sm text-green-700",children:"Maximize the sum of semantic distances between all word pairs"})]}),(0,r.jsxs)("div",{className:"p-3 bg-purple-50 border-l-4 border-purple-400",children:[(0,r.jsx)("h4",{className:"font-medium text-purple-800 mb-1",children:"Neighbor Generation"}),(0,r.jsx)("p",{className:"text-sm text-purple-700",children:"Replace one word at a time with alternatives from vocabulary"})]}),(0,r.jsxs)("div",{className:"p-3 bg-orange-50 border-l-4 border-orange-400",children:[(0,r.jsx)("h4",{className:"font-medium text-orange-800 mb-1",children:"Local Optimum"}),(0,r.jsx)("p",{className:"text-sm text-orange-700",children:"Stop when no single word replacement improves the score"})]})]})]})]})]})]}),(0,r.jsxs)(a.Zb,{children:[(0,r.jsx)(a.Ol,{children:(0,r.jsxs)(a.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(c.Z,{className:"h-5 w-5"}),"Strategy Insights"]})}),(0,r.jsxs)(a.aY,{children:[(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-medium text-gray-900 mb-3",children:"Why Hillclimbing Works Here"}),(0,r.jsxs)("ul",{className:"space-y-2 text-sm text-gray-700",children:[(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Greedy improvement:"})," Each word replacement immediately improves the score"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Fast convergence:"})," Reaches a good solution quickly"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Intuitive process:"})," Mimics how humans naturally optimize"]})]})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-medium text-gray-900 mb-3",children:"Potential Limitations"}),(0,r.jsxs)("ul",{className:"space-y-2 text-sm text-gray-700",children:[(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Local optima:"})," May get stuck in suboptimal solutions"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Initial dependency:"})," Result depends on starting words"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Single-word changes:"})," Cannot make coordinated multi-word swaps"]})]})]})]})]}),(0,r.jsxs)("div",{className:"mt-6 p-4 bg-gradient-to-r from-blue-50 to-purple-50 rounded-lg border border-blue-200",children:[(0,r.jsxs)("h4",{className:"font-semibold text-gray-900 mb-2 flex items-center gap-2",children:[(0,r.jsx)(o.Z,{className:"h-4 w-4"}),"My Implementation Result"]}),(0,r.jsxs)("p",{className:"text-sm text-gray-700 mb-2",children:["Despite these theoretical limitations, the hillclimbing approach was highly effective for the DAT creativity game, achieving a score of ",(0,r.jsx)("strong",{children:"95.08"})," and ranking in the ",(0,r.jsx)("strong",{children:"99.98th percentile"}),"."]}),(0,r.jsx)("p",{className:"text-sm text-gray-600",children:"This success suggests that the semantic distance landscape for this problem has favorable properties for local search, with relatively few problematic local optima."})]})]})]})]})}},2377:function(e,s,t){"use strict";t.d(s,{ProgressTimeline:function(){return C}});var r=t(7437),a=t(2265),i=t(8185),n=t(9055),l=t(1538),d=t(3027),c=t(9354);let o=(0,d.j)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),m=a.forwardRef((e,s)=>{let{className:t,variant:a,size:i,asChild:n=!1,...d}=e,m=n?l.g7:"button";return(0,r.jsx)(m,{className:(0,c.cn)(o({variant:a,size:i,className:t})),ref:s,...d})});m.displayName="Button";var x=t(6286),h=t(4697);let g=x.fC,u=x.xz,p=x.h_;x.x8;let f=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)(x.aV,{ref:s,className:(0,c.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a})});f.displayName=x.aV.displayName;let j=a.forwardRef((e,s)=>{let{className:t,children:a,...i}=e;return(0,r.jsxs)(p,{children:[(0,r.jsx)(f,{}),(0,r.jsxs)(x.VY,{ref:s,className:(0,c.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...i,children:[a,(0,r.jsxs)(x.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,r.jsx)(h.Z,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});j.displayName=x.VY.displayName;let b=e=>{let{className:s,...t}=e;return(0,r.jsx)("div",{className:(0,c.cn)("flex flex-col space-y-1.5 text-center sm:text-left",s),...t})};b.displayName="DialogHeader";let N=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)(x.Dx,{ref:s,className:(0,c.cn)("text-lg font-semibold leading-none tracking-tight",t),...a})});N.displayName=x.Dx.displayName,a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)(x.dk,{ref:s,className:(0,c.cn)("text-sm text-muted-foreground",t),...a})}).displayName=x.dk.displayName;var v=t(6105),w=t(933),y=t(5430),k=t(1976),S=t(6648);function C(){let[e,s]=(0,a.useState)(null),t=e=>new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}),l=e=>{if(0===e)return null;let s=new Set(v.gameData.rounds[e-1].words),t=new Set(v.gameData.rounds[e].words);return{added:Array.from(t).filter(e=>!s.has(e)),removed:Array.from(s).filter(e=>!t.has(e))}};return v.gameData.rounds.find(s=>s.id===e),(0,r.jsxs)(i.Zb,{className:"w-full",children:[(0,r.jsx)(i.Ol,{children:(0,r.jsxs)(i.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(w.Z,{className:"h-5 w-5"}),"Game Progress Timeline"]})}),(0,r.jsx)(i.aY,{children:(0,r.jsx)("div",{className:"space-y-4",children:v.gameData.rounds.map((e,a)=>{let i=l(a),d=i&&(i.added.length>0||i.removed.length>0);return(0,r.jsxs)("div",{className:"flex items-center gap-4 p-4 border rounded-lg hover:bg-gray-50 transition-colors",children:[(0,r.jsx)("div",{className:"flex-shrink-0",children:(0,r.jsx)("div",{className:"w-8 h-8 rounded-full flex items-center justify-center text-sm font-medium ".concat(d?"bg-blue-500 text-white":"bg-gray-200 text-gray-600"),children:e.roundNumber})}),(0,r.jsxs)("div",{className:"flex-grow",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsxs)("h3",{className:"font-medium text-gray-900",children:["Round ",e.roundNumber,d&&(0,r.jsx)(y.Z,{className:"inline-block ml-1 h-4 w-4 text-yellow-500"})]}),(0,r.jsx)(n.C,{variant:"outline",className:"text-xs",children:t(e.timestamp)})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1 mb-2",children:[e.words.slice(0,5).map(e=>(0,r.jsx)(n.C,{variant:"secondary",className:"text-xs",children:e},e)),e.words.length>5&&(0,r.jsxs)(n.C,{variant:"outline",className:"text-xs",children:["+",e.words.length-5," more"]})]}),i&&(i.added.length>0||i.removed.length>0)&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[i.added.length>0&&(0,r.jsxs)("span",{className:"text-green-600",children:["+",i.added.length," added"]}),i.removed.length>0&&(0,r.jsxs)("span",{className:"text-red-600",children:["-",i.removed.length," removed"]})]})]}),(0,r.jsxs)(g,{children:[(0,r.jsx)(u,{asChild:!0,children:(0,r.jsxs)(m,{variant:"ghost",size:"sm",onClick:()=>s(e.id),children:["View ",(0,r.jsx)(k.Z,{className:"ml-1 h-3 w-3"})]})}),(0,r.jsxs)(j,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[(0,r.jsx)(b,{children:(0,r.jsxs)(N,{children:["Round ",e.roundNumber," - ",t(e.timestamp)]})}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"relative w-full h-96 bg-gray-100 rounded-lg overflow-hidden",children:(0,r.jsx)(S.default,{src:e.screenshotPath,alt:"Screenshot from round ".concat(e.roundNumber),fill:!0,className:"object-contain"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-medium mb-2",children:"Words in this round:"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:e.words.map(e=>(0,r.jsx)(n.C,{variant:"secondary",children:e},e))})]}),i&&(i.added.length>0||i.removed.length>0)&&(0,r.jsxs)("div",{className:"space-y-2",children:[i.added.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h5",{className:"text-sm font-medium text-green-600 mb-1",children:"Added words:"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:i.added.map(e=>(0,r.jsxs)(n.C,{className:"bg-green-100 text-green-800 border-green-300",children:["+",e]},e))})]}),i.removed.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h5",{className:"text-sm font-medium text-red-600 mb-1",children:"Removed words:"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:i.removed.map(e=>(0,r.jsxs)(n.C,{className:"bg-red-100 text-red-800 border-red-300",children:["-",e]},e))})]})]})]})]})]})]},e.id)})})})]})}},8577:function(e,s,t){"use strict";t.d(s,{ScoreMatrixVisualization:function(){return o}});var r=t(7437),a=t(2265),i=t(8185),n=t(9055),l=t(6105),d=t(4775),c=t(1902);function o(){let[e,s]=(0,a.useState)(null),{words:t,distances:o,finalScore:m}=l.gameData.finalMatrix,x=e=>{if(0===e)return"bg-gray-200 text-gray-500";let s=e/Math.max(...o.flat());return s>.8?"bg-green-500 text-white hover:bg-green-600":s>.6?"bg-green-400 text-white hover:bg-green-500":s>.4?"bg-green-300 text-gray-900 hover:bg-green-400":s>.2?"bg-green-200 text-gray-900 hover:bg-green-300":"bg-green-100 text-gray-900 hover:bg-green-200"};return(0,r.jsxs)(i.Zb,{className:"w-full",children:[(0,r.jsx)(i.Ol,{children:(0,r.jsxs)(i.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(d.Z,{className:"h-5 w-5"}),"Semantic Distance Matrix"]})}),(0,r.jsx)(i.aY,{children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("p",{className:"text-sm text-gray-600",children:"Interactive matrix showing semantic distances between final word pairs"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(c.Z,{className:"h-4 w-4 text-green-600"}),(0,r.jsxs)(n.C,{className:"bg-green-100 text-green-800",children:["Score: ",m]})]})]}),(0,r.jsx)("div",{className:"overflow-x-auto",children:(0,r.jsx)("div",{className:"inline-block min-w-full",children:(0,r.jsxs)("table",{className:"w-full",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{className:"p-2"}),t.map((e,s)=>(0,r.jsx)("th",{className:"p-2 text-xs font-medium text-gray-600 min-w-[60px]",children:(0,r.jsx)("div",{className:"transform -rotate-45 origin-bottom-left whitespace-nowrap",children:e})},s))]})}),(0,r.jsx)("tbody",{children:t.map((e,a)=>(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{className:"p-2 text-xs font-medium text-gray-600 sticky left-0 bg-white",children:(0,r.jsx)("div",{className:"max-w-[80px] truncate",title:e,children:e})}),t.map((t,i)=>{let n=o[a][i];return(0,r.jsx)("td",{className:"p-1",onMouseEnter:()=>s({word1:e,word2:t,distance:n}),onMouseLeave:()=>s(null),children:(0,r.jsx)("div",{className:"\n w-12 h-12 flex items-center justify-center text-xs font-medium \n rounded cursor-pointer transition-colors duration-200\n ".concat(x(n),"\n "),children:n})},i)})]},a))})]})})}),e&&(0,r.jsxs)("div",{className:"p-3 bg-blue-50 border border-blue-200 rounded-lg",children:[(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsxs)("span",{className:"font-medium text-blue-900",children:[e.word1," ↔ ",e.word2]}),(0,r.jsxs)("span",{className:"text-blue-700 ml-2",children:["Distance: ",e.distance]})]}),(0,r.jsx)("p",{className:"text-xs text-blue-600 mt-1",children:0===e.distance?"Same word (diagonal)":"Higher values indicate more semantically distant concepts"})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between text-xs text-gray-500",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("div",{className:"w-3 h-3 bg-green-100 rounded"}),(0,r.jsx)("span",{children:"Low distance"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("div",{className:"w-3 h-3 bg-green-300 rounded"}),(0,r.jsx)("span",{children:"Medium distance"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("div",{className:"w-3 h-3 bg-green-500 rounded"}),(0,r.jsx)("span",{children:"High distance"})]})]}),(0,r.jsx)("span",{children:"Matrix is symmetric"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gray-50 rounded-lg",children:[(0,r.jsx)("h4",{className:"font-medium text-gray-900 mb-2",children:"Matrix Analysis"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 text-sm",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"font-medium text-gray-700",children:"Average Distance:"}),(0,r.jsx)("div",{className:"text-lg font-semibold text-green-600",children:(o.flat().filter(e=>e>0).reduce((e,s)=>e+s,0)/o.flat().filter(e=>e>0).length).toFixed(1)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"font-medium text-gray-700",children:"Highest Distance:"}),(0,r.jsx)("div",{className:"text-lg font-semibold text-blue-600",children:Math.max(...o.flat())})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"font-medium text-gray-700",children:"Lowest Distance:"}),(0,r.jsx)("div",{className:"text-lg font-semibold text-orange-600",children:Math.min(...o.flat().filter(e=>e>0))})]})]})]})]})})]})}},7021:function(e,s,t){"use strict";t.d(s,{StatsDashboard:function(){return h}});var r=t(7437),a=t(8185),i=t(9055),n=t(6105),l=t(3409),d=t(5016),c=t(1240),o=t(933),m=t(3225),x=t(5430);function h(){let{rounds:e,finalMatrix:s,startTime:t,endTime:h}=n.gameData,g=new Date(h).getTime()-new Date(t).getTime(),u=new Set(e.flatMap(e=>e.words)).size,p=e.slice(1).reduce((s,t,r)=>{let a=new Set(e[r].words),i=new Set(t.words);return s+(Array.from(i).filter(e=>!a.has(e)).length+Array.from(a).filter(e=>!i.has(e)).length)},0),f=s.distances.flat().filter(e=>e>0).reduce((e,s)=>e+s,0)/s.distances.flat().filter(e=>e>0).length,j=Math.max(...s.distances.flat()),b=Math.min(...s.distances.flat().filter(e=>e>0));return(0,r.jsxs)(a.Zb,{children:[(0,r.jsx)(a.Ol,{children:(0,r.jsxs)(a.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(l.Z,{className:"h-5 w-5"}),"Performance Statistics"]})}),(0,r.jsxs)(a.aY,{children:[(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-6",children:[(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-green-50 to-green-100 rounded-lg border border-green-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(d.Z,{className:"h-6 w-6 text-green-600"}),(0,r.jsx)(i.C,{className:"bg-green-500 text-white",children:"Top 0.02%"})]}),(0,r.jsx)("div",{className:"text-2xl font-bold text-green-700",children:s.finalScore}),(0,r.jsx)("div",{className:"text-sm text-green-600",children:"Final Creativity Score"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-blue-50 to-blue-100 rounded-lg border border-blue-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(c.Z,{className:"h-6 w-6 text-blue-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-blue-300 text-blue-700",children:"Percentile"})]}),(0,r.jsxs)("div",{className:"text-2xl font-bold text-blue-700",children:[s.percentile,"%"]}),(0,r.jsx)("div",{className:"text-sm text-blue-600",children:"Better than others"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-purple-50 to-purple-100 rounded-lg border border-purple-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(o.Z,{className:"h-6 w-6 text-purple-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-purple-300 text-purple-700",children:"Duration"})]}),(0,r.jsxs)("div",{className:"text-2xl font-bold text-purple-700",children:[Math.floor(g/6e4),"m"]}),(0,r.jsx)("div",{className:"text-sm text-purple-600",children:"Total game time"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-orange-50 to-orange-100 rounded-lg border border-orange-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(m.Z,{className:"h-6 w-6 text-orange-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-orange-300 text-orange-700",children:"Optimization"})]}),(0,r.jsx)("div",{className:"text-2xl font-bold text-orange-700",children:e.length}),(0,r.jsx)("div",{className:"text-sm text-orange-600",children:"Optimization rounds"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-pink-50 to-pink-100 rounded-lg border border-pink-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(x.Z,{className:"h-6 w-6 text-pink-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-pink-300 text-pink-700",children:"Changes"})]}),(0,r.jsx)("div",{className:"text-2xl font-bold text-pink-700",children:p}),(0,r.jsx)("div",{className:"text-sm text-pink-600",children:"Total word swaps"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-indigo-50 to-indigo-100 rounded-lg border border-indigo-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(l.Z,{className:"h-6 w-6 text-indigo-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-indigo-300 text-indigo-700",children:"Vocabulary"})]}),(0,r.jsx)("div",{className:"text-2xl font-bold text-indigo-700",children:u}),(0,r.jsx)("div",{className:"text-sm text-indigo-600",children:"Unique words used"})]})]}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold text-gray-900",children:"Semantic Distance Analysis"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,r.jsxs)("div",{className:"p-3 bg-gray-50 rounded-lg",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-gray-600 mb-1",children:"Average Distance"}),(0,r.jsx)("div",{className:"text-xl font-bold text-gray-900",children:f.toFixed(1)}),(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Across all word pairs"})]}),(0,r.jsxs)("div",{className:"p-3 bg-gray-50 rounded-lg",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-gray-600 mb-1",children:"Maximum Distance"}),(0,r.jsx)("div",{className:"text-xl font-bold text-gray-900",children:j}),(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Most distant pair"})]}),(0,r.jsxs)("div",{className:"p-3 bg-gray-50 rounded-lg",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-gray-600 mb-1",children:"Minimum Distance"}),(0,r.jsx)("div",{className:"text-xl font-bold text-gray-900",children:b}),(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Closest pair (non-zero)"})]})]}),(0,r.jsxs)("div",{className:"p-4 bg-blue-50 rounded-lg",children:[(0,r.jsx)("h4",{className:"font-medium text-blue-900 mb-2",children:"Key Insights"}),(0,r.jsxs)("ul",{className:"space-y-1 text-sm text-blue-800",children:[(0,r.jsx)("li",{children:"• Achieved exceptional creativity score through systematic optimization"}),(0,r.jsx)("li",{children:"• Hillclimbing algorithm effectively explored the semantic space"}),(0,r.jsxs)("li",{children:["• ",Math.round(p/e.length*100)/100," average word changes per round shows focused refinement"]}),(0,r.jsx)("li",{children:"• High semantic distances indicate successful divergent thinking"})]})]})]})]})]})}},8698:function(e,s,t){"use strict";t.d(s,{WordEvolutionTracker:function(){return m}});var r=t(7437),a=t(8185),i=t(9055),n=t(6105),l=t(3225),d=t(1976),c=t(8002),o=t(2513);function m(){let e=(0,n.H)();return(0,r.jsxs)(a.Zb,{className:"w-full",children:[(0,r.jsx)(a.Ol,{children:(0,r.jsxs)(a.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(l.Z,{className:"h-5 w-5"}),"Word Evolution & Optimization"]})}),(0,r.jsxs)(a.aY,{children:[(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)("div",{className:"text-sm text-gray-600 mb-4",children:"Track how words were systematically replaced to maximize semantic distance using hillclimbing optimization."}),e.map((e,s)=>(0,r.jsxs)("div",{className:"border-l-2 border-blue-200 pl-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,r.jsxs)("div",{className:"bg-blue-500 text-white text-xs font-medium px-2 py-1 rounded",children:["Round ",e.round]}),(0,r.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"}),(0,r.jsx)("span",{className:"text-sm text-gray-600",children:"Optimization step"})]}),(0,r.jsxs)("div",{className:"space-y-3",children:[e.changes.filter(e=>"removed"===e.type).length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,r.jsx)(c.Z,{className:"h-4 w-4 text-red-500"}),(0,r.jsx)("span",{className:"text-sm font-medium text-red-600",children:"Removed"}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:"(Lower semantic distance)"})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:e.changes.filter(e=>"removed"===e.type).map(e=>(0,r.jsx)(i.C,{className:"bg-red-50 text-red-700 border-red-200",children:e.word},e.word))})]}),e.changes.filter(e=>"added"===e.type).length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,r.jsx)(o.Z,{className:"h-4 w-4 text-green-500"}),(0,r.jsx)("span",{className:"text-sm font-medium text-green-600",children:"Added"}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:"(Higher semantic distance)"})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:e.changes.filter(e=>"added"===e.type).map(e=>(0,r.jsx)(i.C,{className:"bg-green-50 text-green-700 border-green-200",children:e.word},e.word))})]}),(0,r.jsx)("div",{className:"text-xs text-gray-500 mt-2",children:"This change increased the overall semantic distance between word pairs."})]})]},e.round)),0===e.length&&(0,r.jsxs)("div",{className:"text-center py-8 text-gray-500",children:[(0,r.jsx)(l.Z,{className:"h-8 w-8 mx-auto mb-2 opacity-50"}),(0,r.jsx)("p",{children:"No word changes detected in the progression."})]})]}),(0,r.jsxs)("div",{className:"mt-6 p-4 bg-blue-50 rounded-lg",children:[(0,r.jsx)("h4",{className:"font-medium text-blue-900 mb-2",children:"Hillclimbing Strategy"}),(0,r.jsx)("p",{className:"text-sm text-blue-800",children:"Each word replacement represents a “hill climbing” step where words with lower semantic distances to other words in the set were systematically replaced with words that had higher distances, improving the overall creativity score."})]})]})]})}},9055:function(e,s,t){"use strict";t.d(s,{C:function(){return l}});var r=t(7437);t(2265);var a=t(3027),i=t(9354);let n=(0,a.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l(e){let{className:s,variant:t,...a}=e;return(0,r.jsx)("div",{className:(0,i.cn)(n({variant:t}),s),...a})}},8185:function(e,s,t){"use strict";t.d(s,{Ol:function(){return l},Zb:function(){return n},aY:function(){return c},ll:function(){return d}});var r=t(7437),a=t(2265),i=t(9354);let n=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",t),...a})});n.displayName="Card";let l=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",t),...a})});l.displayName="CardHeader";let d=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("text-2xl font-semibold leading-none tracking-tight",t),...a})});d.displayName="CardTitle",a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("text-sm text-muted-foreground",t),...a})}).displayName="CardDescription";let c=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("p-6 pt-0",t),...a})});c.displayName="CardContent",a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("flex items-center p-6 pt-0",t),...a})}).displayName="CardFooter"},6105:function(e,s,t){"use strict";t.d(s,{H:function(){return a},gameData:function(){return r}});let r={startTime:"2025-08-16T23:53:03",endTime:"2025-08-17T01:39:31",rounds:[{id:"round-1",timestamp:"2025-08-16T23:53:03",screenshotPath:"/screenshots/Screenshot 2025-08-16 at 23.53.03.png",words:["brilliance","sports","peace","rocket","icecream","blush","friends","rhythm","velvet","ocean"],roundNumber:1},{id:"round-2",timestamp:"2025-08-17T00:00:17",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 00.00.17.png",words:["stochastic","fuselage","pitfall","screwdriver","sand","spices","arthritis","printer","flute","dinosaurs"],roundNumber:2},{id:"round-3",timestamp:"2025-08-17T00:00:40",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 00.00.40.png",words:["stochastic","fuselage","pitfall","screwdriver","sand","spices","arthritis","printer","flute","dinosaurs"],roundNumber:3},{id:"round-4",timestamp:"2025-08-17T01:33:49",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.33.49.png",words:["stochastic","fuselage","throne","icecream","cricket","remote","arthritis","printer","eel","speedbreaker"],roundNumber:4},{id:"round-5",timestamp:"2025-08-17T01:33:59",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.33.59.png",words:["stochastic","fuselage","throne","icecream","cricket","remote","arthritis","printer","eel","speedbreaker"],roundNumber:5},{id:"round-6",timestamp:"2025-08-17T01:34:51",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.34.51.png",words:["stochastic","fuselage","throne","icecream","cricket","remote","arthritis","printer","eel","speedbreaker"],roundNumber:6},{id:"round-7",timestamp:"2025-08-17T01:35:00",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.35.00.png",words:["stochastic","fuselage","throne","icecream","cricket","remote","arthritis","printer","eel","speedbreaker"],roundNumber:7},{id:"round-8",timestamp:"2025-08-17T01:36:24",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.36.24.png",words:["stochastic","fuselage","throne","icecream","cricket","corporate","arthritis","butter","eel","speedbreaker"],roundNumber:8},{id:"round-9",timestamp:"2025-08-17T01:36:35",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.36.35.png",words:["stochastic","fuselage","throne","icecream","cricket","corporate","arthritis","butter","eel","speedbreaker"],roundNumber:9},{id:"round-10",timestamp:"2025-08-17T01:38:24",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.38.24.png",words:["stochastic","fuselage","throne","icecream","foosball","corporate","arthritis","chilli","lens","speedbreaker"],roundNumber:10},{id:"round-11",timestamp:"2025-08-17T01:38:36",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.38.36.png",words:["stochastic","fuselage","throne","icecream","foosball","corporate","arthritis","chilli","lens","speedbreaker"],roundNumber:11},{id:"round-12",timestamp:"2025-08-17T01:39:08",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.39.08.png",words:["stochastic","fuselage","throne","icecream","foosball","corporate","arthritis","chilli","lens","speedbreaker"],roundNumber:12},{id:"round-final",timestamp:"2025-08-17T01:39:31",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.39.31.png",words:["stochastic","fuselage","throne","corporate","arthritis","chilli","lens"],roundNumber:13}],finalMatrix:{words:["stochastic","fuselage","throne","corporate","arthritis","chilli","lens"],distances:[[0,103,100,93,94,98,94],[103,0,94,98,96,91,79],[100,94,0,95,98,101,98],[93,98,95,0,97,100,92],[94,96,98,97,0,86,87],[98,91,101,100,86,0,104],[94,79,98,92,87,104,0]],finalScore:95.08,percentile:99.98}};function a(){let e=[];for(let s=1;s<r.rounds.length;s++){let t=new Set(r.rounds[s-1].words),a=new Set(r.rounds[s].words),i=[];Array.from(t).forEach(e=>{a.has(e)?i.push({type:"kept",word:e}):i.push({type:"removed",word:e})}),Array.from(a).forEach(e=>{t.has(e)||i.push({type:"added",word:e})}),i.some(e=>"kept"!==e.type)&&e.push({round:r.rounds[s].roundNumber,changes:i})}return e}},9354:function(e,s,t){"use strict";t.d(s,{cn:function(){return i}});var r=t(4839),a=t(6164);function i(){for(var e=arguments.length,s=Array(e),t=0;t<e;t++)s[t]=arguments[t];return(0,a.m6)((0,r.W)(s))}}},function(e){e.O(0,[506,971,23,744],function(){return e(e.s=9485)}),_N_E=e.O()}]);
|
out/_next/static/chunks/fd9d1056-51face16839d2cb0.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
out/_next/static/chunks/framework-f66176bb897dc684.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
out/_next/static/chunks/main-app-dda775df53745ffe.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{1289:function(e,n,t){Promise.resolve().then(t.t.bind(t,5751,23)),Promise.resolve().then(t.t.bind(t,6513,23)),Promise.resolve().then(t.t.bind(t,6130,23)),Promise.resolve().then(t.t.bind(t,9275,23)),Promise.resolve().then(t.t.bind(t,5324,23)),Promise.resolve().then(t.t.bind(t,1343,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[971,23],function(){return n(1028),n(1289)}),_N_E=e.O()}]);
|
out/_next/static/chunks/main-c980e89993b16cc4.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
out/_next/static/chunks/pages/_app-6a626577ffa902a4.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{1597:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return u(2239)}])}},function(n){var _=function(_){return n(n.s=_)};n.O(0,[774,179],function(){return _(1597),_(6036)}),_N_E=n.O()}]);
|
out/_next/static/chunks/pages/_error-1be831200e60c5c0.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[820],{1981:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return u(3387)}])}},function(n){n.O(0,[888,774,179],function(){return n(n.s=1981)}),_N_E=n.O()}]);
|
out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),o=function(t){try{return!!t()}catch(t){return!0}},i=!o(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),a={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,s=u&&!a.call({1:2},1)?function(t){var e=u(this,t);return!!e&&e.enumerable}:a,c={f:s},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},p="".split,d=o(function(){return!Object("z").propertyIsEnumerable(0)})?function(t){return"String"==h(t)?p.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return d(v(t))},y=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!y(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!y(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,e){return b.call(t,e)},S=n.document,E=y(S)&&y(S.createElement),x=function(t){return E?S.createElement(t):{}},A=!i&&!o(function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a}),O=Object.getOwnPropertyDescriptor,R={f:i?O:function(t,e){if(t=g(t),e=m(e,!0),A)try{return O(t,e)}catch(t){}if(w(t,e))return f(!c.f.call(t,e),t[e])}},j=function(t){if(!y(t))throw TypeError(String(t)+" is not an object");return t},P=Object.defineProperty,I={f:i?P:function(t,e,r){if(j(t),e=m(e,!0),j(r),A)try{return P(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},T=i?function(t,e,r){return I.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},k=function(t,e){try{T(n,t,e)}catch(r){n[t]=e}return e},L="__core-js_shared__",U=n[L]||k(L,{}),M=Function.toString;"function"!=typeof U.inspectSource&&(U.inspectSource=function(t){return M.call(t)});var _,N,C,F=U.inspectSource,B=n.WeakMap,D="function"==typeof B&&/native code/.test(F(B)),q=!1,z=e(function(t){(t.exports=function(t,e){return U[t]||(U[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})}),W=0,K=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+K).toString(36)},$=z("keys"),V=function(t){return $[t]||($[t]=G(t))},H={};if(D){var X=new(0,n.WeakMap),Y=X.get,J=X.has,Q=X.set;_=function(t,e){return Q.call(X,t,e),e},N=function(t){return Y.call(X,t)||{}},C=function(t){return J.call(X,t)}}else{var Z=V("state");H[Z]=!0,_=function(t,e){return T(t,Z,e),e},N=function(t){return w(t,Z)?t[Z]:{}},C=function(t){return w(t,Z)}}var tt,et={set:_,get:N,has:C,enforce:function(t){return C(t)?N(t):_(t,{})},getterFor:function(t){return function(e){var r;if(!y(e)||(r=N(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},rt=e(function(t){var e=et.get,r=et.enforce,o=String(String).split("String");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,s=!!a&&!!a.enumerable,c=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||w(i,"name")||T(i,"name",e),r(i).source=o.join("string"==typeof e?e:"")),t!==n?(u?!c&&t[e]&&(s=!0):delete t[e],s?t[e]=i:T(t,e,i)):s?t[e]=i:k(e,i)})(Function.prototype,"toString",function(){return"function"==typeof this&&e(this).source||F(this)})}),nt=n,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(nt[t])||ot(n[t]):nt[t]&&nt[t][e]||n[t]&&n[t][e]},at=Math.ceil,ut=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?ut:at)(t)},ct=Math.min,ft=function(t){return t>0?ct(st(t),9007199254740991):0},lt=Math.max,ht=Math.min,pt=function(t,e){var r=st(t);return r<0?lt(r+e,0):ht(r,e)},dt=function(t){return function(e,r,n){var o,i=g(e),a=ft(i.length),u=pt(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},vt={includes:dt(!0),indexOf:dt(!1)},gt=vt.indexOf,yt=function(t,e){var r,n=g(t),o=0,i=[];for(r in n)!w(H,r)&&w(n,r)&&i.push(r);for(;e.length>o;)w(n,r=e[o++])&&(~gt(i,r)||i.push(r));return i},mt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=mt.concat("length","prototype"),wt={f:Object.getOwnPropertyNames||function(t){return yt(t,bt)}},St={f:Object.getOwnPropertySymbols},Et=it("Reflect","ownKeys")||function(t){var e=wt.f(j(t)),r=St.f;return r?e.concat(r(t)):e},xt=function(t,e){for(var r=Et(e),n=I.f,o=R.f,i=0;i<r.length;i++){var a=r[i];w(t,a)||n(t,a,o(e,a))}},At=/#|\.prototype\./,Ot=function(t,e){var r=jt[Rt(t)];return r==It||r!=Pt&&("function"==typeof e?o(e):!!e)},Rt=Ot.normalize=function(t){return String(t).replace(At,".").toLowerCase()},jt=Ot.data={},Pt=Ot.NATIVE="N",It=Ot.POLYFILL="P",Tt=Ot,kt=R.f,Lt=function(t,e){var r,o,i,a,u,s=t.target,c=t.global,f=t.stat;if(r=c?n:f?n[s]||k(s,{}):(n[s]||{}).prototype)for(o in e){if(a=e[o],i=t.noTargetGet?(u=kt(r,o))&&u.value:r[o],!Tt(c?o:s+(f?".":"#")+o,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;xt(a,i)}(t.sham||i&&i.sham)&&T(a,"sham",!0),rt(r,o,a,t)}},Ut=function(t){return Object(v(t))},Mt=Math.min,_t=[].copyWithin||function(t,e){var r=Ut(this),n=ft(r.length),o=pt(t,n),i=pt(e,n),a=arguments.length>2?arguments[2]:void 0,u=Mt((void 0===a?n:pt(a,n))-i,n-o),s=1;for(i<o&&o<i+u&&(s=-1,i+=u-1,o+=u-1);u-- >0;)i in r?r[o]=r[i]:delete r[o],o+=s,i+=s;return r},Nt=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())}),Ct=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ft=z("wks"),Bt=n.Symbol,Dt=Ct?Bt:Bt&&Bt.withoutSetter||G,qt=function(t){return w(Ft,t)||(Ft[t]=Nt&&w(Bt,t)?Bt[t]:Dt("Symbol."+t)),Ft[t]},zt=Object.keys||function(t){return yt(t,mt)},Wt=i?Object.defineProperties:function(t,e){j(t);for(var r,n=zt(e),o=n.length,i=0;o>i;)I.f(t,r=n[i++],e[r]);return t},Kt=it("document","documentElement"),Gt="prototype",$t="script",Vt=V("IE_PROTO"),Ht=function(){},Xt=function(t){return"<"+$t+">"+t+"</"+$t+">"},Yt=function(){try{tt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e,r;Yt=tt?function(t){t.write(Xt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(tt):(e=x("iframe"),r="java"+$t+":",e.style.display="none",Kt.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(Xt("document.F=Object")),t.close(),t.F);for(var n=mt.length;n--;)delete Yt[Gt][mt[n]];return Yt()};H[Vt]=!0;var Jt=Object.create||function(t,e){var r;return null!==t?(Ht[Gt]=j(t),r=new Ht,Ht[Gt]=null,r[Vt]=t):r=Yt(),void 0===e?r:Wt(r,e)},Qt=qt("unscopables"),Zt=Array.prototype;null==Zt[Qt]&&I.f(Zt,Qt,{configurable:!0,value:Jt(null)});var te=function(t){Zt[Qt][t]=!0};Lt({target:"Array",proto:!0},{copyWithin:_t}),te("copyWithin");var ee=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},re=function(t,e,r){if(ee(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},ne=Function.call,oe=function(t,e,r){return re(ne,n[t].prototype[e],r)};oe("Array","copyWithin"),Lt({target:"Array",proto:!0},{fill:function(t){for(var e=Ut(this),r=ft(e.length),n=arguments.length,o=pt(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:pt(i,r);a>o;)e[o++]=t;return e}}),te("fill"),oe("Array","fill");var ie=Array.isArray||function(t){return"Array"==h(t)},ae=qt("species"),ue=function(t,e){var r;return ie(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!ie(r.prototype)?y(r)&&null===(r=r[ae])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},se=[].push,ce=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,s,c,f){for(var l,h,p=Ut(u),v=d(p),g=re(s,c,3),y=ft(v.length),m=0,b=f||ue,w=e?b(u,y):r?b(u,0):void 0;y>m;m++)if((a||m in v)&&(h=g(l=v[m],m,p),t))if(e)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:se.call(w,l)}else if(o)return!1;return i?-1:n||o?o:w}},fe={forEach:ce(0),map:ce(1),filter:ce(2),some:ce(3),every:ce(4),find:ce(5),findIndex:ce(6)},le=Object.defineProperty,he={},pe=function(t){throw t},de=function(t,e){if(w(he,t))return he[t];e||(e={});var r=[][t],n=!!w(e,"ACCESSORS")&&e.ACCESSORS,a=w(e,0)?e[0]:pe,u=w(e,1)?e[1]:void 0;return he[t]=!!r&&!o(function(){if(n&&!i)return!0;var t={length:-1};n?le(t,1,{enumerable:!0,get:pe}):t[1]=1,r.call(t,a,u)})},ve=fe.find,ge="find",ye=!0,me=de(ge);ge in[]&&Array(1)[ge](function(){ye=!1}),Lt({target:"Array",proto:!0,forced:ye||!me},{find:function(t){return ve(this,t,arguments.length>1?arguments[1]:void 0)}}),te(ge),oe("Array","find");var be=fe.findIndex,we="findIndex",Se=!0,Ee=de(we);we in[]&&Array(1)[we](function(){Se=!1}),Lt({target:"Array",proto:!0,forced:Se||!Ee},{findIndex:function(t){return be(this,t,arguments.length>1?arguments[1]:void 0)}}),te(we),oe("Array","findIndex");var xe=function(t,e,r,n,o,i,a,u){for(var s,c=o,f=0,l=!!a&&re(a,u,3);f<n;){if(f in r){if(s=l?l(r[f],f,e):r[f],i>0&&ie(s))c=xe(t,e,s,ft(s.length),c,i-1)-1;else{if(c>=9007199254740991)throw TypeError("Exceed the acceptable array length");t[c]=s}c++}f++}return c},Ae=xe;Lt({target:"Array",proto:!0},{flatMap:function(t){var e,r=Ut(this),n=ft(r.length);return ee(t),(e=ue(r,0)).length=Ae(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),te("flatMap"),oe("Array","flatMap"),Lt({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=Ut(this),r=ft(e.length),n=ue(e,0);return n.length=Ae(n,e,e,r,0,void 0===t?1:st(t)),n}}),te("flat"),oe("Array","flat");var Oe,Re,je,Pe=function(t){return function(e,r){var n,o,i=String(v(e)),a=st(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=i.charCodeAt(a))<55296||n>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):n:t?i.slice(a,a+2):o-56320+(n-55296<<10)+65536}},Ie={codeAt:Pe(!1),charAt:Pe(!0)},Te=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),ke=V("IE_PROTO"),Le=Object.prototype,Ue=Te?Object.getPrototypeOf:function(t){return t=Ut(t),w(t,ke)?t[ke]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Le:null},Me=qt("iterator"),_e=!1;[].keys&&("next"in(je=[].keys())?(Re=Ue(Ue(je)))!==Object.prototype&&(Oe=Re):_e=!0),null==Oe&&(Oe={}),w(Oe,Me)||T(Oe,Me,function(){return this});var Ne={IteratorPrototype:Oe,BUGGY_SAFARI_ITERATORS:_e},Ce=I.f,Fe=qt("toStringTag"),Be=function(t,e,r){t&&!w(t=r?t:t.prototype,Fe)&&Ce(t,Fe,{configurable:!0,value:e})},De={},qe=Ne.IteratorPrototype,ze=function(){return this},We=function(t,e,r){var n=e+" Iterator";return t.prototype=Jt(qe,{next:f(1,r)}),Be(t,n,!1),De[n]=ze,t},Ke=function(t){if(!y(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t},Ge=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return j(r),Ke(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),$e=Ne.IteratorPrototype,Ve=Ne.BUGGY_SAFARI_ITERATORS,He=qt("iterator"),Xe="keys",Ye="values",Je="entries",Qe=function(){return this},Ze=function(t,e,r,n,o,i,a){We(r,e,n);var u,s,c,f=function(t){if(t===o&&v)return v;if(!Ve&&t in p)return p[t];switch(t){case Xe:case Ye:case Je:return function(){return new r(this,t)}}return function(){return new r(this)}},l=e+" Iterator",h=!1,p=t.prototype,d=p[He]||p["@@iterator"]||o&&p[o],v=!Ve&&d||f(o),g="Array"==e&&p.entries||d;if(g&&(u=Ue(g.call(new t)),$e!==Object.prototype&&u.next&&(Ue(u)!==$e&&(Ge?Ge(u,$e):"function"!=typeof u[He]&&T(u,He,Qe)),Be(u,l,!0))),o==Ye&&d&&d.name!==Ye&&(h=!0,v=function(){return d.call(this)}),p[He]!==v&&T(p,He,v),De[e]=v,o)if(s={values:f(Ye),keys:i?v:f(Xe),entries:f(Je)},a)for(c in s)(Ve||h||!(c in p))&&rt(p,c,s[c]);else Lt({target:e,proto:!0,forced:Ve||h},s);return s},tr=Ie.charAt,er="String Iterator",rr=et.set,nr=et.getterFor(er);Ze(String,"String",function(t){rr(this,{type:er,string:String(t),index:0})},function(){var t,e=nr(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=tr(r,n),e.index+=t.length,{value:t,done:!1})});var or=function(t,e,r,n){try{return n?e(j(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&j(o.call(t)),e}},ir=qt("iterator"),ar=Array.prototype,ur=function(t){return void 0!==t&&(De.Array===t||ar[ir]===t)},sr=function(t,e,r){var n=m(e);n in t?I.f(t,n,f(0,r)):t[n]=r},cr={};cr[qt("toStringTag")]="z";var fr="[object z]"===String(cr),lr=qt("toStringTag"),hr="Arguments"==h(function(){return arguments}()),pr=fr?h:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),lr))?r:hr?h(e):"Object"==(n=h(e))&&"function"==typeof e.callee?"Arguments":n},dr=qt("iterator"),vr=function(t){if(null!=t)return t[dr]||t["@@iterator"]||De[pr(t)]},gr=function(t){var e,r,n,o,i,a,u=Ut(t),s="function"==typeof this?this:Array,c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=vr(u),p=0;if(l&&(f=re(f,c>2?arguments[2]:void 0,2)),null==h||s==Array&&ur(h))for(r=new s(e=ft(u.length));e>p;p++)a=l?f(u[p],p):u[p],sr(r,p,a);else for(i=(o=h.call(u)).next,r=new s;!(n=i.call(o)).done;p++)a=l?or(o,f,[n.value,p],!0):n.value,sr(r,p,a);return r.length=p,r},yr=qt("iterator"),mr=!1;try{var br=0,wr={next:function(){return{done:!!br++}},return:function(){mr=!0}};wr[yr]=function(){return this},Array.from(wr,function(){throw 2})}catch(t){}var Sr=function(t,e){if(!e&&!mr)return!1;var r=!1;try{var n={};n[yr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},Er=!Sr(function(t){Array.from(t)});Lt({target:"Array",stat:!0,forced:Er},{from:gr});var xr=vt.includes,Ar=de("indexOf",{ACCESSORS:!0,1:0});Lt({target:"Array",proto:!0,forced:!Ar},{includes:function(t){return xr(this,t,arguments.length>1?arguments[1]:void 0)}}),te("includes"),oe("Array","includes");var Or="Array Iterator",Rr=et.set,jr=et.getterFor(Or),Pr=Ze(Array,"Array",function(t,e){Rr(this,{type:Or,target:g(t),index:0,kind:e})},function(){var t=jr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}},"values");De.Arguments=De.Array,te("keys"),te("values"),te("entries"),oe("Array","values");var Ir=o(function(){function t(){}return!(Array.of.call(t)instanceof t)});Lt({target:"Array",stat:!0,forced:Ir},{of:function(){for(var t=0,e=arguments.length,r=new("function"==typeof this?this:Array)(e);e>t;)sr(r,t,arguments[t++]);return r.length=e,r}});var Tr=qt("hasInstance"),kr=Function.prototype;Tr in kr||I.f(kr,Tr,{value:function(t){if("function"!=typeof this||!y(t))return!1;if(!y(this.prototype))return t instanceof this;for(;t=Ue(t);)if(this.prototype===t)return!0;return!1}}),qt("hasInstance");var Lr=Function.prototype,Ur=Lr.toString,Mr=/^\s*function ([^ (]*)/,_r="name";i&&!(_r in Lr)&&(0,I.f)(Lr,_r,{configurable:!0,get:function(){try{return Ur.call(this).match(Mr)[1]}catch(t){return""}}});var Nr=!o(function(){return Object.isExtensible(Object.preventExtensions({}))}),Cr=e(function(t){var e=I.f,r=G("meta"),n=0,o=Object.isExtensible||function(){return!0},i=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!y(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,r)){if(!o(t))return"F";if(!e)return"E";i(t)}return t[r].objectID},getWeakData:function(t,e){if(!w(t,r)){if(!o(t))return!0;if(!e)return!1;i(t)}return t[r].weakData},onFreeze:function(t){return Nr&&a.REQUIRED&&o(t)&&!w(t,r)&&i(t),t}};H[r]=!0}),Fr=e(function(t){var e=function(t,e){this.stopped=t,this.result=e},r=t.exports=function(t,r,n,o,i){var a,u,s,c,f,l,h,p=re(r,n,o?2:1);if(i)a=t;else{if("function"!=typeof(u=vr(t)))throw TypeError("Target is not iterable");if(ur(u)){for(s=0,c=ft(t.length);c>s;s++)if((f=o?p(j(h=t[s])[0],h[1]):p(t[s]))&&f instanceof e)return f;return new e(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(f=or(a,p,h.value,o))&&f&&f instanceof e)return f;return new e(!1)};r.stop=function(t){return new e(!0,t)}}),Br=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},Dr=function(t,e,r){var n,o;return Ge&&"function"==typeof(n=e.constructor)&&n!==r&&y(o=n.prototype)&&o!==r.prototype&&Ge(t,o),t},qr=function(t,e,r){var i=-1!==t.indexOf("Map"),a=-1!==t.indexOf("Weak"),u=i?"set":"add",s=n[t],c=s&&s.prototype,f=s,l={},h=function(t){var e=c[t];rt(c,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return a&&!y(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(Tt(t,"function"!=typeof s||!(a||c.forEach&&!o(function(){(new s).entries().next()}))))f=r.getConstructor(e,t,i,u),Cr.REQUIRED=!0;else if(Tt(t,!0)){var p=new f,d=p[u](a?{}:-0,1)!=p,v=o(function(){p.has(1)}),g=Sr(function(t){new s(t)}),m=!a&&o(function(){for(var t=new s,e=5;e--;)t[u](e,e);return!t.has(-0)});g||((f=e(function(e,r){Br(e,f,t);var n=Dr(new s,e,f);return null!=r&&Fr(r,n[u],n,i),n})).prototype=c,c.constructor=f),(v||m)&&(h("delete"),h("has"),i&&h("get")),(m||d)&&h(u),a&&c.clear&&delete c.clear}return l[t]=f,Lt({global:!0,forced:f!=s},l),Be(f,t),a||r.setStrong(f,t,i),f},zr=function(t,e,r){for(var n in e)rt(t,n,e[n],r);return t},Wr=qt("species"),Kr=function(t){var e=it(t);i&&e&&!e[Wr]&&(0,I.f)(e,Wr,{configurable:!0,get:function(){return this}})},Gr=I.f,$r=Cr.fastKey,Vr=et.set,Hr=et.getterFor,Xr={getConstructor:function(t,e,r,n){var o=t(function(t,a){Br(t,o,e),Vr(t,{type:e,index:Jt(null),first:void 0,last:void 0,size:0}),i||(t.size=0),null!=a&&Fr(a,t[n],t,r)}),a=Hr(e),u=function(t,e,r){var n,o,u=a(t),c=s(t,e);return c?c.value=r:(u.last=c={index:o=$r(e,!0),key:e,value:r,previous:n=u.last,next:void 0,removed:!1},u.first||(u.first=c),n&&(n.next=c),i?u.size++:t.size++,"F"!==o&&(u.index[o]=c)),t},s=function(t,e){var r,n=a(t),o=$r(e);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==e)return r};return zr(o.prototype,{clear:function(){for(var t=a(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,i?t.size=0:this.size=0},delete:function(t){var e=this,r=a(e),n=s(e,t);if(n){var o=n.next,u=n.previous;delete r.index[n.index],n.removed=!0,u&&(u.next=o),o&&(o.previous=u),r.first==n&&(r.first=o),r.last==n&&(r.last=u),i?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=a(this),n=re(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!s(this,t)}}),zr(o.prototype,r?{get:function(t){var e=s(this,t);return e&&e.value},set:function(t,e){return u(this,0===t?0:t,e)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),i&&Gr(o.prototype,"size",{get:function(){return a(this).size}}),o},setStrong:function(t,e,r){var n=e+" Iterator",o=Hr(e),i=Hr(n);Ze(t,e,function(t,e){Vr(this,{type:n,target:t,state:o(t),kind:e,last:void 0})},function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?"keys"==e?{value:r.key,done:!1}:"values"==e?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})},r?"entries":"values",!r,!0),Kr(e)}},Yr=qr("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Xr);fr||rt(Object.prototype,"toString",fr?{}.toString:function(){return"[object "+pr(this)+"]"},{unsafe:!0});var Jr={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Qr=qt("iterator"),Zr=qt("toStringTag"),tn=Pr.values;for(var en in Jr){var rn=n[en],nn=rn&&rn.prototype;if(nn){if(nn[Qr]!==tn)try{T(nn,Qr,tn)}catch(t){nn[Qr]=tn}if(nn[Zr]||T(nn,Zr,en),Jr[en])for(var on in Pr)if(nn[on]!==Pr[on])try{T(nn,on,Pr[on])}catch(t){nn[on]=Pr[on]}}}var an=function(t){var e,r,n,o,i=arguments.length,a=i>1?arguments[1]:void 0;return ee(this),(e=void 0!==a)&&ee(a),null==t?new this:(r=[],e?(n=0,o=re(a,i>2?arguments[2]:void 0,2),Fr(t,function(t){r.push(o(t,n++))})):Fr(t,r.push,r),new this(r))};Lt({target:"Map",stat:!0},{from:an});var un=function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)};Lt({target:"Map",stat:!0},{of:un});var sn=function(){for(var t,e=j(this),r=ee(e.delete),n=!0,o=0,i=arguments.length;o<i;o++)t=r.call(e,arguments[o]),n=n&&t;return!!n};Lt({target:"Map",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}});var cn=function(t){var e=vr(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return j(e.call(t))},fn=function(t){return Map.prototype.entries.call(t)};Lt({target:"Map",proto:!0,real:!0,forced:q},{every:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return!Fr(r,function(t,r){if(!n(r,t,e))return Fr.stop()},void 0,!0,!0).stopped}});var ln=qt("species"),hn=function(t,e){var r,n=j(t).constructor;return void 0===n||null==(r=j(n)[ln])?e:ee(r)};Lt({target:"Map",proto:!0,real:!0,forced:q},{filter:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){n(r,t,e)&&i.call(o,t,r)},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{find:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop(r)},void 0,!0,!0).result}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{findKey:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop(t)},void 0,!0,!0).result}}),Lt({target:"Map",stat:!0},{groupBy:function(t,e){var r=new this;ee(e);var n=ee(r.has),o=ee(r.get),i=ee(r.set);return Fr(t,function(t){var a=e(t);n.call(r,a)?o.call(r,a).push(t):i.call(r,a,[t])}),r}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{includes:function(t){return Fr(fn(j(this)),function(e,r){if((n=r)===(o=t)||n!=n&&o!=o)return Fr.stop();var n,o},void 0,!0,!0).stopped}}),Lt({target:"Map",stat:!0},{keyBy:function(t,e){var r=new this;ee(e);var n=ee(r.set);return Fr(t,function(t){n.call(r,e(t),t)}),r}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{keyOf:function(t){return Fr(fn(j(this)),function(e,r){if(r===t)return Fr.stop(e)},void 0,!0,!0).result}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{mapKeys:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){i.call(o,n(r,t,e),r)},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{mapValues:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){i.call(o,t,n(r,t,e))},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{merge:function(t){for(var e=j(this),r=ee(e.set),n=0;n<arguments.length;)Fr(arguments[n++],r,e,!0);return e}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{reduce:function(t){var e=j(this),r=fn(e),n=arguments.length<2,o=n?void 0:arguments[1];if(ee(t),Fr(r,function(r,i){n?(n=!1,o=i):o=t(o,i,r,e)},void 0,!0,!0),n)throw TypeError("Reduce of empty map with no initial value");return o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{some:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop()},void 0,!0,!0).stopped}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{update:function(t,e){var r=j(this),n=arguments.length;ee(e);var o=r.has(t);if(!o&&n<3)throw TypeError("Updating absent value");var i=o?r.get(t):ee(n>2?arguments[2]:void 0)(t,r);return r.set(t,e(i,t,r)),r}});var pn=function(t,e){var r,n=j(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof e&&"function"!=typeof o)throw TypeError("At least one callback required");return n.has(t)?(r=n.get(t),"function"==typeof e&&(r=e(r),n.set(t,r))):"function"==typeof o&&(r=o(),n.set(t,r)),r};Lt({target:"Map",proto:!0,real:!0,forced:q},{upsert:pn}),Lt({target:"Map",proto:!0,real:!0,forced:q},{updateOrInsert:pn});var dn="\t\n\v\f\r \u2028\u2029\ufeff",vn="["+dn+"]",gn=RegExp("^"+vn+vn+"*"),yn=RegExp(vn+vn+"*$"),mn=function(t){return function(e){var r=String(v(e));return 1&t&&(r=r.replace(gn,"")),2&t&&(r=r.replace(yn,"")),r}},bn={start:mn(1),end:mn(2),trim:mn(3)},wn=wt.f,Sn=R.f,En=I.f,xn=bn.trim,An="Number",On=n[An],Rn=On.prototype,jn=h(Jt(Rn))==An,Pn=function(t){var e,r,n,o,i,a,u,s,c=m(t,!1);if("string"==typeof c&&c.length>2)if(43===(e=(c=xn(c)).charCodeAt(0))||45===e){if(88===(r=c.charCodeAt(2))||120===r)return NaN}else if(48===e){switch(c.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=c.slice(2)).length,u=0;u<a;u++)if((s=i.charCodeAt(u))<48||s>o)return NaN;return parseInt(i,n)}return+c};if(Tt(An,!On(" 0o1")||!On("0b1")||On("+0x1"))){for(var In,Tn=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof Tn&&(jn?o(function(){Rn.valueOf.call(r)}):h(r)!=An)?Dr(new On(Pn(e)),r,Tn):Pn(e)},kn=i?wn(On):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),Ln=0;kn.length>Ln;Ln++)w(On,In=kn[Ln])&&!w(Tn,In)&&En(Tn,In,Sn(On,In));Tn.prototype=Rn,Rn.constructor=Tn,rt(n,An,Tn)}Lt({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)});var Un=n.isFinite;Lt({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&Un(t)}});var Mn=Math.floor,_n=function(t){return!y(t)&&isFinite(t)&&Mn(t)===t};Lt({target:"Number",stat:!0},{isInteger:_n}),Lt({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Nn=Math.abs;Lt({target:"Number",stat:!0},{isSafeInteger:function(t){return _n(t)&&Nn(t)<=9007199254740991}}),Lt({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991}),Lt({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991});var Cn=bn.trim,Fn=n.parseFloat,Bn=1/Fn(dn+"-0")!=-Infinity?function(t){var e=Cn(String(t)),r=Fn(e);return 0===r&&"-"==e.charAt(0)?-0:r}:Fn;Lt({target:"Number",stat:!0,forced:Number.parseFloat!=Bn},{parseFloat:Bn});var Dn=bn.trim,qn=n.parseInt,zn=/^[+-]?0[Xx]/,Wn=8!==qn(dn+"08")||22!==qn(dn+"0x16")?function(t,e){var r=Dn(String(t));return qn(r,e>>>0||(zn.test(r)?16:10))}:qn;Lt({target:"Number",stat:!0,forced:Number.parseInt!=Wn},{parseInt:Wn});var Kn=c.f,Gn=function(t){return function(e){for(var r,n=g(e),o=zt(n),a=o.length,u=0,s=[];a>u;)r=o[u++],i&&!Kn.call(n,r)||s.push(t?[r,n[r]]:n[r]);return s}},$n={entries:Gn(!0),values:Gn(!1)},Vn=$n.entries;Lt({target:"Object",stat:!0},{entries:function(t){return Vn(t)}}),Lt({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){for(var e,r,n=g(t),o=R.f,i=Et(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&sr(a,e,r);return a}});var Hn=o(function(){zt(1)});Lt({target:"Object",stat:!0,forced:Hn},{keys:function(t){return zt(Ut(t))}});var Xn=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Lt({target:"Object",stat:!0},{is:Xn});var Yn=$n.values;Lt({target:"Object",stat:!0},{values:function(t){return Yn(t)}});var Jn=it("Reflect","apply"),Qn=Function.apply,Zn=!o(function(){Jn(function(){})});Lt({target:"Reflect",stat:!0,forced:Zn},{apply:function(t,e,r){return ee(t),j(r),Jn?Jn(t,e,r):Qn.call(t,e,r)}});var to=[].slice,eo={},ro=Function.bind||function(t){var e=ee(this),r=to.call(arguments,1),n=function(){var o=r.concat(to.call(arguments));return this instanceof n?function(t,e,r){if(!(e in eo)){for(var n=[],o=0;o<e;o++)n[o]="a["+o+"]";eo[e]=Function("C,a","return new C("+n.join(",")+")")}return eo[e](t,r)}(e,o.length,o):e.apply(t,o)};return y(e.prototype)&&(n.prototype=e.prototype),n},no=it("Reflect","construct"),oo=o(function(){function t(){}return!(no(function(){},[],t)instanceof t)}),io=!o(function(){no(function(){})}),ao=oo||io;Lt({target:"Reflect",stat:!0,forced:ao,sham:ao},{construct:function(t,e){ee(t),j(e);var r=arguments.length<3?t:ee(arguments[2]);if(io&&!oo)return no(t,e,r);if(t==r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return n.push.apply(n,e),new(ro.apply(t,n))}var o=r.prototype,i=Jt(y(o)?o:Object.prototype),a=Function.apply.call(t,i,e);return y(a)?a:i}});var uo=o(function(){Reflect.defineProperty(I.f({},1,{value:1}),1,{value:2})});Lt({target:"Reflect",stat:!0,forced:uo,sham:!i},{defineProperty:function(t,e,r){j(t);var n=m(e,!0);j(r);try{return I.f(t,n,r),!0}catch(t){return!1}}});var so=R.f;Lt({target:"Reflect",stat:!0},{deleteProperty:function(t,e){var r=so(j(t),e);return!(r&&!r.configurable)&&delete t[e]}}),Lt({target:"Reflect",stat:!0},{get:function t(e,r){var n,o,i=arguments.length<3?e:arguments[2];return j(e)===i?e[r]:(n=R.f(e,r))?w(n,"value")?n.value:void 0===n.get?void 0:n.get.call(i):y(o=Ue(e))?t(o,r,i):void 0}}),Lt({target:"Reflect",stat:!0,sham:!i},{getOwnPropertyDescriptor:function(t,e){return R.f(j(t),e)}}),Lt({target:"Reflect",stat:!0,sham:!Te},{getPrototypeOf:function(t){return Ue(j(t))}}),Lt({target:"Reflect",stat:!0},{has:function(t,e){return e in t}});var co=Object.isExtensible;Lt({target:"Reflect",stat:!0},{isExtensible:function(t){return j(t),!co||co(t)}}),Lt({target:"Reflect",stat:!0},{ownKeys:Et}),Lt({target:"Reflect",stat:!0,sham:!Nr},{preventExtensions:function(t){j(t);try{var e=it("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}});var fo=o(function(){var t=I.f({},"a",{configurable:!0});return!1!==Reflect.set(Ue(t),"a",1,t)});Lt({target:"Reflect",stat:!0,forced:fo},{set:function t(e,r,n){var o,i,a=arguments.length<4?e:arguments[3],u=R.f(j(e),r);if(!u){if(y(i=Ue(e)))return t(i,r,n,a);u=f(0)}if(w(u,"value")){if(!1===u.writable||!y(a))return!1;if(o=R.f(a,r)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,I.f(a,r,o)}else I.f(a,r,f(0,n));return!0}return void 0!==u.set&&(u.set.call(a,n),!0)}}),Ge&&Lt({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){j(t),Ke(e);try{return Ge(t,e),!0}catch(t){return!1}}});var lo=Cr.getWeakData,ho=et.set,po=et.getterFor,vo=fe.find,go=fe.findIndex,yo=0,mo=function(t){return t.frozen||(t.frozen=new bo)},bo=function(){this.entries=[]},wo=function(t,e){return vo(t.entries,function(t){return t[0]===e})};bo.prototype={get:function(t){var e=wo(this,t);if(e)return e[1]},has:function(t){return!!wo(this,t)},set:function(t,e){var r=wo(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=go(this.entries,function(e){return e[0]===t});return~e&&this.entries.splice(e,1),!!~e}};var So={getConstructor:function(t,e,r,n){var o=t(function(t,i){Br(t,o,e),ho(t,{type:e,id:yo++,frozen:void 0}),null!=i&&Fr(i,t[n],t,r)}),i=po(e),a=function(t,e,r){var n=i(t),o=lo(j(e),!0);return!0===o?mo(n).set(e,r):o[n.id]=r,t};return zr(o.prototype,{delete:function(t){var e=i(this);if(!y(t))return!1;var r=lo(t);return!0===r?mo(e).delete(t):r&&w(r,e.id)&&delete r[e.id]},has:function(t){var e=i(this);if(!y(t))return!1;var r=lo(t);return!0===r?mo(e).has(t):r&&w(r,e.id)}}),zr(o.prototype,r?{get:function(t){var e=i(this);if(y(t)){var r=lo(t);return!0===r?mo(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},Eo=e(function(t){var e,r=et.enforce,o=!n.ActiveXObject&&"ActiveXObject"in n,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=qr("WeakMap",a,So);if(D&&o){e=So.getConstructor(a,"WeakMap",!0),Cr.REQUIRED=!0;var s=u.prototype,c=s.delete,f=s.has,l=s.get,h=s.set;zr(s,{delete:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),c.call(this,t)||n.frozen.delete(t)}return c.call(this,t)},has:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)||n.frozen.has(t)}return f.call(this,t)},get:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)?l.call(this,t):n.frozen.get(t)}return l.call(this,t)},set:function(t,n){if(y(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),f.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}}),xo=z("metadata"),Ao=xo.store||(xo.store=new Eo),Oo=function(t,e,r){var n=Ao.get(t);if(!n){if(!r)return;Ao.set(t,n=new Yr)}var o=n.get(e);if(!o){if(!r)return;n.set(e,o=new Yr)}return o},Ro={store:Ao,getMap:Oo,has:function(t,e,r){var n=Oo(e,r,!1);return void 0!==n&&n.has(t)},get:function(t,e,r){var n=Oo(e,r,!1);return void 0===n?void 0:n.get(t)},set:function(t,e,r,n){Oo(r,n,!0).set(t,e)},keys:function(t,e){var r=Oo(t,e,!1),n=[];return r&&r.forEach(function(t,e){n.push(e)}),n},toKey:function(t){return void 0===t||"symbol"==typeof t?t:String(t)}},jo=Ro.toKey,Po=Ro.set;Lt({target:"Reflect",stat:!0},{defineMetadata:function(t,e,r){var n=arguments.length<4?void 0:jo(arguments[3]);Po(t,e,j(r),n)}});var Io=Ro.toKey,To=Ro.getMap,ko=Ro.store;Lt({target:"Reflect",stat:!0},{deleteMetadata:function(t,e){var r=arguments.length<3?void 0:Io(arguments[2]),n=To(j(e),r,!1);if(void 0===n||!n.delete(t))return!1;if(n.size)return!0;var o=ko.get(e);return o.delete(r),!!o.size||ko.delete(e)}});var Lo=Ro.has,Uo=Ro.get,Mo=Ro.toKey,_o=function(t,e,r){if(Lo(t,e,r))return Uo(t,e,r);var n=Ue(e);return null!==n?_o(t,n,r):void 0};Lt({target:"Reflect",stat:!0},{getMetadata:function(t,e){var r=arguments.length<3?void 0:Mo(arguments[2]);return _o(t,j(e),r)}});var No=qr("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Xr),Co=Ro.keys,Fo=Ro.toKey,Bo=function(t,e){var r=Co(t,e),n=Ue(t);if(null===n)return r;var o,i,a=Bo(n,e);return a.length?r.length?(o=new No(r.concat(a)),Fr(o,(i=[]).push,i),i):a:r};Lt({target:"Reflect",stat:!0},{getMetadataKeys:function(t){var e=arguments.length<2?void 0:Fo(arguments[1]);return Bo(j(t),e)}});var Do=Ro.get,qo=Ro.toKey;Lt({target:"Reflect",stat:!0},{getOwnMetadata:function(t,e){var r=arguments.length<3?void 0:qo(arguments[2]);return Do(t,j(e),r)}});var zo=Ro.keys,Wo=Ro.toKey;Lt({target:"Reflect",stat:!0},{getOwnMetadataKeys:function(t){var e=arguments.length<2?void 0:Wo(arguments[1]);return zo(j(t),e)}});var Ko=Ro.has,Go=Ro.toKey,$o=function(t,e,r){if(Ko(t,e,r))return!0;var n=Ue(e);return null!==n&&$o(t,n,r)};Lt({target:"Reflect",stat:!0},{hasMetadata:function(t,e){var r=arguments.length<3?void 0:Go(arguments[2]);return $o(t,j(e),r)}});var Vo=Ro.has,Ho=Ro.toKey;Lt({target:"Reflect",stat:!0},{hasOwnMetadata:function(t,e){var r=arguments.length<3?void 0:Ho(arguments[2]);return Vo(t,j(e),r)}});var Xo=Ro.toKey,Yo=Ro.set;Lt({target:"Reflect",stat:!0},{metadata:function(t,e){return function(r,n){Yo(t,e,j(r),Xo(n))}}});var Jo=qt("match"),Qo=function(t){var e;return y(t)&&(void 0!==(e=t[Jo])?!!e:"RegExp"==h(t))},Zo=function(){var t=j(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function ti(t,e){return RegExp(t,e)}var ei=o(function(){var t=ti("a","y");return t.lastIndex=2,null!=t.exec("abcd")}),ri=o(function(){var t=ti("^r","gy");return t.lastIndex=2,null!=t.exec("str")}),ni={UNSUPPORTED_Y:ei,BROKEN_CARET:ri},oi=I.f,ii=wt.f,ai=et.set,ui=qt("match"),si=n.RegExp,ci=si.prototype,fi=/a/g,li=/a/g,hi=new si(fi)!==fi,pi=ni.UNSUPPORTED_Y;if(i&&Tt("RegExp",!hi||pi||o(function(){return li[ui]=!1,si(fi)!=fi||si(li)==li||"/a/i"!=si(fi,"i")}))){for(var di=function(t,e){var r,n=this instanceof di,o=Qo(t),i=void 0===e;if(!n&&o&&t.constructor===di&&i)return t;hi?o&&!i&&(t=t.source):t instanceof di&&(i&&(e=Zo.call(t)),t=t.source),pi&&(r=!!e&&e.indexOf("y")>-1)&&(e=e.replace(/y/g,""));var a=Dr(hi?new si(t,e):si(t,e),n?this:ci,di);return pi&&r&&ai(a,{sticky:r}),a},vi=function(t){t in di||oi(di,t,{configurable:!0,get:function(){return si[t]},set:function(e){si[t]=e}})},gi=ii(si),yi=0;gi.length>yi;)vi(gi[yi++]);ci.constructor=di,di.prototype=ci,rt(n,"RegExp",di)}Kr("RegExp");var mi="toString",bi=RegExp.prototype,wi=bi[mi];(o(function(){return"/a/b"!=wi.call({source:"a",flags:"b"})})||wi.name!=mi)&&rt(RegExp.prototype,mi,function(){var t=j(this),e=String(t.source),r=t.flags;return"/"+e+"/"+String(void 0===r&&t instanceof RegExp&&!("flags"in bi)?Zo.call(t):r)},{unsafe:!0});var Si=RegExp.prototype.exec,Ei=String.prototype.replace,xi=Si,Ai=function(){var t=/a/,e=/b*/g;return Si.call(t,"a"),Si.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),Oi=ni.UNSUPPORTED_Y||ni.BROKEN_CARET,Ri=void 0!==/()??/.exec("")[1];(Ai||Ri||Oi)&&(xi=function(t){var e,r,n,o,i=this,a=Oi&&i.sticky,u=Zo.call(i),s=i.source,c=0,f=t;return a&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(s="(?: "+s+")",f=" "+f,c++),r=new RegExp("^(?:"+s+")",u)),Ri&&(r=new RegExp("^"+s+"$(?!\\s)",u)),Ai&&(e=i.lastIndex),n=Si.call(a?r:i,f),a?n?(n.input=n.input.slice(c),n[0]=n[0].slice(c),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:Ai&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),Ri&&n&&n.length>1&&Ei.call(n[0],r,function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)}),n});var ji=xi;Lt({target:"RegExp",proto:!0,forced:/./.exec!==ji},{exec:ji}),i&&("g"!=/./g.flags||ni.UNSUPPORTED_Y)&&I.f(RegExp.prototype,"flags",{configurable:!0,get:Zo});var Pi=et.get,Ii=RegExp.prototype;i&&ni.UNSUPPORTED_Y&&(0,I.f)(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==Ii){if(this instanceof RegExp)return!!Pi(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}});var Ti,ki,Li=(Ti=!1,(ki=/[ac]/).exec=function(){return Ti=!0,/./.exec.apply(this,arguments)},!0===ki.test("abc")&&Ti),Ui=/./.test;Lt({target:"RegExp",proto:!0,forced:!Li},{test:function(t){if("function"!=typeof this.exec)return Ui.call(this,t);var e=this.exec(t);if(null!==e&&!y(e))throw new Error("RegExp exec method returned something other than an Object or null");return!!e}});var Mi=qt("species"),_i=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),Ni="$0"==="a".replace(/./,"$0"),Ci=qt("replace"),Fi=!!/./[Ci]&&""===/./[Ci]("a","$0"),Bi=!o(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),Di=function(t,e,r,n){var i=qt(t),a=!o(function(){var e={};return e[i]=function(){return 7},7!=""[t](e)}),u=a&&!o(function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[Mi]=function(){return r},r.flags="",r[i]=/./[i]),r.exec=function(){return e=!0,null},r[i](""),!e});if(!a||!u||"replace"===t&&(!_i||!Ni||Fi)||"split"===t&&!Bi){var s=/./[i],c=r(i,""[t],function(t,e,r,n,o){return e.exec===ji?a&&!o?{done:!0,value:s.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}},{REPLACE_KEEPS_$0:Ni,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:Fi}),f=c[1];rt(String.prototype,t,c[0]),rt(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}n&&T(RegExp.prototype[i],"sham",!0)},qi=Ie.charAt,zi=function(t,e,r){return e+(r?qi(t,e).length:1)},Wi=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==h(t))throw TypeError("RegExp#exec called on incompatible receiver");return ji.call(t,e)};Di("match",1,function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=j(t),i=String(this);if(!o.global)return Wi(o,i);var a=o.unicode;o.lastIndex=0;for(var u,s=[],c=0;null!==(u=Wi(o,i));){var f=String(u[0]);s[c]=f,""===f&&(o.lastIndex=zi(i,ft(o.lastIndex),a)),c++}return 0===c?null:s}]});var Ki=Math.max,Gi=Math.min,$i=Math.floor,Vi=/\$([$&'`]|\d\d?|<[^>]*>)/g,Hi=/\$([$&'`]|\d\d?)/g;Di("replace",2,function(t,e,r,n){var o=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=n.REPLACE_KEEPS_$0,a=o?"$":"$0";return[function(r,n){var o=v(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,n){if(!o&&i||"string"==typeof n&&-1===n.indexOf(a)){var s=r(e,t,this,n);if(s.done)return s.value}var c=j(t),f=String(this),l="function"==typeof n;l||(n=String(n));var h=c.global;if(h){var p=c.unicode;c.lastIndex=0}for(var d=[];;){var v=Wi(c,f);if(null===v)break;if(d.push(v),!h)break;""===String(v[0])&&(c.lastIndex=zi(f,ft(c.lastIndex),p))}for(var g,y="",m=0,b=0;b<d.length;b++){v=d[b];for(var w=String(v[0]),S=Ki(Gi(st(v.index),f.length),0),E=[],x=1;x<v.length;x++)E.push(void 0===(g=v[x])?g:String(g));var A=v.groups;if(l){var O=[w].concat(E,S,f);void 0!==A&&O.push(A);var R=String(n.apply(void 0,O))}else R=u(w,f,S,E,A,n);S>=m&&(y+=f.slice(m,S)+R,m=S+w.length)}return y+f.slice(m)}];function u(t,r,n,o,i,a){var u=n+t.length,s=o.length,c=Hi;return void 0!==i&&(i=Ut(i),c=Vi),e.call(a,c,function(e,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":c=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>s){var l=$i(f/10);return 0===l?e:l<=s?void 0===o[l-1]?a.charAt(1):o[l-1]+a.charAt(1):e}c=o[f-1]}return void 0===c?"":c})}}),Di("search",1,function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=j(t),i=String(this),a=o.lastIndex;Xn(a,0)||(o.lastIndex=0);var u=Wi(o,i);return Xn(o.lastIndex,a)||(o.lastIndex=a),null===u?-1:u.index}]});var Xi=[].push,Yi=Math.min,Ji=4294967295,Qi=!o(function(){return!RegExp(Ji,"y")});Di("split",2,function(t,e,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,r){var n=String(v(this)),o=void 0===r?Ji:r>>>0;if(0===o)return[];if(void 0===t)return[n];if(!Qo(t))return e.call(n,t,o);for(var i,a,u,s=[],c=0,f=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(i=ji.call(f,n))&&!((a=f.lastIndex)>c&&(s.push(n.slice(c,i.index)),i.length>1&&i.index<n.length&&Xi.apply(s,i.slice(1)),u=i[0].length,c=a,s.length>=o));)f.lastIndex===i.index&&f.lastIndex++;return c===n.length?!u&&f.test("")||s.push(""):s.push(n.slice(c)),s.length>o?s.slice(0,o):s}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var o=v(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,o){var i=r(n,t,this,o,n!==e);if(i.done)return i.value;var a=j(t),u=String(this),s=hn(a,RegExp),c=a.unicode,f=new s(Qi?a:"^(?:"+a.source+")",(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(Qi?"y":"g")),l=void 0===o?Ji:o>>>0;if(0===l)return[];if(0===u.length)return null===Wi(f,u)?[u]:[];for(var h=0,p=0,d=[];p<u.length;){f.lastIndex=Qi?p:0;var v,g=Wi(f,Qi?u:u.slice(p));if(null===g||(v=Yi(ft(f.lastIndex+(Qi?0:p)),u.length))===h)p=zi(u,p,c);else{if(d.push(u.slice(h,p)),d.length===l)return d;for(var y=1;y<=g.length-1;y++)if(d.push(g[y]),d.length===l)return d;p=h=v}}return d.push(u.slice(h)),d}]},!Qi),Lt({target:"Set",stat:!0},{from:an}),Lt({target:"Set",stat:!0},{of:un});var Zi=function(){for(var t=j(this),e=ee(t.add),r=0,n=arguments.length;r<n;r++)e.call(t,arguments[r]);return t};Lt({target:"Set",proto:!0,real:!0,forced:q},{addAll:function(){return Zi.apply(this,arguments)}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}});var ta=function(t){return Set.prototype.values.call(t)};Lt({target:"Set",proto:!0,real:!0,forced:q},{every:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return!Fr(r,function(t){if(!n(t,t,e))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{difference:function(t){var e=j(this),r=new(hn(e,it("Set")))(e),n=ee(r.delete);return Fr(t,function(t){n.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{filter:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Set"))),i=ee(o.add);return Fr(r,function(t){n(t,t,e)&&i.call(o,t)},void 0,!1,!0),o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{find:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t){if(n(t,t,e))return Fr.stop(t)},void 0,!1,!0).result}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{intersection:function(t){var e=j(this),r=new(hn(e,it("Set"))),n=ee(e.has),o=ee(r.add);return Fr(t,function(t){n.call(e,t)&&o.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isDisjointFrom:function(t){var e=j(this),r=ee(e.has);return!Fr(t,function(t){if(!0===r.call(e,t))return Fr.stop()}).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isSubsetOf:function(t){var e=cn(this),r=j(t),n=r.has;return"function"!=typeof n&&(r=new(it("Set"))(t),n=ee(r.has)),!Fr(e,function(t){if(!1===n.call(r,t))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isSupersetOf:function(t){var e=j(this),r=ee(e.has);return!Fr(t,function(t){if(!1===r.call(e,t))return Fr.stop()}).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{join:function(t){var e=j(this),r=ta(e),n=void 0===t?",":String(t),o=[];return Fr(r,o.push,o,!1,!0),o.join(n)}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{map:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Set"))),i=ee(o.add);return Fr(r,function(t){i.call(o,n(t,t,e))},void 0,!1,!0),o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{reduce:function(t){var e=j(this),r=ta(e),n=arguments.length<2,o=n?void 0:arguments[1];if(ee(t),Fr(r,function(r){n?(n=!1,o=r):o=t(o,r,r,e)},void 0,!1,!0),n)throw TypeError("Reduce of empty set with no initial value");return o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{some:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t){if(n(t,t,e))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{symmetricDifference:function(t){var e=j(this),r=new(hn(e,it("Set")))(e),n=ee(r.delete),o=ee(r.add);return Fr(t,function(t){n.call(r,t)||o.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{union:function(t){var e=j(this),r=new(hn(e,it("Set")))(e);return Fr(t,ee(r.add),r),r}});var ea,ra,na=it("navigator","userAgent")||"",oa=n.process,ia=oa&&oa.versions,aa=ia&&ia.v8;aa?ra=(ea=aa.split("."))[0]+ea[1]:na&&(!(ea=na.match(/Edge\/(\d+)/))||ea[1]>=74)&&(ea=na.match(/Chrome\/(\d+)/))&&(ra=ea[1]);var ua=ra&&+ra,sa=qt("species"),ca=qt("isConcatSpreadable"),fa=9007199254740991,la="Maximum allowed index exceeded",ha=ua>=51||!o(function(){var t=[];return t[ca]=!1,t.concat()[0]!==t}),pa=ua>=51||!o(function(){var t=[];return(t.constructor={})[sa]=function(){return{foo:1}},1!==t.concat(Boolean).foo}),da=function(t){if(!y(t))return!1;var e=t[ca];return void 0!==e?!!e:ie(t)};Lt({target:"Array",proto:!0,forced:!ha||!pa},{concat:function(t){var e,r,n,o,i,a=Ut(this),u=ue(a,0),s=0;for(e=-1,n=arguments.length;e<n;e++)if(da(i=-1===e?a:arguments[e])){if(s+(o=ft(i.length))>fa)throw TypeError(la);for(r=0;r<o;r++,s++)r in i&&sr(u,s,i[r])}else{if(s>=fa)throw TypeError(la);sr(u,s++,i)}return u.length=s,u}});var va=wt.f,ga={}.toString,ya="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ma={f:function(t){return ya&&"[object Window]"==ga.call(t)?function(t){try{return va(t)}catch(t){return ya.slice()}}(t):va(g(t))}},ba={f:qt},wa=I.f,Sa=function(t){var e=nt.Symbol||(nt.Symbol={});w(e,t)||wa(e,t,{value:ba.f(t)})},Ea=fe.forEach,xa=V("hidden"),Aa="Symbol",Oa="prototype",Ra=qt("toPrimitive"),ja=et.set,Pa=et.getterFor(Aa),Ia=Object[Oa],Ta=n.Symbol,ka=it("JSON","stringify"),La=R.f,Ua=I.f,Ma=ma.f,_a=c.f,Na=z("symbols"),Ca=z("op-symbols"),Fa=z("string-to-symbol-registry"),Ba=z("symbol-to-string-registry"),Da=z("wks"),qa=n.QObject,za=!qa||!qa[Oa]||!qa[Oa].findChild,Wa=i&&o(function(){return 7!=Jt(Ua({},"a",{get:function(){return Ua(this,"a",{value:7}).a}})).a})?function(t,e,r){var n=La(Ia,e);n&&delete Ia[e],Ua(t,e,r),n&&t!==Ia&&Ua(Ia,e,n)}:Ua,Ka=function(t,e){var r=Na[t]=Jt(Ta[Oa]);return ja(r,{type:Aa,tag:t,description:e}),i||(r.description=e),r},Ga=Ct?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Ta},$a=function(t,e,r){t===Ia&&$a(Ca,e,r),j(t);var n=m(e,!0);return j(r),w(Na,n)?(r.enumerable?(w(t,xa)&&t[xa][n]&&(t[xa][n]=!1),r=Jt(r,{enumerable:f(0,!1)})):(w(t,xa)||Ua(t,xa,f(1,{})),t[xa][n]=!0),Wa(t,n,r)):Ua(t,n,r)},Va=function(t,e){j(t);var r=g(e),n=zt(r).concat(Ja(r));return Ea(n,function(e){i&&!Ha.call(r,e)||$a(t,e,r[e])}),t},Ha=function(t){var e=m(t,!0),r=_a.call(this,e);return!(this===Ia&&w(Na,e)&&!w(Ca,e))&&(!(r||!w(this,e)||!w(Na,e)||w(this,xa)&&this[xa][e])||r)},Xa=function(t,e){var r=g(t),n=m(e,!0);if(r!==Ia||!w(Na,n)||w(Ca,n)){var o=La(r,n);return!o||!w(Na,n)||w(r,xa)&&r[xa][n]||(o.enumerable=!0),o}},Ya=function(t){var e=Ma(g(t)),r=[];return Ea(e,function(t){w(Na,t)||w(H,t)||r.push(t)}),r},Ja=function(t){var e=t===Ia,r=Ma(e?Ca:g(t)),n=[];return Ea(r,function(t){!w(Na,t)||e&&!w(Ia,t)||n.push(Na[t])}),n};if(Nt||(Ta=function(){if(this instanceof Ta)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=G(t),r=function(t){this===Ia&&r.call(Ca,t),w(this,xa)&&w(this[xa],e)&&(this[xa][e]=!1),Wa(this,e,f(1,t))};return i&&za&&Wa(Ia,e,{configurable:!0,set:r}),Ka(e,t)},rt(Ta[Oa],"toString",function(){return Pa(this).tag}),rt(Ta,"withoutSetter",function(t){return Ka(G(t),t)}),c.f=Ha,I.f=$a,R.f=Xa,wt.f=ma.f=Ya,St.f=Ja,ba.f=function(t){return Ka(qt(t),t)},i&&(Ua(Ta[Oa],"description",{configurable:!0,get:function(){return Pa(this).description}}),rt(Ia,"propertyIsEnumerable",Ha,{unsafe:!0}))),Lt({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Ta}),Ea(zt(Da),function(t){Sa(t)}),Lt({target:Aa,stat:!0,forced:!Nt},{for:function(t){var e=String(t);if(w(Fa,e))return Fa[e];var r=Ta(e);return Fa[e]=r,Ba[r]=e,r},keyFor:function(t){if(!Ga(t))throw TypeError(t+" is not a symbol");if(w(Ba,t))return Ba[t]},useSetter:function(){za=!0},useSimple:function(){za=!1}}),Lt({target:"Object",stat:!0,forced:!Nt,sham:!i},{create:function(t,e){return void 0===e?Jt(t):Va(Jt(t),e)},defineProperty:$a,defineProperties:Va,getOwnPropertyDescriptor:Xa}),Lt({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:Ya,getOwnPropertySymbols:Ja}),Lt({target:"Object",stat:!0,forced:o(function(){St.f(1)})},{getOwnPropertySymbols:function(t){return St.f(Ut(t))}}),ka){var Qa=!Nt||o(function(){var t=Ta();return"[null]"!=ka([t])||"{}"!=ka({a:t})||"{}"!=ka(Object(t))});Lt({target:"JSON",stat:!0,forced:Qa},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(y(e)||void 0!==t)&&!Ga(t))return ie(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Ga(e))return e}),o[1]=e,ka.apply(null,o)}})}Ta[Oa][Ra]||T(Ta[Oa],Ra,Ta[Oa].valueOf),Be(Ta,Aa),H[xa]=!0,Sa("asyncIterator");var Za=I.f,tu=n.Symbol;if(i&&"function"==typeof tu&&(!("description"in tu.prototype)||void 0!==tu().description)){var eu={},ru=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof ru?new tu(t):void 0===t?tu():tu(t);return""===t&&(eu[e]=!0),e};xt(ru,tu);var nu=ru.prototype=tu.prototype;nu.constructor=ru;var ou=nu.toString,iu="Symbol(test)"==String(tu("test")),au=/^Symbol\((.*)\)[^)]+$/;Za(nu,"description",{configurable:!0,get:function(){var t=y(this)?this.valueOf():this,e=ou.call(t);if(w(eu,t))return"";var r=iu?e.slice(7,-1):e.replace(au,"$1");return""===r?void 0:r}}),Lt({global:!0,forced:!0},{Symbol:ru})}Sa("hasInstance"),Sa("isConcatSpreadable"),Sa("iterator"),Sa("match"),Sa("matchAll"),Sa("replace"),Sa("search"),Sa("species"),Sa("split"),Sa("toPrimitive"),Sa("toStringTag"),Sa("unscopables"),Be(Math,"Math",!0),Be(n.JSON,"JSON",!0),Sa("asyncDispose"),Sa("dispose"),Sa("observable"),Sa("patternMatch"),Sa("replaceAll"),ba.f("asyncIterator");var uu=Ie.codeAt;Lt({target:"String",proto:!0},{codePointAt:function(t){return uu(this,t)}}),oe("String","codePointAt");var su,cu=function(t){if(Qo(t))throw TypeError("The method doesn't accept regular expressions");return t},fu=qt("match"),lu=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[fu]=!1,"/./"[t](e)}catch(t){}}return!1},hu=R.f,pu="".endsWith,du=Math.min,vu=lu("endsWith"),gu=!(vu||(su=hu(String.prototype,"endsWith"),!su||su.writable));Lt({target:"String",proto:!0,forced:!gu&&!vu},{endsWith:function(t){var e=String(v(this));cu(t);var r=arguments.length>1?arguments[1]:void 0,n=ft(e.length),o=void 0===r?n:du(ft(r),n),i=String(t);return pu?pu.call(e,i,o):e.slice(o-i.length,o)===i}}),oe("String","endsWith");var yu=String.fromCharCode,mu=String.fromCodePoint;Lt({target:"String",stat:!0,forced:!!mu&&1!=mu.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],pt(e,1114111)!==e)throw RangeError(e+" is not a valid code point");r.push(e<65536?yu(e):yu(55296+((e-=65536)>>10),e%1024+56320))}return r.join("")}}),Lt({target:"String",proto:!0,forced:!lu("includes")},{includes:function(t){return!!~String(v(this)).indexOf(cu(t),arguments.length>1?arguments[1]:void 0)}}),oe("String","includes");var bu="".repeat||function(t){var e=String(v(this)),r="",n=st(t);if(n<0||Infinity==n)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},wu=Math.ceil,Su=function(t){return function(e,r,n){var o,i,a=String(v(e)),u=a.length,s=void 0===n?" ":String(n),c=ft(r);return c<=u||""==s?a:((i=bu.call(s,wu((o=c-u)/s.length))).length>o&&(i=i.slice(0,o)),t?a+i:i+a)}},Eu={start:Su(!1),end:Su(!0)},xu=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(na),Au=Eu.start;Lt({target:"String",proto:!0,forced:xu},{padStart:function(t){return Au(this,t,arguments.length>1?arguments[1]:void 0)}}),oe("String","padStart");var Ou=Eu.end;Lt({target:"String",proto:!0,forced:xu},{padEnd:function(t){return Ou(this,t,arguments.length>1?arguments[1]:void 0)}}),oe("String","padEnd"),Lt({target:"String",stat:!0},{raw:function(t){for(var e=g(t.raw),r=ft(e.length),n=arguments.length,o=[],i=0;r>i;)o.push(String(e[i++])),i<n&&o.push(String(arguments[i]));return o.join("")}}),Lt({target:"String",proto:!0},{repeat:bu}),oe("String","repeat");var Ru=R.f,ju="".startsWith,Pu=Math.min,Iu=lu("startsWith"),Tu=!Iu&&!!function(){var t=Ru(String.prototype,"startsWith");return t&&!t.writable}();Lt({target:"String",proto:!0,forced:!Tu&&!Iu},{startsWith:function(t){var e=String(v(this));cu(t);var r=ft(Pu(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return ju?ju.call(e,n,r):e.slice(r,r+n.length)===n}}),oe("String","startsWith");var ku=function(t){return o(function(){return!!dn[t]()||"
"!="
"[t]()||dn[t].name!==t})},Lu=bn.start,Uu=ku("trimStart"),Mu=Uu?function(){return Lu(this)}:"".trimStart;Lt({target:"String",proto:!0,forced:Uu},{trimStart:Mu,trimLeft:Mu}),oe("String","trimLeft");var _u=bn.end,Nu=ku("trimEnd"),Cu=Nu?function(){return _u(this)}:"".trimEnd;Lt({target:"String",proto:!0,forced:Nu},{trimEnd:Cu,trimRight:Cu}),oe("String","trimRight");var Fu=qt("iterator"),Bu=!o(function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,r="";return t.pathname="c%20d",e.forEach(function(t,n){e.delete("b"),r+=n+t}),!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[Fu]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host}),Du=Object.assign,qu=Object.defineProperty,zu=!Du||o(function(){if(i&&1!==Du({b:1},Du(qu({},"a",{enumerable:!0,get:function(){qu(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach(function(t){e[t]=t}),7!=Du({},t)[r]||zt(Du({},e)).join("")!=n})?function(t,e){for(var r=Ut(t),n=arguments.length,o=1,a=St.f,u=c.f;n>o;)for(var s,f=d(arguments[o++]),l=a?zt(f).concat(a(f)):zt(f),h=l.length,p=0;h>p;)s=l[p++],i&&!u.call(f,s)||(r[s]=f[s]);return r}:Du,Wu=2147483647,Ku=/[^\0-\u007E]/,Gu=/[.\u3002\uFF0E\uFF61]/g,$u="Overflow: input needs wider integers to process",Vu=Math.floor,Hu=String.fromCharCode,Xu=function(t){return t+22+75*(t<26)},Yu=function(t,e,r){var n=0;for(t=r?Vu(t/700):t>>1,t+=Vu(t/e);t>455;n+=36)t=Vu(t/35);return Vu(n+36*t/(t+38))},Ju=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r<n;){var o=t.charCodeAt(r++);if(o>=55296&&o<=56319&&r<n){var i=t.charCodeAt(r++);56320==(64512&i)?e.push(((1023&o)<<10)+(1023&i)+65536):(e.push(o),r--)}else e.push(o)}return e}(t);var r,n,o=t.length,i=128,a=0,u=72;for(r=0;r<t.length;r++)(n=t[r])<128&&e.push(Hu(n));var s=e.length,c=s;for(s&&e.push("-");c<o;){var f=Wu;for(r=0;r<t.length;r++)(n=t[r])>=i&&n<f&&(f=n);var l=c+1;if(f-i>Vu((Wu-a)/l))throw RangeError($u);for(a+=(f-i)*l,i=f,r=0;r<t.length;r++){if((n=t[r])<i&&++a>Wu)throw RangeError($u);if(n==i){for(var h=a,p=36;;p+=36){var d=p<=u?1:p>=u+26?26:p-u;if(h<d)break;var v=h-d,g=36-d;e.push(Hu(Xu(d+v%g))),h=Vu(v/g)}e.push(Hu(Xu(h))),u=Yu(a,l,c==s),a=0,++c}}++a,++i}return e.join("")},Qu=it("fetch"),Zu=it("Headers"),ts=qt("iterator"),es="URLSearchParams",rs=es+"Iterator",ns=et.set,os=et.getterFor(es),is=et.getterFor(rs),as=/\+/g,us=Array(4),ss=function(t){return us[t-1]||(us[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},cs=function(t){try{return decodeURIComponent(t)}catch(e){return t}},fs=function(t){var e=t.replace(as," "),r=4;try{return decodeURIComponent(e)}catch(t){for(;r;)e=e.replace(ss(r--),cs);return e}},ls=/[!'()~]|%20/g,hs={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ps=function(t){return hs[t]},ds=function(t){return encodeURIComponent(t).replace(ls,ps)},vs=function(t,e){if(e)for(var r,n,o=e.split("&"),i=0;i<o.length;)(r=o[i++]).length&&(n=r.split("="),t.push({key:fs(n.shift()),value:fs(n.join("="))}))},gs=function(t){this.entries.length=0,vs(this.entries,t)},ys=function(t,e){if(t<e)throw TypeError("Not enough arguments")},ms=We(function(t,e){ns(this,{type:rs,iterator:cn(os(t).entries),kind:e})},"Iterator",function(){var t=is(this),e=t.kind,r=t.iterator.next(),n=r.value;return r.done||(r.value="keys"===e?n.key:"values"===e?n.value:[n.key,n.value]),r}),bs=function(){Br(this,bs,es);var t,e,r,n,o,i,a,u,s,c=arguments.length>0?arguments[0]:void 0,f=[];if(ns(this,{type:es,entries:f,updateURL:function(){},updateSearchParams:gs}),void 0!==c)if(y(c))if("function"==typeof(t=vr(c)))for(r=(e=t.call(c)).next;!(n=r.call(e)).done;){if((a=(i=(o=cn(j(n.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");f.push({key:a.value+"",value:u.value+""})}else for(s in c)w(c,s)&&f.push({key:s,value:c[s]+""});else vs(f,"string"==typeof c?"?"===c.charAt(0)?c.slice(1):c:c+"")},ws=bs.prototype;zr(ws,{append:function(t,e){ys(arguments.length,2);var r=os(this);r.entries.push({key:t+"",value:e+""}),r.updateURL()},delete:function(t){ys(arguments.length,1);for(var e=os(this),r=e.entries,n=t+"",o=0;o<r.length;)r[o].key===n?r.splice(o,1):o++;e.updateURL()},get:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=0;n<e.length;n++)if(e[n].key===r)return e[n].value;return null},getAll:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=[],o=0;o<e.length;o++)e[o].key===r&&n.push(e[o].value);return n},has:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=0;n<e.length;)if(e[n++].key===r)return!0;return!1},set:function(t,e){ys(arguments.length,1);for(var r,n=os(this),o=n.entries,i=!1,a=t+"",u=e+"",s=0;s<o.length;s++)(r=o[s]).key===a&&(i?o.splice(s--,1):(i=!0,r.value=u));i||o.push({key:a,value:u}),n.updateURL()},sort:function(){var t,e,r,n=os(this),o=n.entries,i=o.slice();for(o.length=0,r=0;r<i.length;r++){for(t=i[r],e=0;e<r;e++)if(o[e].key>t.key){o.splice(e,0,t);break}e===r&&o.push(t)}n.updateURL()},forEach:function(t){for(var e,r=os(this).entries,n=re(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<r.length;)n((e=r[o++]).value,e.key,this)},keys:function(){return new ms(this,"keys")},values:function(){return new ms(this,"values")},entries:function(){return new ms(this,"entries")}},{enumerable:!0}),rt(ws,ts,ws.entries),rt(ws,"toString",function(){for(var t,e=os(this).entries,r=[],n=0;n<e.length;)t=e[n++],r.push(ds(t.key)+"="+ds(t.value));return r.join("&")},{enumerable:!0}),Be(bs,es),Lt({global:!0,forced:!Bu},{URLSearchParams:bs}),Bu||"function"!=typeof Qu||"function"!=typeof Zu||Lt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var e,r,n,o=[t];return arguments.length>1&&(y(e=arguments[1])&&pr(r=e.body)===es&&((n=e.headers?new Zu(e.headers):new Zu).has("content-type")||n.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),e=Jt(e,{body:f(0,String(r)),headers:f(0,n)})),o.push(e)),Qu.apply(this,o)}});var Ss,Es={URLSearchParams:bs,getState:os},xs=Ie.codeAt,As=n.URL,Os=Es.URLSearchParams,Rs=Es.getState,js=et.set,Ps=et.getterFor("URL"),Is=Math.floor,Ts=Math.pow,ks="Invalid scheme",Ls="Invalid host",Us="Invalid port",Ms=/[A-Za-z]/,_s=/[\d+-.A-Za-z]/,Ns=/\d/,Cs=/^(0x|0X)/,Fs=/^[0-7]+$/,Bs=/^\d+$/,Ds=/^[\dA-Fa-f]+$/,qs=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,zs=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Ws=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,Ks=/[\u0009\u000A\u000D]/g,Gs=function(t,e){var r,n,o;if("["==e.charAt(0)){if("]"!=e.charAt(e.length-1))return Ls;if(!(r=Vs(e.slice(1,-1))))return Ls;t.host=r}else if(ec(t)){if(e=function(t){var e,r,n=[],o=t.toLowerCase().replace(Gu,".").split(".");for(e=0;e<o.length;e++)n.push(Ku.test(r=o[e])?"xn--"+Ju(r):r);return n.join(".")}(e),qs.test(e))return Ls;if(null===(r=$s(e)))return Ls;t.host=r}else{if(zs.test(e))return Ls;for(r="",n=gr(e),o=0;o<n.length;o++)r+=Zs(n[o],Xs);t.host=r}},$s=function(t){var e,r,n,o,i,a,u,s=t.split(".");if(s.length&&""==s[s.length-1]&&s.pop(),(e=s.length)>4)return t;for(r=[],n=0;n<e;n++){if(""==(o=s[n]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=Cs.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?Bs:8==i?Fs:Ds).test(o))return t;a=parseInt(o,i)}r.push(a)}for(n=0;n<e;n++)if(a=r[n],n==e-1){if(a>=Ts(256,5-e))return null}else if(a>255)return null;for(u=r.pop(),n=0;n<r.length;n++)u+=r[n]*Ts(256,3-n);return u},Vs=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,f=++c}for(;h();){if(8==c)return;if(":"!=h()){for(e=r=0;r<4&&Ds.test(h());)e=16*e+parseInt(h(),16),l++,r++;if("."==h()){if(0==r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!("."==h()&&n<4))return;l++}if(!Ns.test(h()))return;for(;Ns.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!=n||c++}if(4!=n)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!=c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!=c)return;return s},Hs=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)e.unshift(t%256),t=Is(t/256);return e.join(".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r&&(e=n,r=o),e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=t[r].toString(16),r<7&&(e+=":")));return"["+e+"]"}return t},Xs={},Ys=zu({},Xs,{" ":1,'"':1,"<":1,">":1,"`":1}),Js=zu({},Ys,{"#":1,"?":1,"{":1,"}":1}),Qs=zu({},Js,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Zs=function(t,e){var r=xs(t,0);return r>32&&r<127&&!w(e,t)?t:encodeURIComponent(t)},tc={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ec=function(t){return w(tc,t.scheme)},rc=function(t){return""!=t.username||""!=t.password},nc=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},oc=function(t,e){var r;return 2==t.length&&Ms.test(t.charAt(0))&&(":"==(r=t.charAt(1))||!e&&"|"==r)},ic=function(t){var e;return t.length>1&&oc(t.slice(0,2))&&(2==t.length||"/"===(e=t.charAt(2))||"\\"===e||"?"===e||"#"===e)},ac=function(t){var e=t.path,r=e.length;!r||"file"==t.scheme&&1==r&&oc(e[0],!0)||e.pop()},uc=function(t){return"."===t||"%2e"===t.toLowerCase()},sc={},cc={},fc={},lc={},hc={},pc={},dc={},vc={},gc={},yc={},mc={},bc={},wc={},Sc={},Ec={},xc={},Ac={},Oc={},Rc={},jc={},Pc={},Ic=function(t,e,r,n){var o,i,a,u,s,c=r||sc,f=0,l="",h=!1,p=!1,d=!1;for(r||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(Ws,"")),e=e.replace(Ks,""),o=gr(e);f<=o.length;){switch(i=o[f],c){case sc:if(!i||!Ms.test(i)){if(r)return ks;c=fc;continue}l+=i.toLowerCase(),c=cc;break;case cc:if(i&&(_s.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(r)return ks;l="",c=fc,f=0;continue}if(r&&(ec(t)!=w(tc,l)||"file"==l&&(rc(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,r)return void(ec(t)&&tc[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?c=Sc:ec(t)&&n&&n.scheme==t.scheme?c=lc:ec(t)?c=vc:"/"==o[f+1]?(c=hc,f++):(t.cannotBeABaseURL=!0,t.path.push(""),c=Rc)}break;case fc:if(!n||n.cannotBeABaseURL&&"#"!=i)return ks;if(n.cannotBeABaseURL&&"#"==i){t.scheme=n.scheme,t.path=n.path.slice(),t.query=n.query,t.fragment="",t.cannotBeABaseURL=!0,c=Pc;break}c="file"==n.scheme?Sc:pc;continue;case lc:if("/"!=i||"/"!=o[f+1]){c=pc;continue}c=gc,f++;break;case hc:if("/"==i){c=yc;break}c=Oc;continue;case pc:if(t.scheme=n.scheme,i==Ss)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query;else if("/"==i||"\\"==i&&ec(t))c=dc;else if("?"==i)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query="",c=jc;else{if("#"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.path.pop(),c=Oc;continue}t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query,t.fragment="",c=Pc}break;case dc:if(!ec(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,c=Oc;continue}c=yc}else c=gc;break;case vc:if(c=gc,"/"!=i||"/"!=l.charAt(f+1))continue;f++;break;case gc:if("/"!=i&&"\\"!=i){c=yc;continue}break;case yc:if("@"==i){h&&(l="%40"+l),h=!0,a=gr(l);for(var v=0;v<a.length;v++){var g=a[v];if(":"!=g||d){var y=Zs(g,Qs);d?t.password+=y:t.username+=y}else d=!0}l=""}else if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)){if(h&&""==l)return"Invalid authority";f-=gr(l).length+1,l="",c=mc}else l+=i;break;case mc:case bc:if(r&&"file"==t.scheme){c=xc;continue}if(":"!=i||p){if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)){if(ec(t)&&""==l)return Ls;if(r&&""==l&&(rc(t)||null!==t.port))return;if(u=Gs(t,l))return u;if(l="",c=Ac,r)return;continue}"["==i?p=!0:"]"==i&&(p=!1),l+=i}else{if(""==l)return Ls;if(u=Gs(t,l))return u;if(l="",c=wc,r==bc)return}break;case wc:if(!Ns.test(i)){if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)||r){if(""!=l){var m=parseInt(l,10);if(m>65535)return Us;t.port=ec(t)&&m===tc[t.scheme]?null:m,l=""}if(r)return;c=Ac;continue}return Us}l+=i;break;case Sc:if(t.scheme="file","/"==i||"\\"==i)c=Ec;else{if(!n||"file"!=n.scheme){c=Oc;continue}if(i==Ss)t.host=n.host,t.path=n.path.slice(),t.query=n.query;else if("?"==i)t.host=n.host,t.path=n.path.slice(),t.query="",c=jc;else{if("#"!=i){ic(o.slice(f).join(""))||(t.host=n.host,t.path=n.path.slice(),ac(t)),c=Oc;continue}t.host=n.host,t.path=n.path.slice(),t.query=n.query,t.fragment="",c=Pc}}break;case Ec:if("/"==i||"\\"==i){c=xc;break}n&&"file"==n.scheme&&!ic(o.slice(f).join(""))&&(oc(n.path[0],!0)?t.path.push(n.path[0]):t.host=n.host),c=Oc;continue;case xc:if(i==Ss||"/"==i||"\\"==i||"?"==i||"#"==i){if(!r&&oc(l))c=Oc;else if(""==l){if(t.host="",r)return;c=Ac}else{if(u=Gs(t,l))return u;if("localhost"==t.host&&(t.host=""),r)return;l="",c=Ac}continue}l+=i;break;case Ac:if(ec(t)){if(c=Oc,"/"!=i&&"\\"!=i)continue}else if(r||"?"!=i)if(r||"#"!=i){if(i!=Ss&&(c=Oc,"/"!=i))continue}else t.fragment="",c=Pc;else t.query="",c=jc;break;case Oc:if(i==Ss||"/"==i||"\\"==i&&ec(t)||!r&&("?"==i||"#"==i)){if(".."===(s=(s=l).toLowerCase())||"%2e."===s||".%2e"===s||"%2e%2e"===s?(ac(t),"/"==i||"\\"==i&&ec(t)||t.path.push("")):uc(l)?"/"==i||"\\"==i&&ec(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&oc(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==Ss||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",c=jc):"#"==i&&(t.fragment="",c=Pc)}else l+=Zs(i,Js);break;case Rc:"?"==i?(t.query="",c=jc):"#"==i?(t.fragment="",c=Pc):i!=Ss&&(t.path[0]+=Zs(i,Xs));break;case jc:r||"#"!=i?i!=Ss&&("'"==i&&ec(t)?t.query+="%27":t.query+="#"==i?"%23":Zs(i,Xs)):(t.fragment="",c=Pc);break;case Pc:i!=Ss&&(t.fragment+=Zs(i,Ys))}f++}},Tc=function(t){var e,r,n=Br(this,Tc,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(t),u=js(n,{type:"URL"});if(void 0!==o)if(o instanceof Tc)e=Ps(o);else if(r=Ic(e={},String(o)))throw TypeError(r);if(r=Ic(u,a,null,e))throw TypeError(r);var s=u.searchParams=new Os,c=Rs(s);c.updateSearchParams(u.query),c.updateURL=function(){u.query=String(s)||null},i||(n.href=Lc.call(n),n.origin=Uc.call(n),n.protocol=Mc.call(n),n.username=_c.call(n),n.password=Nc.call(n),n.host=Cc.call(n),n.hostname=Fc.call(n),n.port=Bc.call(n),n.pathname=Dc.call(n),n.search=qc.call(n),n.searchParams=zc.call(n),n.hash=Wc.call(n))},kc=Tc.prototype,Lc=function(){var t=Ps(this),e=t.scheme,r=t.username,n=t.password,o=t.host,i=t.port,a=t.path,u=t.query,s=t.fragment,c=e+":";return null!==o?(c+="//",rc(t)&&(c+=r+(n?":"+n:"")+"@"),c+=Hs(o),null!==i&&(c+=":"+i)):"file"==e&&(c+="//"),c+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(c+="?"+u),null!==s&&(c+="#"+s),c},Uc=function(){var t=Ps(this),e=t.scheme,r=t.port;if("blob"==e)try{return new URL(e.path[0]).origin}catch(t){return"null"}return"file"!=e&&ec(t)?e+"://"+Hs(t.host)+(null!==r?":"+r:""):"null"},Mc=function(){return Ps(this).scheme+":"},_c=function(){return Ps(this).username},Nc=function(){return Ps(this).password},Cc=function(){var t=Ps(this),e=t.host,r=t.port;return null===e?"":null===r?Hs(e):Hs(e)+":"+r},Fc=function(){var t=Ps(this).host;return null===t?"":Hs(t)},Bc=function(){var t=Ps(this).port;return null===t?"":String(t)},Dc=function(){var t=Ps(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?"/"+e.join("/"):""},qc=function(){var t=Ps(this).query;return t?"?"+t:""},zc=function(){return Ps(this).searchParams},Wc=function(){var t=Ps(this).fragment;return t?"#"+t:""},Kc=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(i&&Wt(kc,{href:Kc(Lc,function(t){var e=Ps(this),r=String(t),n=Ic(e,r);if(n)throw TypeError(n);Rs(e.searchParams).updateSearchParams(e.query)}),origin:Kc(Uc),protocol:Kc(Mc,function(t){var e=Ps(this);Ic(e,String(t)+":",sc)}),username:Kc(_c,function(t){var e=Ps(this),r=gr(String(t));if(!nc(e)){e.username="";for(var n=0;n<r.length;n++)e.username+=Zs(r[n],Qs)}}),password:Kc(Nc,function(t){var e=Ps(this),r=gr(String(t));if(!nc(e)){e.password="";for(var n=0;n<r.length;n++)e.password+=Zs(r[n],Qs)}}),host:Kc(Cc,function(t){var e=Ps(this);e.cannotBeABaseURL||Ic(e,String(t),mc)}),hostname:Kc(Fc,function(t){var e=Ps(this);e.cannotBeABaseURL||Ic(e,String(t),bc)}),port:Kc(Bc,function(t){var e=Ps(this);nc(e)||(""==(t=String(t))?e.port=null:Ic(e,t,wc))}),pathname:Kc(Dc,function(t){var e=Ps(this);e.cannotBeABaseURL||(e.path=[],Ic(e,t+"",Ac))}),search:Kc(qc,function(t){var e=Ps(this);""==(t=String(t))?e.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),e.query="",Ic(e,t,jc)),Rs(e.searchParams).updateSearchParams(e.query)}),searchParams:Kc(zc),hash:Kc(Wc,function(t){var e=Ps(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),e.fragment="",Ic(e,t,Pc)):e.fragment=null})}),rt(kc,"toJSON",function(){return Lc.call(this)},{enumerable:!0}),rt(kc,"toString",function(){return Lc.call(this)},{enumerable:!0}),As){var Gc=As.createObjectURL,$c=As.revokeObjectURL;Gc&&rt(Tc,"createObjectURL",function(t){return Gc.apply(As,arguments)}),$c&&rt(Tc,"revokeObjectURL",function(t){return $c.apply(As,arguments)})}Be(Tc,"URL"),Lt({global:!0,forced:!Bu,sham:!i},{URL:Tc}),Lt({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}}),Lt({target:"WeakMap",stat:!0},{from:an}),Lt({target:"WeakMap",stat:!0},{of:un}),Lt({target:"WeakMap",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}}),Lt({target:"WeakMap",proto:!0,real:!0,forced:q},{upsert:pn}),qr("WeakSet",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},So),Lt({target:"WeakSet",proto:!0,real:!0,forced:q},{addAll:function(){return Zi.apply(this,arguments)}}),Lt({target:"WeakSet",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}}),Lt({target:"WeakSet",stat:!0},{from:an}),Lt({target:"WeakSet",stat:!0},{of:un});var Vc,Hc,Xc,Yc=n.Promise,Jc=/(iphone|ipod|ipad).*applewebkit/i.test(na),Qc=n.location,Zc=n.setImmediate,tf=n.clearImmediate,ef=n.process,rf=n.MessageChannel,nf=n.Dispatch,of=0,af={},uf="onreadystatechange",sf=function(t){if(af.hasOwnProperty(t)){var e=af[t];delete af[t],e()}},cf=function(t){return function(){sf(t)}},ff=function(t){sf(t.data)},lf=function(t){n.postMessage(t+"",Qc.protocol+"//"+Qc.host)};Zc&&tf||(Zc=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return af[++of]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},Vc(of),of},tf=function(t){delete af[t]},"process"==h(ef)?Vc=function(t){ef.nextTick(cf(t))}:nf&&nf.now?Vc=function(t){nf.now(cf(t))}:rf&&!Jc?(Xc=(Hc=new rf).port2,Hc.port1.onmessage=ff,Vc=re(Xc.postMessage,Xc,1)):!n.addEventListener||"function"!=typeof postMessage||n.importScripts||o(lf)||"file:"===Qc.protocol?Vc=uf in x("script")?function(t){Kt.appendChild(x("script"))[uf]=function(){Kt.removeChild(this),sf(t)}}:function(t){setTimeout(cf(t),0)}:(Vc=lf,n.addEventListener("message",ff,!1)));var hf,pf,df,vf,gf,yf,mf,bf,wf={set:Zc,clear:tf},Sf=R.f,Ef=wf.set,xf=n.MutationObserver||n.WebKitMutationObserver,Af=n.process,Of=n.Promise,Rf="process"==h(Af),jf=Sf(n,"queueMicrotask"),Pf=jf&&jf.value;Pf||(hf=function(){var t,e;for(Rf&&(t=Af.domain)&&t.exit();pf;){e=pf.fn,pf=pf.next;try{e()}catch(t){throw pf?vf():df=void 0,t}}df=void 0,t&&t.enter()},Rf?vf=function(){Af.nextTick(hf)}:xf&&!Jc?(gf=!0,yf=document.createTextNode(""),new xf(hf).observe(yf,{characterData:!0}),vf=function(){yf.data=gf=!gf}):Of&&Of.resolve?(mf=Of.resolve(void 0),bf=mf.then,vf=function(){bf.call(mf,hf)}):vf=function(){Ef.call(n,hf)});var If,Tf,kf,Lf,Uf=Pf||function(t){var e={fn:t,next:void 0};df&&(df.next=e),pf||(pf=e,vf()),df=e},Mf=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n}),this.resolve=ee(e),this.reject=ee(r)},_f={f:function(t){return new Mf(t)}},Nf=function(t,e){if(j(t),y(e)&&e.constructor===t)return e;var r=_f.f(t);return(0,r.resolve)(e),r.promise},Cf=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Ff=wf.set,Bf=qt("species"),Df="Promise",qf=et.get,zf=et.set,Wf=et.getterFor(Df),Kf=Yc,Gf=n.TypeError,$f=n.document,Vf=n.process,Hf=it("fetch"),Xf=_f.f,Yf=Xf,Jf="process"==h(Vf),Qf=!!($f&&$f.createEvent&&n.dispatchEvent),Zf="unhandledrejection",tl=Tt(Df,function(){if(F(Kf)===String(Kf)){if(66===ua)return!0;if(!Jf&&"function"!=typeof PromiseRejectionEvent)return!0}if(ua>=51&&/native code/.test(Kf))return!1;var t=Kf.resolve(1),e=function(t){t(function(){},function(){})};return(t.constructor={})[Bf]=e,!(t.then(function(){})instanceof e)}),el=tl||!Sr(function(t){Kf.all(t).catch(function(){})}),rl=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},nl=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;Uf(function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var u,s,c,f=n[a++],l=i?f.ok:f.fail,h=f.resolve,p=f.reject,d=f.domain;try{l?(i||(2===e.rejection&&ul(t,e),e.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),c=!0)),u===f.promise?p(Gf("Promise-chain cycle")):(s=rl(u))?s.call(u,h,p):h(u)):p(o)}catch(t){d&&!c&&d.exit(),p(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&il(t,e)})}},ol=function(t,e,r){var o,i;Qf?((o=$f.createEvent("Event")).promise=e,o.reason=r,o.initEvent(t,!1,!0),n.dispatchEvent(o)):o={promise:e,reason:r},(i=n["on"+t])?i(o):t===Zf&&function(t,e){var r=n.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}("Unhandled promise rejection",r)},il=function(t,e){Ff.call(n,function(){var r,n=e.value;if(al(e)&&(r=Cf(function(){Jf?Vf.emit("unhandledRejection",n,t):ol(Zf,t,n)}),e.rejection=Jf||al(e)?2:1,r.error))throw r.value})},al=function(t){return 1!==t.rejection&&!t.parent},ul=function(t,e){Ff.call(n,function(){Jf?Vf.emit("rejectionHandled",t):ol("rejectionhandled",t,e.value)})},sl=function(t,e,r,n){return function(o){t(e,r,o,n)}},cl=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,nl(t,e,!0))},fl=function(t,e,r,n){if(!e.done){e.done=!0,n&&(e=n);try{if(t===r)throw Gf("Promise can't be resolved itself");var o=rl(r);o?Uf(function(){var n={done:!1};try{o.call(r,sl(fl,t,n,e),sl(cl,t,n,e))}catch(r){cl(t,n,r,e)}}):(e.value=r,e.state=1,nl(t,e,!1))}catch(r){cl(t,{done:!1},r,e)}}};tl&&(Kf=function(t){Br(this,Kf,Df),ee(t),If.call(this);var e=qf(this);try{t(sl(fl,this,e),sl(cl,this,e))}catch(t){cl(this,e,t)}},(If=function(t){zf(this,{type:Df,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=zr(Kf.prototype,{then:function(t,e){var r=Wf(this),n=Xf(hn(this,Kf));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=Jf?Vf.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&nl(this,r,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Tf=function(){var t=new If,e=qf(t);this.promise=t,this.resolve=sl(fl,t,e),this.reject=sl(cl,t,e)},_f.f=Xf=function(t){return t===Kf||t===kf?new Tf(t):Yf(t)},"function"==typeof Yc&&(Lf=Yc.prototype.then,rt(Yc.prototype,"then",function(t,e){var r=this;return new Kf(function(t,e){Lf.call(r,t,e)}).then(t,e)},{unsafe:!0}),"function"==typeof Hf&&Lt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return Nf(Kf,Hf.apply(n,arguments))}}))),Lt({global:!0,wrap:!0,forced:tl},{Promise:Kf}),Be(Kf,Df,!1),Kr(Df),kf=it(Df),Lt({target:Df,stat:!0,forced:tl},{reject:function(t){var e=Xf(this);return e.reject.call(void 0,t),e.promise}}),Lt({target:Df,stat:!0,forced:tl},{resolve:function(t){return Nf(this,t)}}),Lt({target:Df,stat:!0,forced:el},{all:function(t){var e=this,r=Xf(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),i=[],a=0,u=1;Fr(t,function(t){var s=a++,c=!1;i.push(void 0),u++,r.call(e,t).then(function(t){c||(c=!0,i[s]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise},race:function(t){var e=this,r=Xf(e),n=r.reject,o=Cf(function(){var o=ee(e.resolve);Fr(t,function(t){o.call(e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),Lt({target:"Promise",stat:!0},{allSettled:function(t){var e=this,r=_f.f(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),o=[],i=0,a=1;Fr(t,function(t){var u=i++,s=!1;o.push(void 0),a++,r.call(e,t).then(function(t){s||(s=!0,o[u]={status:"fulfilled",value:t},--a||n(o))},function(t){s||(s=!0,o[u]={status:"rejected",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var ll=!!Yc&&o(function(){Yc.prototype.finally.call({then:function(){}},function(){})});Lt({target:"Promise",proto:!0,real:!0,forced:ll},{finally:function(t){var e=hn(this,it("Promise")),r="function"==typeof t;return this.then(r?function(r){return Nf(e,t()).then(function(){return r})}:t,r?function(r){return Nf(e,t()).then(function(){throw r})}:t)}}),"function"!=typeof Yc||Yc.prototype.finally||rt(Yc.prototype,"finally",it("Promise").prototype.finally);var hl=et.set,pl=et.getterFor("AggregateError"),dl=function(t,e){var r=this;if(!(r instanceof dl))return new dl(t,e);Ge&&(r=Ge(new Error(e),Ue(r)));var n=[];return Fr(t,n.push,n),i?hl(r,{errors:n,type:"AggregateError"}):r.errors=n,void 0!==e&&T(r,"message",String(e)),r};dl.prototype=Jt(Error.prototype,{constructor:f(5,dl),message:f(5,""),name:f(5,"AggregateError")}),i&&I.f(dl.prototype,"errors",{get:function(){return pl(this).errors},configurable:!0}),Lt({global:!0},{AggregateError:dl}),Lt({target:"Promise",stat:!0},{try:function(t){var e=_f.f(this),r=Cf(t);return(r.error?e.reject:e.resolve)(r.value),e.promise}});var vl="No one promise resolved";Lt({target:"Promise",stat:!0},{any:function(t){var e=this,r=_f.f(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),i=[],a=0,u=1,s=!1;Fr(t,function(t){var c=a++,f=!1;i.push(void 0),u++,r.call(e,t).then(function(t){f||s||(s=!0,n(t))},function(t){f||s||(f=!0,i[c]=t,--u||o(new(it("AggregateError"))(i,vl)))})}),--u||o(new(it("AggregateError"))(i,vl))});return i.error&&o(i.value),r.promise}}),oe("Promise","finally");var gl="URLSearchParams"in self,yl="Symbol"in self&&"iterator"in Symbol,ml="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),bl="FormData"in self,wl="ArrayBuffer"in self;if(wl)var Sl=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],El=ArrayBuffer.isView||function(t){return t&&Sl.indexOf(Object.prototype.toString.call(t))>-1};function xl(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Al(t){return"string"!=typeof t&&(t=String(t)),t}function Ol(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return yl&&(e[Symbol.iterator]=function(){return e}),e}function Rl(t){this.map={},t instanceof Rl?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function jl(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function Pl(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function Il(t){var e=new FileReader,r=Pl(e);return e.readAsArrayBuffer(t),r}function Tl(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function kl(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:ml&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:bl&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:gl&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():wl&&ml&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=Tl(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):wl&&(ArrayBuffer.prototype.isPrototypeOf(t)||El(t))?this._bodyArrayBuffer=Tl(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):gl&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},ml&&(this.blob=function(){var t=jl(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?jl(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(Il)}),this.text=function(){var t=jl(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=Pl(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},bl&&(this.formData=function(){return this.text().then(Ml)}),this.json=function(){return this.text().then(JSON.parse)},this}Rl.prototype.append=function(t,e){t=xl(t),e=Al(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},Rl.prototype.delete=function(t){delete this.map[xl(t)]},Rl.prototype.get=function(t){return t=xl(t),this.has(t)?this.map[t]:null},Rl.prototype.has=function(t){return this.map.hasOwnProperty(xl(t))},Rl.prototype.set=function(t,e){this.map[xl(t)]=Al(e)},Rl.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},Rl.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),Ol(t)},Rl.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),Ol(t)},Rl.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),Ol(t)},yl&&(Rl.prototype[Symbol.iterator]=Rl.prototype.entries);var Ll=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Ul(t,e){var r,n,o=(e=e||{}).body;if(t instanceof Ul){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new Rl(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new Rl(e.headers)),this.method=(n=(r=e.method||this.method||"GET").toUpperCase(),Ll.indexOf(n)>-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function Ml(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function _l(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new Rl(e.headers),this.url=e.url||"",this._initBody(t)}Ul.prototype.clone=function(){return new Ul(this,{body:this._bodyInit})},kl.call(Ul.prototype),kl.call(_l.prototype),_l.prototype.clone=function(){return new _l(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Rl(this.headers),url:this.url})},_l.error=function(){var t=new _l(null,{status:0,statusText:""});return t.type="error",t};var Nl=[301,302,303,307,308];_l.redirect=function(t,e){if(-1===Nl.indexOf(e))throw new RangeError("Invalid status code");return new _l(null,{status:e,headers:{location:t}})};var Cl=self.DOMException;try{new Cl}catch(t){(Cl=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),Cl.prototype.constructor=Cl}function Fl(t,e){return new Promise(function(r,n){var o=new Ul(t,e);if(o.signal&&o.signal.aborted)return n(new Cl("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new Rl,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new _l("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new Cl("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&ml&&(i.responseType="blob"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}Fl.polyfill=!0,self.fetch||(self.fetch=Fl,self.Headers=Rl,self.Request=Ul,self.Response=_l);var Bl=Object.getOwnPropertySymbols,Dl=Object.prototype.hasOwnProperty,ql=Object.prototype.propertyIsEnumerable,zl=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),i=1;i<arguments.length;i++){for(var a in r=Object(arguments[i]))Dl.call(r,a)&&(o[a]=r[a]);if(Bl){n=Bl(r);for(var u=0;u<n.length;u++)ql.call(r,n[u])&&(o[n[u]]=r[n[u]])}}return o};Object.assign=zl}();
|
out/_next/static/chunks/webpack-8f7c4246348aad30.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
!function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function d(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}},r=!0;try{a[e](n,n.exports,d),r=!1}finally{r&&delete l[e]}return n.exports}d.m=a,e=[],d.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u<e.length;u++){for(var n=e[u][0],r=e[u][1],o=e[u][2],c=!0,f=0;f<n.length;f++)i>=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o<i&&(i=o));if(c){e.splice(u--,1);var a=r();void 0!==a&&(t=a)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var o=Object.create(null);d.r(o);var u={};t=t||[null,n({}),n([]),n(n)];for(var i=2&r&&e;"object"==typeof i&&!~t.indexOf(i);i=n(i))Object.getOwnPropertyNames(i).forEach(function(t){u[t]=function(){return e[t]}});return u.default=function(){return e},d.d(o,u),o},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){},d.miniCssF=function(e){},d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="_N_E:",d.l=function(e,t,n,u){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var i,c,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var l=f[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,d.nc&&i.setAttribute("nonce",d.nc),i.setAttribute("data-webpack",o+n),i.src=d.tu(e)),r[e]=[t];var s=function(t,n){i.onerror=i.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=s.bind(null,i.onerror),i.onload=s.bind(null,i.onload),c&&document.head.appendChild(i)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=function(){return void 0===u&&(u={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(u=trustedTypes.createPolicy("nextjs#bundler",u))),u},d.tu=function(e){return d.tt().createScriptURL(e)},d.p="/_next/",i={272:0,93:0},d.f.j=function(e,t){var n=d.o(i,e)?i[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(/^(272|93)$/.test(e))i[e]=0;else{var r=new Promise(function(t,r){n=i[e]=[t,r]});t.push(n[2]=r);var o=d.p+d.u(e),u=Error();d.l(o,function(t){if(d.o(i,e)&&(0!==(n=i[e])&&(i[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",u.name="ChunkLoadError",u.type=r,u.request=o,n[1](u)}},"chunk-"+e,e)}}},d.O.j=function(e){return 0===i[e]},c=function(e,t){var n,r,o=t[0],u=t[1],c=t[2],f=0;if(o.some(function(e){return 0!==i[e]})){for(n in u)d.o(u,n)&&(d.m[n]=u[n]);if(c)var a=c(d)}for(e&&e(t);f<o.length;f++)r=o[f],d.o(i,r)&&i[r]&&i[r][0](),i[r]=0;return d.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(c.bind(null,0)),f.push=c.bind(null,f.push.bind(f)),d.nc=void 0}();
|
out/_next/static/css/010afec7547c6d1a.css
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/55c55f0601d81cf3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26a46d62cd723877-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/97e0cb1ae144a2a9-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/581909926a08bbc8-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_e8ce0c;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_e8ce0c{font-family:__Inter_e8ce0c,__Inter_Fallback_e8ce0c;font-style:normal}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
|
| 2 |
+
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
|
| 3 |
+
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.left-\[50\%\]{left:50%}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-\[24px\]{min-width:24px}.min-w-\[60px\]{min-width:60px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-\[80px\]{max-width:80px}.max-w-lg{max-width:32rem}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-bottom-left{transform-origin:bottom left}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.-rotate-45{--tw-rotate:-45deg}.-rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-primary{background-color:hsl(var(--primary))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-50{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-50{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-50{--tw-gradient-from:#fdf2f8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,242,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.to-green-100{--tw-gradient-to:#dcfce7 var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-orange-100{--tw-gradient-to:#ffedd5 var(--tw-gradient-to-position)}.to-pink-100{--tw-gradient-to:#fce7f3 var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to:#f3e8ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-4{padding-left:1rem}.pt-0{padding-top:0}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
|
out/_next/static/media/26a46d62cd723877-s.woff2
ADDED
|
Binary file (18.8 kB). View file
|
|
|
out/_next/static/media/55c55f0601d81cf3-s.woff2
ADDED
|
Binary file (25.9 kB). View file
|
|
|
out/_next/static/media/581909926a08bbc8-s.woff2
ADDED
|
Binary file (19.1 kB). View file
|
|
|
out/_next/static/media/8e9860b6e62d6359-s.woff2
ADDED
|
Binary file (85.3 kB). View file
|
|
|
out/_next/static/media/97e0cb1ae144a2a9-s.woff2
ADDED
|
Binary file (11.2 kB). View file
|
|
|
out/_next/static/media/df0a9ae256c0569c-s.woff2
ADDED
|
Binary file (10.3 kB). View file
|
|
|
out/_next/static/media/e4af272ccee01ff0-s.p.woff2
ADDED
|
Binary file (48.4 kB). View file
|
|
|
out/index.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
out/index.txt
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
2:I[7021,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"StatsDashboard"]
|
| 2 |
+
3:I[2377,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"ProgressTimeline"]
|
| 3 |
+
4:I[8698,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"WordEvolutionTracker"]
|
| 4 |
+
5:I[8577,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"ScoreMatrixVisualization"]
|
| 5 |
+
6:I[4996,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"HillclimbingExplanation"]
|
| 6 |
+
7:I[9275,[],""]
|
| 7 |
+
8:I[1343,[],""]
|
| 8 |
+
0:["0QpfhtDA6HMYOb_8z8_NB",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","div",null,{"className":"min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100","children":["$","div",null,{"className":"container mx-auto px-4 py-8","children":[["$","div",null,{"className":"text-center mb-12","children":[["$","h1",null,{"className":"text-4xl font-bold text-gray-900 mb-4","children":"DAT Creativity Game Progress"}],["$","p",null,{"className":"text-xl text-gray-600 max-w-2xl mx-auto","children":"An interactive visualization of my journey through the Divergent Association Task (DAT) creativity game, showcasing the hillclimbing optimization technique."}]]}],["$","div",null,{"className":"space-y-8","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{}],["$","$L5",null,{}],["$","$L6",null,{}],["$","div",null,{"className":"rounded-lg border bg-card text-card-foreground shadow-sm mb-8","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6","children":[["$","div",null,{"className":"text-2xl font-semibold leading-none tracking-tight","children":"What is the DAT Creativity Game?"}],["$","div",null,{"className":"text-sm text-muted-foreground","children":"Understanding the Divergent Association Task"}]]}],["$","div",null,{"className":"p-6 pt-0 space-y-4","children":[["$","p",null,{"className":"text-gray-700","children":"The Divergent Association Task (DAT) is a creativity assessment that measures your ability to think of diverse, unrelated concepts. Players must generate 10 words that are as semantically distant from each other as possible."}],["$","p",null,{"className":"text-gray-700","children":"The challenge lies in finding words that share minimal conceptual overlap, requiring creative thinking and broad knowledge across different domains."}]]}]]}]]}]]}]}]],null],null]},[["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_e8ce0c","children":["$","$L7",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/010afec7547c6d1a.css","precedence":"next","crossOrigin":"$undefined"}]],[null,"$L9"]]]]]
|
| 9 |
+
9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"DAT Creativity Game Progress"}],["$","meta","3",{"name":"description","content":"Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization"}],["$","meta","4",{"name":"next-size-adjust"}]]
|
| 10 |
+
1:null
|
package-lock.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "datcreativityapp",
|
| 3 |
+
"version": "0.1.0",
|
| 4 |
+
"private": true,
|
| 5 |
+
"scripts": {
|
| 6 |
+
"dev": "next dev",
|
| 7 |
+
"build": "next build",
|
| 8 |
+
"export": "next build",
|
| 9 |
+
"start": "next start",
|
| 10 |
+
"lint": "next lint"
|
| 11 |
+
},
|
| 12 |
+
"dependencies": {
|
| 13 |
+
"@radix-ui/react-dialog": "^1.1.15",
|
| 14 |
+
"@radix-ui/react-slot": "^1.2.3",
|
| 15 |
+
"autoprefixer": "^10.4.21",
|
| 16 |
+
"class-variance-authority": "^0.7.1",
|
| 17 |
+
"clsx": "^2.1.1",
|
| 18 |
+
"lucide-react": "^0.539.0",
|
| 19 |
+
"next": "14.2.5",
|
| 20 |
+
"react": "^18",
|
| 21 |
+
"react-dom": "^18",
|
| 22 |
+
"tailwind-merge": "^3.3.1",
|
| 23 |
+
"tailwindcss-animate": "^1.0.7"
|
| 24 |
+
},
|
| 25 |
+
"devDependencies": {
|
| 26 |
+
"@types/node": "^20",
|
| 27 |
+
"@types/react": "^18",
|
| 28 |
+
"@types/react-dom": "^18",
|
| 29 |
+
"eslint": "^8",
|
| 30 |
+
"eslint-config-next": "14.2.5",
|
| 31 |
+
"postcss": "^8",
|
| 32 |
+
"tailwindcss": "^3.4.1",
|
| 33 |
+
"typescript": "^5"
|
| 34 |
+
}
|
| 35 |
+
}
|
postcss.config.mjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/** @type {import('postcss-load-config').Config} */
|
| 2 |
+
const config = {
|
| 3 |
+
plugins: {
|
| 4 |
+
tailwindcss: {},
|
| 5 |
+
autoprefixer: {},
|
| 6 |
+
},
|
| 7 |
+
};
|
| 8 |
+
|
| 9 |
+
export default config;
|
public/.DS_Store
ADDED
|
Binary file (6.15 kB). View file
|
|
|
src/.DS_Store
ADDED
|
Binary file (6.15 kB). View file
|
|
|
src/app/globals.css
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@tailwind base;
|
| 2 |
+
@tailwind components;
|
| 3 |
+
@tailwind utilities;
|
| 4 |
+
|
| 5 |
+
@layer base {
|
| 6 |
+
:root {
|
| 7 |
+
--background: 0 0% 100%;
|
| 8 |
+
--foreground: 222.2 84% 4.9%;
|
| 9 |
+
--card: 0 0% 100%;
|
| 10 |
+
--card-foreground: 222.2 84% 4.9%;
|
| 11 |
+
--popover: 0 0% 100%;
|
| 12 |
+
--popover-foreground: 222.2 84% 4.9%;
|
| 13 |
+
--primary: 222.2 47.4% 11.2%;
|
| 14 |
+
--primary-foreground: 210 40% 98%;
|
| 15 |
+
--secondary: 210 40% 96%;
|
| 16 |
+
--secondary-foreground: 222.2 47.4% 11.2%;
|
| 17 |
+
--muted: 210 40% 96%;
|
| 18 |
+
--muted-foreground: 215.4 16.3% 46.9%;
|
| 19 |
+
--accent: 210 40% 96%;
|
| 20 |
+
--accent-foreground: 222.2 47.4% 11.2%;
|
| 21 |
+
--destructive: 0 84.2% 60.2%;
|
| 22 |
+
--destructive-foreground: 210 40% 98%;
|
| 23 |
+
--border: 214.3 31.8% 91.4%;
|
| 24 |
+
--input: 214.3 31.8% 91.4%;
|
| 25 |
+
--ring: 222.2 84% 4.9%;
|
| 26 |
+
--radius: 0.5rem;
|
| 27 |
+
--chart-1: 12 76% 61%;
|
| 28 |
+
--chart-2: 173 58% 39%;
|
| 29 |
+
--chart-3: 197 37% 24%;
|
| 30 |
+
--chart-4: 43 74% 66%;
|
| 31 |
+
--chart-5: 27 87% 67%;
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
.dark {
|
| 35 |
+
--background: 222.2 84% 4.9%;
|
| 36 |
+
--foreground: 210 40% 98%;
|
| 37 |
+
--card: 222.2 84% 4.9%;
|
| 38 |
+
--card-foreground: 210 40% 98%;
|
| 39 |
+
--popover: 222.2 84% 4.9%;
|
| 40 |
+
--popover-foreground: 210 40% 98%;
|
| 41 |
+
--primary: 210 40% 98%;
|
| 42 |
+
--primary-foreground: 222.2 47.4% 11.2%;
|
| 43 |
+
--secondary: 217.2 32.6% 17.5%;
|
| 44 |
+
--secondary-foreground: 210 40% 98%;
|
| 45 |
+
--muted: 217.2 32.6% 17.5%;
|
| 46 |
+
--muted-foreground: 215 20.2% 65.1%;
|
| 47 |
+
--accent: 217.2 32.6% 17.5%;
|
| 48 |
+
--accent-foreground: 210 40% 98%;
|
| 49 |
+
--destructive: 0 62.8% 30.6%;
|
| 50 |
+
--destructive-foreground: 210 40% 98%;
|
| 51 |
+
--border: 217.2 32.6% 17.5%;
|
| 52 |
+
--input: 217.2 32.6% 17.5%;
|
| 53 |
+
--ring: 212.7 26.8% 83.9%;
|
| 54 |
+
--chart-1: 220 70% 50%;
|
| 55 |
+
--chart-2: 160 60% 45%;
|
| 56 |
+
--chart-3: 30 80% 55%;
|
| 57 |
+
--chart-4: 280 65% 60%;
|
| 58 |
+
--chart-5: 340 75% 55%;
|
| 59 |
+
}
|
| 60 |
+
}
|
| 61 |
+
|
| 62 |
+
@layer base {
|
| 63 |
+
* {
|
| 64 |
+
@apply border-border;
|
| 65 |
+
}
|
| 66 |
+
body {
|
| 67 |
+
@apply bg-background text-foreground;
|
| 68 |
+
}
|
| 69 |
+
}
|
src/app/layout.tsx
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import type { Metadata } from "next";
|
| 2 |
+
import { Inter } from "next/font/google";
|
| 3 |
+
import "./globals.css";
|
| 4 |
+
|
| 5 |
+
const inter = Inter({ subsets: ["latin"] });
|
| 6 |
+
|
| 7 |
+
export const metadata: Metadata = {
|
| 8 |
+
title: "DAT Creativity Game Progress",
|
| 9 |
+
description: "Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization",
|
| 10 |
+
};
|
| 11 |
+
|
| 12 |
+
export default function RootLayout({
|
| 13 |
+
children,
|
| 14 |
+
}: Readonly<{
|
| 15 |
+
children: React.ReactNode;
|
| 16 |
+
}>) {
|
| 17 |
+
return (
|
| 18 |
+
<html lang="en">
|
| 19 |
+
<body className={inter.className}>{children}</body>
|
| 20 |
+
</html>
|
| 21 |
+
);
|
| 22 |
+
}
|
src/app/page.tsx
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
|
| 2 |
+
import { Badge } from "@/components/ui/badge";
|
| 3 |
+
import { ProgressTimeline } from "@/components/ProgressTimeline";
|
| 4 |
+
import { WordEvolutionTracker } from "@/components/WordEvolutionTracker";
|
| 5 |
+
import { ScoreMatrixVisualization } from "@/components/ScoreMatrixVisualization";
|
| 6 |
+
import { HillclimbingExplanation } from "@/components/HillclimbingExplanation";
|
| 7 |
+
import { StatsDashboard } from "@/components/StatsDashboard";
|
| 8 |
+
|
| 9 |
+
export default function Home() {
|
| 10 |
+
return (
|
| 11 |
+
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
|
| 12 |
+
<div className="container mx-auto px-4 py-8">
|
| 13 |
+
<div className="text-center mb-12">
|
| 14 |
+
<h1 className="text-4xl font-bold text-gray-900 mb-4">
|
| 15 |
+
DAT Creativity Game Progress
|
| 16 |
+
</h1>
|
| 17 |
+
<p className="text-xl text-gray-600 max-w-2xl mx-auto">
|
| 18 |
+
An interactive visualization of my journey through the Divergent Association Task (DAT)
|
| 19 |
+
creativity game, showcasing the hillclimbing optimization technique.
|
| 20 |
+
</p>
|
| 21 |
+
</div>
|
| 22 |
+
|
| 23 |
+
<div className="space-y-8">
|
| 24 |
+
<StatsDashboard />
|
| 25 |
+
|
| 26 |
+
<ProgressTimeline />
|
| 27 |
+
|
| 28 |
+
<WordEvolutionTracker />
|
| 29 |
+
|
| 30 |
+
<ScoreMatrixVisualization />
|
| 31 |
+
|
| 32 |
+
<HillclimbingExplanation />
|
| 33 |
+
|
| 34 |
+
<Card className="mb-8">
|
| 35 |
+
<CardHeader>
|
| 36 |
+
<CardTitle>What is the DAT Creativity Game?</CardTitle>
|
| 37 |
+
<CardDescription>Understanding the Divergent Association Task</CardDescription>
|
| 38 |
+
</CardHeader>
|
| 39 |
+
<CardContent className="space-y-4">
|
| 40 |
+
<p className="text-gray-700">
|
| 41 |
+
The Divergent Association Task (DAT) is a creativity assessment that measures your ability
|
| 42 |
+
to think of diverse, unrelated concepts. Players must generate 10 words that are as
|
| 43 |
+
semantically distant from each other as possible.
|
| 44 |
+
</p>
|
| 45 |
+
<p className="text-gray-700">
|
| 46 |
+
The challenge lies in finding words that share minimal conceptual overlap, requiring
|
| 47 |
+
creative thinking and broad knowledge across different domains.
|
| 48 |
+
</p>
|
| 49 |
+
</CardContent>
|
| 50 |
+
</Card>
|
| 51 |
+
</div>
|
| 52 |
+
</div>
|
| 53 |
+
</div>
|
| 54 |
+
);
|
| 55 |
+
}
|
src/components/HillclimbingExplanation.tsx
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
| 4 |
+
import { Badge } from "@/components/ui/badge";
|
| 5 |
+
import { Mountain, ArrowUp, RotateCcw, Target, Lightbulb } from "lucide-react";
|
| 6 |
+
|
| 7 |
+
export function HillclimbingExplanation() {
|
| 8 |
+
return (
|
| 9 |
+
<div className="space-y-6">
|
| 10 |
+
<Card>
|
| 11 |
+
<CardHeader>
|
| 12 |
+
<CardTitle className="flex items-center gap-2">
|
| 13 |
+
<Mountain className="h-5 w-5" />
|
| 14 |
+
Understanding Hillclimbing Optimization
|
| 15 |
+
</CardTitle>
|
| 16 |
+
</CardHeader>
|
| 17 |
+
<CardContent className="space-y-6">
|
| 18 |
+
<div className="text-gray-700">
|
| 19 |
+
<p className="mb-4">
|
| 20 |
+
<strong>Hillclimbing</strong> is a local search optimization algorithm that continuously
|
| 21 |
+
moves towards better solutions by making incremental improvements. Think of it like
|
| 22 |
+
climbing a hill in foggy weather - you can only see your immediate surroundings,
|
| 23 |
+
so you always take the step that goes uphill.
|
| 24 |
+
</p>
|
| 25 |
+
</div>
|
| 26 |
+
|
| 27 |
+
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
| 28 |
+
<div className="space-y-4">
|
| 29 |
+
<h3 className="text-lg font-semibold text-gray-900 flex items-center gap-2">
|
| 30 |
+
<ArrowUp className="h-4 w-4" />
|
| 31 |
+
Algorithm Steps
|
| 32 |
+
</h3>
|
| 33 |
+
<div className="space-y-3">
|
| 34 |
+
<div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
|
| 35 |
+
<Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">1</Badge>
|
| 36 |
+
<div className="text-sm">
|
| 37 |
+
<strong>Initialize:</strong> Start with a random solution (10 diverse words)
|
| 38 |
+
</div>
|
| 39 |
+
</div>
|
| 40 |
+
<div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
|
| 41 |
+
<Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">2</Badge>
|
| 42 |
+
<div className="text-sm">
|
| 43 |
+
<strong>Evaluate:</strong> Calculate semantic distances between all word pairs
|
| 44 |
+
</div>
|
| 45 |
+
</div>
|
| 46 |
+
<div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
|
| 47 |
+
<Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">3</Badge>
|
| 48 |
+
<div className="text-sm">
|
| 49 |
+
<strong>Find weakness:</strong> Identify the word pair with smallest distance
|
| 50 |
+
</div>
|
| 51 |
+
</div>
|
| 52 |
+
<div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
|
| 53 |
+
<Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">4</Badge>
|
| 54 |
+
<div className="text-sm">
|
| 55 |
+
<strong>Improve:</strong> Replace one word with a more distant alternative
|
| 56 |
+
</div>
|
| 57 |
+
</div>
|
| 58 |
+
<div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
|
| 59 |
+
<Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">5</Badge>
|
| 60 |
+
<div className="text-sm">
|
| 61 |
+
<strong>Repeat:</strong> Continue until no improvement is possible
|
| 62 |
+
</div>
|
| 63 |
+
</div>
|
| 64 |
+
</div>
|
| 65 |
+
</div>
|
| 66 |
+
|
| 67 |
+
<div className="space-y-4">
|
| 68 |
+
<h3 className="text-lg font-semibold text-gray-900 flex items-center gap-2">
|
| 69 |
+
<Target className="h-4 w-4" />
|
| 70 |
+
Application to DAT
|
| 71 |
+
</h3>
|
| 72 |
+
<div className="space-y-3">
|
| 73 |
+
<div className="p-3 bg-green-50 border-l-4 border-green-400">
|
| 74 |
+
<h4 className="font-medium text-green-800 mb-1">Objective Function</h4>
|
| 75 |
+
<p className="text-sm text-green-700">
|
| 76 |
+
Maximize the sum of semantic distances between all word pairs
|
| 77 |
+
</p>
|
| 78 |
+
</div>
|
| 79 |
+
<div className="p-3 bg-purple-50 border-l-4 border-purple-400">
|
| 80 |
+
<h4 className="font-medium text-purple-800 mb-1">Neighbor Generation</h4>
|
| 81 |
+
<p className="text-sm text-purple-700">
|
| 82 |
+
Replace one word at a time with alternatives from vocabulary
|
| 83 |
+
</p>
|
| 84 |
+
</div>
|
| 85 |
+
<div className="p-3 bg-orange-50 border-l-4 border-orange-400">
|
| 86 |
+
<h4 className="font-medium text-orange-800 mb-1">Local Optimum</h4>
|
| 87 |
+
<p className="text-sm text-orange-700">
|
| 88 |
+
Stop when no single word replacement improves the score
|
| 89 |
+
</p>
|
| 90 |
+
</div>
|
| 91 |
+
</div>
|
| 92 |
+
</div>
|
| 93 |
+
</div>
|
| 94 |
+
</CardContent>
|
| 95 |
+
</Card>
|
| 96 |
+
|
| 97 |
+
<Card>
|
| 98 |
+
<CardHeader>
|
| 99 |
+
<CardTitle className="flex items-center gap-2">
|
| 100 |
+
<Lightbulb className="h-5 w-5" />
|
| 101 |
+
Strategy Insights
|
| 102 |
+
</CardTitle>
|
| 103 |
+
</CardHeader>
|
| 104 |
+
<CardContent>
|
| 105 |
+
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
| 106 |
+
<div>
|
| 107 |
+
<h4 className="font-medium text-gray-900 mb-3">Why Hillclimbing Works Here</h4>
|
| 108 |
+
<ul className="space-y-2 text-sm text-gray-700">
|
| 109 |
+
<li className="flex items-start gap-2">
|
| 110 |
+
<div className="w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"></div>
|
| 111 |
+
<span><strong>Greedy improvement:</strong> Each word replacement immediately improves the score</span>
|
| 112 |
+
</li>
|
| 113 |
+
<li className="flex items-start gap-2">
|
| 114 |
+
<div className="w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"></div>
|
| 115 |
+
<span><strong>Fast convergence:</strong> Reaches a good solution quickly</span>
|
| 116 |
+
</li>
|
| 117 |
+
<li className="flex items-start gap-2">
|
| 118 |
+
<div className="w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"></div>
|
| 119 |
+
<span><strong>Intuitive process:</strong> Mimics how humans naturally optimize</span>
|
| 120 |
+
</li>
|
| 121 |
+
</ul>
|
| 122 |
+
</div>
|
| 123 |
+
|
| 124 |
+
<div>
|
| 125 |
+
<h4 className="font-medium text-gray-900 mb-3">Potential Limitations</h4>
|
| 126 |
+
<ul className="space-y-2 text-sm text-gray-700">
|
| 127 |
+
<li className="flex items-start gap-2">
|
| 128 |
+
<div className="w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"></div>
|
| 129 |
+
<span><strong>Local optima:</strong> May get stuck in suboptimal solutions</span>
|
| 130 |
+
</li>
|
| 131 |
+
<li className="flex items-start gap-2">
|
| 132 |
+
<div className="w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"></div>
|
| 133 |
+
<span><strong>Initial dependency:</strong> Result depends on starting words</span>
|
| 134 |
+
</li>
|
| 135 |
+
<li className="flex items-start gap-2">
|
| 136 |
+
<div className="w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"></div>
|
| 137 |
+
<span><strong>Single-word changes:</strong> Cannot make coordinated multi-word swaps</span>
|
| 138 |
+
</li>
|
| 139 |
+
</ul>
|
| 140 |
+
</div>
|
| 141 |
+
</div>
|
| 142 |
+
|
| 143 |
+
<div className="mt-6 p-4 bg-gradient-to-r from-blue-50 to-purple-50 rounded-lg border border-blue-200">
|
| 144 |
+
<h4 className="font-semibold text-gray-900 mb-2 flex items-center gap-2">
|
| 145 |
+
<RotateCcw className="h-4 w-4" />
|
| 146 |
+
My Implementation Result
|
| 147 |
+
</h4>
|
| 148 |
+
<p className="text-sm text-gray-700 mb-2">
|
| 149 |
+
Despite these theoretical limitations, the hillclimbing approach was highly effective
|
| 150 |
+
for the DAT creativity game, achieving a score of <strong>95.08</strong> and ranking
|
| 151 |
+
in the <strong>99.98th percentile</strong>.
|
| 152 |
+
</p>
|
| 153 |
+
<p className="text-sm text-gray-600">
|
| 154 |
+
This success suggests that the semantic distance landscape for this problem has
|
| 155 |
+
favorable properties for local search, with relatively few problematic local optima.
|
| 156 |
+
</p>
|
| 157 |
+
</div>
|
| 158 |
+
</CardContent>
|
| 159 |
+
</Card>
|
| 160 |
+
</div>
|
| 161 |
+
);
|
| 162 |
+
}
|
src/components/ProgressTimeline.tsx
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import { useState } from "react";
|
| 4 |
+
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
| 5 |
+
import { Badge } from "@/components/ui/badge";
|
| 6 |
+
import { Button } from "@/components/ui/button";
|
| 7 |
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog";
|
| 8 |
+
import { gameData } from "@/lib/game-data";
|
| 9 |
+
import { Clock, ArrowRight, Zap } from "lucide-react";
|
| 10 |
+
import Image from "next/image";
|
| 11 |
+
|
| 12 |
+
export function ProgressTimeline() {
|
| 13 |
+
const [selectedRound, setSelectedRound] = useState<string | null>(null);
|
| 14 |
+
|
| 15 |
+
const formatTime = (timestamp: string) => {
|
| 16 |
+
return new Date(timestamp).toLocaleTimeString('en-US', {
|
| 17 |
+
hour: '2-digit',
|
| 18 |
+
minute: '2-digit',
|
| 19 |
+
hour12: true
|
| 20 |
+
});
|
| 21 |
+
};
|
| 22 |
+
|
| 23 |
+
const getWordChanges = (roundIndex: number) => {
|
| 24 |
+
if (roundIndex === 0) return null;
|
| 25 |
+
|
| 26 |
+
const prevWords = new Set(gameData.rounds[roundIndex - 1].words);
|
| 27 |
+
const currWords = new Set(gameData.rounds[roundIndex].words);
|
| 28 |
+
|
| 29 |
+
const added = Array.from(currWords).filter(word => !prevWords.has(word));
|
| 30 |
+
const removed = Array.from(prevWords).filter(word => !currWords.has(word));
|
| 31 |
+
|
| 32 |
+
return { added, removed };
|
| 33 |
+
};
|
| 34 |
+
|
| 35 |
+
const selectedRoundData = gameData.rounds.find(round => round.id === selectedRound);
|
| 36 |
+
|
| 37 |
+
return (
|
| 38 |
+
<Card className="w-full">
|
| 39 |
+
<CardHeader>
|
| 40 |
+
<CardTitle className="flex items-center gap-2">
|
| 41 |
+
<Clock className="h-5 w-5" />
|
| 42 |
+
Game Progress Timeline
|
| 43 |
+
</CardTitle>
|
| 44 |
+
</CardHeader>
|
| 45 |
+
<CardContent>
|
| 46 |
+
<div className="space-y-4">
|
| 47 |
+
{gameData.rounds.map((round, index) => {
|
| 48 |
+
const changes = getWordChanges(index);
|
| 49 |
+
const isSignificantChange = changes && (changes.added.length > 0 || changes.removed.length > 0);
|
| 50 |
+
|
| 51 |
+
return (
|
| 52 |
+
<div key={round.id} className="flex items-center gap-4 p-4 border rounded-lg hover:bg-gray-50 transition-colors">
|
| 53 |
+
<div className="flex-shrink-0">
|
| 54 |
+
<div className={`w-8 h-8 rounded-full flex items-center justify-center text-sm font-medium ${
|
| 55 |
+
isSignificantChange
|
| 56 |
+
? 'bg-blue-500 text-white'
|
| 57 |
+
: 'bg-gray-200 text-gray-600'
|
| 58 |
+
}`}>
|
| 59 |
+
{round.roundNumber}
|
| 60 |
+
</div>
|
| 61 |
+
</div>
|
| 62 |
+
|
| 63 |
+
<div className="flex-grow">
|
| 64 |
+
<div className="flex items-center justify-between mb-2">
|
| 65 |
+
<h3 className="font-medium text-gray-900">
|
| 66 |
+
Round {round.roundNumber}
|
| 67 |
+
{isSignificantChange && (
|
| 68 |
+
<Zap className="inline-block ml-1 h-4 w-4 text-yellow-500" />
|
| 69 |
+
)}
|
| 70 |
+
</h3>
|
| 71 |
+
<Badge variant="outline" className="text-xs">
|
| 72 |
+
{formatTime(round.timestamp)}
|
| 73 |
+
</Badge>
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<div className="flex flex-wrap gap-1 mb-2">
|
| 77 |
+
{round.words.slice(0, 5).map((word) => (
|
| 78 |
+
<Badge key={word} variant="secondary" className="text-xs">
|
| 79 |
+
{word}
|
| 80 |
+
</Badge>
|
| 81 |
+
))}
|
| 82 |
+
{round.words.length > 5 && (
|
| 83 |
+
<Badge variant="outline" className="text-xs">
|
| 84 |
+
+{round.words.length - 5} more
|
| 85 |
+
</Badge>
|
| 86 |
+
)}
|
| 87 |
+
</div>
|
| 88 |
+
|
| 89 |
+
{changes && (changes.added.length > 0 || changes.removed.length > 0) && (
|
| 90 |
+
<div className="flex items-center gap-2 text-sm">
|
| 91 |
+
{changes.added.length > 0 && (
|
| 92 |
+
<span className="text-green-600">
|
| 93 |
+
+{changes.added.length} added
|
| 94 |
+
</span>
|
| 95 |
+
)}
|
| 96 |
+
{changes.removed.length > 0 && (
|
| 97 |
+
<span className="text-red-600">
|
| 98 |
+
-{changes.removed.length} removed
|
| 99 |
+
</span>
|
| 100 |
+
)}
|
| 101 |
+
</div>
|
| 102 |
+
)}
|
| 103 |
+
</div>
|
| 104 |
+
|
| 105 |
+
<Dialog>
|
| 106 |
+
<DialogTrigger asChild>
|
| 107 |
+
<Button
|
| 108 |
+
variant="ghost"
|
| 109 |
+
size="sm"
|
| 110 |
+
onClick={() => setSelectedRound(round.id)}
|
| 111 |
+
>
|
| 112 |
+
View <ArrowRight className="ml-1 h-3 w-3" />
|
| 113 |
+
</Button>
|
| 114 |
+
</DialogTrigger>
|
| 115 |
+
<DialogContent className="max-w-4xl max-h-[90vh] overflow-y-auto">
|
| 116 |
+
<DialogHeader>
|
| 117 |
+
<DialogTitle>
|
| 118 |
+
Round {round.roundNumber} - {formatTime(round.timestamp)}
|
| 119 |
+
</DialogTitle>
|
| 120 |
+
</DialogHeader>
|
| 121 |
+
<div className="space-y-4">
|
| 122 |
+
<div className="relative w-full h-96 bg-gray-100 rounded-lg overflow-hidden">
|
| 123 |
+
<Image
|
| 124 |
+
src={round.screenshotPath}
|
| 125 |
+
alt={`Screenshot from round ${round.roundNumber}`}
|
| 126 |
+
fill
|
| 127 |
+
className="object-contain"
|
| 128 |
+
/>
|
| 129 |
+
</div>
|
| 130 |
+
|
| 131 |
+
<div>
|
| 132 |
+
<h4 className="font-medium mb-2">Words in this round:</h4>
|
| 133 |
+
<div className="flex flex-wrap gap-2">
|
| 134 |
+
{round.words.map((word) => (
|
| 135 |
+
<Badge key={word} variant="secondary">
|
| 136 |
+
{word}
|
| 137 |
+
</Badge>
|
| 138 |
+
))}
|
| 139 |
+
</div>
|
| 140 |
+
</div>
|
| 141 |
+
|
| 142 |
+
{changes && (changes.added.length > 0 || changes.removed.length > 0) && (
|
| 143 |
+
<div className="space-y-2">
|
| 144 |
+
{changes.added.length > 0 && (
|
| 145 |
+
<div>
|
| 146 |
+
<h5 className="text-sm font-medium text-green-600 mb-1">Added words:</h5>
|
| 147 |
+
<div className="flex flex-wrap gap-1">
|
| 148 |
+
{changes.added.map((word) => (
|
| 149 |
+
<Badge key={word} className="bg-green-100 text-green-800 border-green-300">
|
| 150 |
+
+{word}
|
| 151 |
+
</Badge>
|
| 152 |
+
))}
|
| 153 |
+
</div>
|
| 154 |
+
</div>
|
| 155 |
+
)}
|
| 156 |
+
|
| 157 |
+
{changes.removed.length > 0 && (
|
| 158 |
+
<div>
|
| 159 |
+
<h5 className="text-sm font-medium text-red-600 mb-1">Removed words:</h5>
|
| 160 |
+
<div className="flex flex-wrap gap-1">
|
| 161 |
+
{changes.removed.map((word) => (
|
| 162 |
+
<Badge key={word} className="bg-red-100 text-red-800 border-red-300">
|
| 163 |
+
-{word}
|
| 164 |
+
</Badge>
|
| 165 |
+
))}
|
| 166 |
+
</div>
|
| 167 |
+
</div>
|
| 168 |
+
)}
|
| 169 |
+
</div>
|
| 170 |
+
)}
|
| 171 |
+
</div>
|
| 172 |
+
</DialogContent>
|
| 173 |
+
</Dialog>
|
| 174 |
+
</div>
|
| 175 |
+
);
|
| 176 |
+
})}
|
| 177 |
+
</div>
|
| 178 |
+
</CardContent>
|
| 179 |
+
</Card>
|
| 180 |
+
);
|
| 181 |
+
}
|
src/components/ScoreMatrixVisualization.tsx
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import { useState } from "react";
|
| 4 |
+
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
| 5 |
+
import { Badge } from "@/components/ui/badge";
|
| 6 |
+
import { gameData } from "@/lib/game-data";
|
| 7 |
+
import { Grid3X3, Target } from "lucide-react";
|
| 8 |
+
|
| 9 |
+
interface HoveredCell {
|
| 10 |
+
word1: string;
|
| 11 |
+
word2: string;
|
| 12 |
+
distance: number;
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
export function ScoreMatrixVisualization() {
|
| 16 |
+
const [hoveredCell, setHoveredCell] = useState<HoveredCell | null>(null);
|
| 17 |
+
const { words, distances, finalScore } = gameData.finalMatrix;
|
| 18 |
+
|
| 19 |
+
const getColorIntensity = (distance: number) => {
|
| 20 |
+
const maxDistance = Math.max(...distances.flat());
|
| 21 |
+
const minDistance = Math.min(...distances.flat().filter(d => d > 0));
|
| 22 |
+
const normalizedDistance = (distance - minDistance) / (maxDistance - minDistance);
|
| 23 |
+
|
| 24 |
+
if (distance === 0) return "bg-gray-200";
|
| 25 |
+
|
| 26 |
+
const intensity = Math.floor(normalizedDistance * 4) + 1;
|
| 27 |
+
return `bg-green-${intensity * 100} hover:bg-green-${Math.min(intensity * 100 + 100, 900)}`;
|
| 28 |
+
};
|
| 29 |
+
|
| 30 |
+
const getCellClasses = (distance: number) => {
|
| 31 |
+
if (distance === 0) {
|
| 32 |
+
return "bg-gray-200 text-gray-500";
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
const maxDistance = Math.max(...distances.flat());
|
| 36 |
+
const intensity = distance / maxDistance;
|
| 37 |
+
|
| 38 |
+
if (intensity > 0.8) return "bg-green-500 text-white hover:bg-green-600";
|
| 39 |
+
if (intensity > 0.6) return "bg-green-400 text-white hover:bg-green-500";
|
| 40 |
+
if (intensity > 0.4) return "bg-green-300 text-gray-900 hover:bg-green-400";
|
| 41 |
+
if (intensity > 0.2) return "bg-green-200 text-gray-900 hover:bg-green-300";
|
| 42 |
+
return "bg-green-100 text-gray-900 hover:bg-green-200";
|
| 43 |
+
};
|
| 44 |
+
|
| 45 |
+
return (
|
| 46 |
+
<Card className="w-full">
|
| 47 |
+
<CardHeader>
|
| 48 |
+
<CardTitle className="flex items-center gap-2">
|
| 49 |
+
<Grid3X3 className="h-5 w-5" />
|
| 50 |
+
Semantic Distance Matrix
|
| 51 |
+
</CardTitle>
|
| 52 |
+
</CardHeader>
|
| 53 |
+
<CardContent>
|
| 54 |
+
<div className="space-y-4">
|
| 55 |
+
<div className="flex items-center justify-between">
|
| 56 |
+
<p className="text-sm text-gray-600">
|
| 57 |
+
Interactive matrix showing semantic distances between final word pairs
|
| 58 |
+
</p>
|
| 59 |
+
<div className="flex items-center gap-2">
|
| 60 |
+
<Target className="h-4 w-4 text-green-600" />
|
| 61 |
+
<Badge className="bg-green-100 text-green-800">
|
| 62 |
+
Score: {finalScore}
|
| 63 |
+
</Badge>
|
| 64 |
+
</div>
|
| 65 |
+
</div>
|
| 66 |
+
|
| 67 |
+
<div className="overflow-x-auto">
|
| 68 |
+
<div className="inline-block min-w-full">
|
| 69 |
+
<table className="w-full">
|
| 70 |
+
<thead>
|
| 71 |
+
<tr>
|
| 72 |
+
<th className="p-2"></th>
|
| 73 |
+
{words.map((word, index) => (
|
| 74 |
+
<th key={index} className="p-2 text-xs font-medium text-gray-600 min-w-[60px]">
|
| 75 |
+
<div className="transform -rotate-45 origin-bottom-left whitespace-nowrap">
|
| 76 |
+
{word}
|
| 77 |
+
</div>
|
| 78 |
+
</th>
|
| 79 |
+
))}
|
| 80 |
+
</tr>
|
| 81 |
+
</thead>
|
| 82 |
+
<tbody>
|
| 83 |
+
{words.map((rowWord, rowIndex) => (
|
| 84 |
+
<tr key={rowIndex}>
|
| 85 |
+
<td className="p-2 text-xs font-medium text-gray-600 sticky left-0 bg-white">
|
| 86 |
+
<div className="max-w-[80px] truncate" title={rowWord}>
|
| 87 |
+
{rowWord}
|
| 88 |
+
</div>
|
| 89 |
+
</td>
|
| 90 |
+
{words.map((colWord, colIndex) => {
|
| 91 |
+
const distance = distances[rowIndex][colIndex];
|
| 92 |
+
return (
|
| 93 |
+
<td
|
| 94 |
+
key={colIndex}
|
| 95 |
+
className="p-1"
|
| 96 |
+
onMouseEnter={() => setHoveredCell({
|
| 97 |
+
word1: rowWord,
|
| 98 |
+
word2: colWord,
|
| 99 |
+
distance
|
| 100 |
+
})}
|
| 101 |
+
onMouseLeave={() => setHoveredCell(null)}
|
| 102 |
+
>
|
| 103 |
+
<div
|
| 104 |
+
className={`
|
| 105 |
+
w-12 h-12 flex items-center justify-center text-xs font-medium
|
| 106 |
+
rounded cursor-pointer transition-colors duration-200
|
| 107 |
+
${getCellClasses(distance)}
|
| 108 |
+
`}
|
| 109 |
+
>
|
| 110 |
+
{distance}
|
| 111 |
+
</div>
|
| 112 |
+
</td>
|
| 113 |
+
);
|
| 114 |
+
})}
|
| 115 |
+
</tr>
|
| 116 |
+
))}
|
| 117 |
+
</tbody>
|
| 118 |
+
</table>
|
| 119 |
+
</div>
|
| 120 |
+
</div>
|
| 121 |
+
|
| 122 |
+
{hoveredCell && (
|
| 123 |
+
<div className="p-3 bg-blue-50 border border-blue-200 rounded-lg">
|
| 124 |
+
<div className="text-sm">
|
| 125 |
+
<span className="font-medium text-blue-900">
|
| 126 |
+
{hoveredCell.word1} ↔ {hoveredCell.word2}
|
| 127 |
+
</span>
|
| 128 |
+
<span className="text-blue-700 ml-2">
|
| 129 |
+
Distance: {hoveredCell.distance}
|
| 130 |
+
</span>
|
| 131 |
+
</div>
|
| 132 |
+
<p className="text-xs text-blue-600 mt-1">
|
| 133 |
+
{hoveredCell.distance === 0
|
| 134 |
+
? "Same word (diagonal)"
|
| 135 |
+
: `Higher values indicate more semantically distant concepts`
|
| 136 |
+
}
|
| 137 |
+
</p>
|
| 138 |
+
</div>
|
| 139 |
+
)}
|
| 140 |
+
|
| 141 |
+
<div className="flex items-center justify-between text-xs text-gray-500">
|
| 142 |
+
<div className="flex items-center gap-4">
|
| 143 |
+
<div className="flex items-center gap-1">
|
| 144 |
+
<div className="w-3 h-3 bg-green-100 rounded"></div>
|
| 145 |
+
<span>Low distance</span>
|
| 146 |
+
</div>
|
| 147 |
+
<div className="flex items-center gap-1">
|
| 148 |
+
<div className="w-3 h-3 bg-green-300 rounded"></div>
|
| 149 |
+
<span>Medium distance</span>
|
| 150 |
+
</div>
|
| 151 |
+
<div className="flex items-center gap-1">
|
| 152 |
+
<div className="w-3 h-3 bg-green-500 rounded"></div>
|
| 153 |
+
<span>High distance</span>
|
| 154 |
+
</div>
|
| 155 |
+
</div>
|
| 156 |
+
<span>Matrix is symmetric</span>
|
| 157 |
+
</div>
|
| 158 |
+
|
| 159 |
+
<div className="p-4 bg-gray-50 rounded-lg">
|
| 160 |
+
<h4 className="font-medium text-gray-900 mb-2">Matrix Analysis</h4>
|
| 161 |
+
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 text-sm">
|
| 162 |
+
<div>
|
| 163 |
+
<span className="font-medium text-gray-700">Average Distance:</span>
|
| 164 |
+
<div className="text-lg font-semibold text-green-600">
|
| 165 |
+
{(distances.flat().filter(d => d > 0).reduce((a, b) => a + b, 0) / distances.flat().filter(d => d > 0).length).toFixed(1)}
|
| 166 |
+
</div>
|
| 167 |
+
</div>
|
| 168 |
+
<div>
|
| 169 |
+
<span className="font-medium text-gray-700">Highest Distance:</span>
|
| 170 |
+
<div className="text-lg font-semibold text-blue-600">
|
| 171 |
+
{Math.max(...distances.flat())}
|
| 172 |
+
</div>
|
| 173 |
+
</div>
|
| 174 |
+
<div>
|
| 175 |
+
<span className="font-medium text-gray-700">Lowest Distance:</span>
|
| 176 |
+
<div className="text-lg font-semibold text-orange-600">
|
| 177 |
+
{Math.min(...distances.flat().filter(d => d > 0))}
|
| 178 |
+
</div>
|
| 179 |
+
</div>
|
| 180 |
+
</div>
|
| 181 |
+
</div>
|
| 182 |
+
</div>
|
| 183 |
+
</CardContent>
|
| 184 |
+
</Card>
|
| 185 |
+
);
|
| 186 |
+
}
|
src/components/StatsDashboard.tsx
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
| 4 |
+
import { Badge } from "@/components/ui/badge";
|
| 5 |
+
import { gameData } from "@/lib/game-data";
|
| 6 |
+
import { BarChart3, Clock, Trophy, TrendingUp, Users, Zap } from "lucide-react";
|
| 7 |
+
|
| 8 |
+
export function StatsDashboard() {
|
| 9 |
+
const { rounds, finalMatrix, startTime, endTime } = gameData;
|
| 10 |
+
|
| 11 |
+
const totalDuration = new Date(endTime).getTime() - new Date(startTime).getTime();
|
| 12 |
+
const durationMinutes = Math.floor(totalDuration / (1000 * 60));
|
| 13 |
+
|
| 14 |
+
const uniqueWords = new Set(rounds.flatMap(round => round.words));
|
| 15 |
+
const totalUniqueWords = uniqueWords.size;
|
| 16 |
+
|
| 17 |
+
const wordChanges = rounds.slice(1).reduce((acc, round, index) => {
|
| 18 |
+
const prevWords = new Set(rounds[index].words);
|
| 19 |
+
const currWords = new Set(round.words);
|
| 20 |
+
const changes = Array.from(currWords).filter(word => !prevWords.has(word)).length +
|
| 21 |
+
Array.from(prevWords).filter(word => !currWords.has(word)).length;
|
| 22 |
+
return acc + changes;
|
| 23 |
+
}, 0);
|
| 24 |
+
|
| 25 |
+
const averageDistance = finalMatrix.distances
|
| 26 |
+
.flat()
|
| 27 |
+
.filter(d => d > 0)
|
| 28 |
+
.reduce((a, b) => a + b, 0) / finalMatrix.distances.flat().filter(d => d > 0).length;
|
| 29 |
+
|
| 30 |
+
const maxDistance = Math.max(...finalMatrix.distances.flat());
|
| 31 |
+
const minDistance = Math.min(...finalMatrix.distances.flat().filter(d => d > 0));
|
| 32 |
+
|
| 33 |
+
return (
|
| 34 |
+
<Card>
|
| 35 |
+
<CardHeader>
|
| 36 |
+
<CardTitle className="flex items-center gap-2">
|
| 37 |
+
<BarChart3 className="h-5 w-5" />
|
| 38 |
+
Performance Statistics
|
| 39 |
+
</CardTitle>
|
| 40 |
+
</CardHeader>
|
| 41 |
+
<CardContent>
|
| 42 |
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-6">
|
| 43 |
+
<div className="p-4 bg-gradient-to-br from-green-50 to-green-100 rounded-lg border border-green-200">
|
| 44 |
+
<div className="flex items-center justify-between mb-2">
|
| 45 |
+
<Trophy className="h-6 w-6 text-green-600" />
|
| 46 |
+
<Badge className="bg-green-500 text-white">Top 0.02%</Badge>
|
| 47 |
+
</div>
|
| 48 |
+
<div className="text-2xl font-bold text-green-700">{finalMatrix.finalScore}</div>
|
| 49 |
+
<div className="text-sm text-green-600">Final Creativity Score</div>
|
| 50 |
+
</div>
|
| 51 |
+
|
| 52 |
+
<div className="p-4 bg-gradient-to-br from-blue-50 to-blue-100 rounded-lg border border-blue-200">
|
| 53 |
+
<div className="flex items-center justify-between mb-2">
|
| 54 |
+
<Users className="h-6 w-6 text-blue-600" />
|
| 55 |
+
<Badge variant="outline" className="border-blue-300 text-blue-700">Percentile</Badge>
|
| 56 |
+
</div>
|
| 57 |
+
<div className="text-2xl font-bold text-blue-700">{finalMatrix.percentile}%</div>
|
| 58 |
+
<div className="text-sm text-blue-600">Better than others</div>
|
| 59 |
+
</div>
|
| 60 |
+
|
| 61 |
+
<div className="p-4 bg-gradient-to-br from-purple-50 to-purple-100 rounded-lg border border-purple-200">
|
| 62 |
+
<div className="flex items-center justify-between mb-2">
|
| 63 |
+
<Clock className="h-6 w-6 text-purple-600" />
|
| 64 |
+
<Badge variant="outline" className="border-purple-300 text-purple-700">Duration</Badge>
|
| 65 |
+
</div>
|
| 66 |
+
<div className="text-2xl font-bold text-purple-700">{durationMinutes}m</div>
|
| 67 |
+
<div className="text-sm text-purple-600">Total game time</div>
|
| 68 |
+
</div>
|
| 69 |
+
|
| 70 |
+
<div className="p-4 bg-gradient-to-br from-orange-50 to-orange-100 rounded-lg border border-orange-200">
|
| 71 |
+
<div className="flex items-center justify-between mb-2">
|
| 72 |
+
<TrendingUp className="h-6 w-6 text-orange-600" />
|
| 73 |
+
<Badge variant="outline" className="border-orange-300 text-orange-700">Optimization</Badge>
|
| 74 |
+
</div>
|
| 75 |
+
<div className="text-2xl font-bold text-orange-700">{rounds.length}</div>
|
| 76 |
+
<div className="text-sm text-orange-600">Optimization rounds</div>
|
| 77 |
+
</div>
|
| 78 |
+
|
| 79 |
+
<div className="p-4 bg-gradient-to-br from-pink-50 to-pink-100 rounded-lg border border-pink-200">
|
| 80 |
+
<div className="flex items-center justify-between mb-2">
|
| 81 |
+
<Zap className="h-6 w-6 text-pink-600" />
|
| 82 |
+
<Badge variant="outline" className="border-pink-300 text-pink-700">Changes</Badge>
|
| 83 |
+
</div>
|
| 84 |
+
<div className="text-2xl font-bold text-pink-700">{wordChanges}</div>
|
| 85 |
+
<div className="text-sm text-pink-600">Total word swaps</div>
|
| 86 |
+
</div>
|
| 87 |
+
|
| 88 |
+
<div className="p-4 bg-gradient-to-br from-indigo-50 to-indigo-100 rounded-lg border border-indigo-200">
|
| 89 |
+
<div className="flex items-center justify-between mb-2">
|
| 90 |
+
<BarChart3 className="h-6 w-6 text-indigo-600" />
|
| 91 |
+
<Badge variant="outline" className="border-indigo-300 text-indigo-700">Vocabulary</Badge>
|
| 92 |
+
</div>
|
| 93 |
+
<div className="text-2xl font-bold text-indigo-700">{totalUniqueWords}</div>
|
| 94 |
+
<div className="text-sm text-indigo-600">Unique words used</div>
|
| 95 |
+
</div>
|
| 96 |
+
</div>
|
| 97 |
+
|
| 98 |
+
<div className="space-y-4">
|
| 99 |
+
<h3 className="text-lg font-semibold text-gray-900">Semantic Distance Analysis</h3>
|
| 100 |
+
|
| 101 |
+
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
|
| 102 |
+
<div className="p-3 bg-gray-50 rounded-lg">
|
| 103 |
+
<div className="text-sm font-medium text-gray-600 mb-1">Average Distance</div>
|
| 104 |
+
<div className="text-xl font-bold text-gray-900">{averageDistance.toFixed(1)}</div>
|
| 105 |
+
<div className="text-xs text-gray-500">Across all word pairs</div>
|
| 106 |
+
</div>
|
| 107 |
+
|
| 108 |
+
<div className="p-3 bg-gray-50 rounded-lg">
|
| 109 |
+
<div className="text-sm font-medium text-gray-600 mb-1">Maximum Distance</div>
|
| 110 |
+
<div className="text-xl font-bold text-gray-900">{maxDistance}</div>
|
| 111 |
+
<div className="text-xs text-gray-500">Most distant pair</div>
|
| 112 |
+
</div>
|
| 113 |
+
|
| 114 |
+
<div className="p-3 bg-gray-50 rounded-lg">
|
| 115 |
+
<div className="text-sm font-medium text-gray-600 mb-1">Minimum Distance</div>
|
| 116 |
+
<div className="text-xl font-bold text-gray-900">{minDistance}</div>
|
| 117 |
+
<div className="text-xs text-gray-500">Closest pair (non-zero)</div>
|
| 118 |
+
</div>
|
| 119 |
+
</div>
|
| 120 |
+
|
| 121 |
+
<div className="p-4 bg-blue-50 rounded-lg">
|
| 122 |
+
<h4 className="font-medium text-blue-900 mb-2">Key Insights</h4>
|
| 123 |
+
<ul className="space-y-1 text-sm text-blue-800">
|
| 124 |
+
<li>• Achieved exceptional creativity score through systematic optimization</li>
|
| 125 |
+
<li>• Hillclimbing algorithm effectively explored the semantic space</li>
|
| 126 |
+
<li>• {Math.round(wordChanges / rounds.length * 100) / 100} average word changes per round shows focused refinement</li>
|
| 127 |
+
<li>• High semantic distances indicate successful divergent thinking</li>
|
| 128 |
+
</ul>
|
| 129 |
+
</div>
|
| 130 |
+
</div>
|
| 131 |
+
</CardContent>
|
| 132 |
+
</Card>
|
| 133 |
+
);
|
| 134 |
+
}
|
src/components/WordEvolutionTracker.tsx
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
| 4 |
+
import { Badge } from "@/components/ui/badge";
|
| 5 |
+
import { getWordEvolution } from "@/lib/game-data";
|
| 6 |
+
import { TrendingUp, Plus, Minus, ArrowRight } from "lucide-react";
|
| 7 |
+
|
| 8 |
+
export function WordEvolutionTracker() {
|
| 9 |
+
const evolution = getWordEvolution();
|
| 10 |
+
|
| 11 |
+
return (
|
| 12 |
+
<Card className="w-full">
|
| 13 |
+
<CardHeader>
|
| 14 |
+
<CardTitle className="flex items-center gap-2">
|
| 15 |
+
<TrendingUp className="h-5 w-5" />
|
| 16 |
+
Word Evolution & Optimization
|
| 17 |
+
</CardTitle>
|
| 18 |
+
</CardHeader>
|
| 19 |
+
<CardContent>
|
| 20 |
+
<div className="space-y-6">
|
| 21 |
+
<div className="text-sm text-gray-600 mb-4">
|
| 22 |
+
Track how words were systematically replaced to maximize semantic distance using hillclimbing optimization.
|
| 23 |
+
</div>
|
| 24 |
+
|
| 25 |
+
{evolution.map((change, index) => (
|
| 26 |
+
<div key={change.round} className="border-l-2 border-blue-200 pl-4">
|
| 27 |
+
<div className="flex items-center gap-2 mb-3">
|
| 28 |
+
<div className="bg-blue-500 text-white text-xs font-medium px-2 py-1 rounded">
|
| 29 |
+
Round {change.round}
|
| 30 |
+
</div>
|
| 31 |
+
<ArrowRight className="h-4 w-4 text-gray-400" />
|
| 32 |
+
<span className="text-sm text-gray-600">Optimization step</span>
|
| 33 |
+
</div>
|
| 34 |
+
|
| 35 |
+
<div className="space-y-3">
|
| 36 |
+
{change.changes.filter(c => c.type === 'removed').length > 0 && (
|
| 37 |
+
<div>
|
| 38 |
+
<div className="flex items-center gap-2 mb-2">
|
| 39 |
+
<Minus className="h-4 w-4 text-red-500" />
|
| 40 |
+
<span className="text-sm font-medium text-red-600">Removed</span>
|
| 41 |
+
<span className="text-xs text-gray-500">(Lower semantic distance)</span>
|
| 42 |
+
</div>
|
| 43 |
+
<div className="flex flex-wrap gap-2">
|
| 44 |
+
{change.changes
|
| 45 |
+
.filter(c => c.type === 'removed')
|
| 46 |
+
.map((c) => (
|
| 47 |
+
<Badge
|
| 48 |
+
key={c.word}
|
| 49 |
+
className="bg-red-50 text-red-700 border-red-200"
|
| 50 |
+
>
|
| 51 |
+
{c.word}
|
| 52 |
+
</Badge>
|
| 53 |
+
))}
|
| 54 |
+
</div>
|
| 55 |
+
</div>
|
| 56 |
+
)}
|
| 57 |
+
|
| 58 |
+
{change.changes.filter(c => c.type === 'added').length > 0 && (
|
| 59 |
+
<div>
|
| 60 |
+
<div className="flex items-center gap-2 mb-2">
|
| 61 |
+
<Plus className="h-4 w-4 text-green-500" />
|
| 62 |
+
<span className="text-sm font-medium text-green-600">Added</span>
|
| 63 |
+
<span className="text-xs text-gray-500">(Higher semantic distance)</span>
|
| 64 |
+
</div>
|
| 65 |
+
<div className="flex flex-wrap gap-2">
|
| 66 |
+
{change.changes
|
| 67 |
+
.filter(c => c.type === 'added')
|
| 68 |
+
.map((c) => (
|
| 69 |
+
<Badge
|
| 70 |
+
key={c.word}
|
| 71 |
+
className="bg-green-50 text-green-700 border-green-200"
|
| 72 |
+
>
|
| 73 |
+
{c.word}
|
| 74 |
+
</Badge>
|
| 75 |
+
))}
|
| 76 |
+
</div>
|
| 77 |
+
</div>
|
| 78 |
+
)}
|
| 79 |
+
|
| 80 |
+
<div className="text-xs text-gray-500 mt-2">
|
| 81 |
+
This change increased the overall semantic distance between word pairs.
|
| 82 |
+
</div>
|
| 83 |
+
</div>
|
| 84 |
+
</div>
|
| 85 |
+
))}
|
| 86 |
+
|
| 87 |
+
{evolution.length === 0 && (
|
| 88 |
+
<div className="text-center py-8 text-gray-500">
|
| 89 |
+
<TrendingUp className="h-8 w-8 mx-auto mb-2 opacity-50" />
|
| 90 |
+
<p>No word changes detected in the progression.</p>
|
| 91 |
+
</div>
|
| 92 |
+
)}
|
| 93 |
+
</div>
|
| 94 |
+
|
| 95 |
+
<div className="mt-6 p-4 bg-blue-50 rounded-lg">
|
| 96 |
+
<h4 className="font-medium text-blue-900 mb-2">Hillclimbing Strategy</h4>
|
| 97 |
+
<p className="text-sm text-blue-800">
|
| 98 |
+
Each word replacement represents a “hill climbing” step where words with lower semantic
|
| 99 |
+
distances to other words in the set were systematically replaced with words that had
|
| 100 |
+
higher distances, improving the overall creativity score.
|
| 101 |
+
</p>
|
| 102 |
+
</div>
|
| 103 |
+
</CardContent>
|
| 104 |
+
</Card>
|
| 105 |
+
);
|
| 106 |
+
}
|
src/components/ui/badge.tsx
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import * as React from "react"
|
| 2 |
+
import { cva, type VariantProps } from "class-variance-authority"
|
| 3 |
+
|
| 4 |
+
import { cn } from "@/lib/utils"
|
| 5 |
+
|
| 6 |
+
const badgeVariants = cva(
|
| 7 |
+
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
| 8 |
+
{
|
| 9 |
+
variants: {
|
| 10 |
+
variant: {
|
| 11 |
+
default:
|
| 12 |
+
"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
|
| 13 |
+
secondary:
|
| 14 |
+
"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
| 15 |
+
destructive:
|
| 16 |
+
"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
| 17 |
+
outline: "text-foreground",
|
| 18 |
+
},
|
| 19 |
+
},
|
| 20 |
+
defaultVariants: {
|
| 21 |
+
variant: "default",
|
| 22 |
+
},
|
| 23 |
+
}
|
| 24 |
+
)
|
| 25 |
+
|
| 26 |
+
export interface BadgeProps
|
| 27 |
+
extends React.HTMLAttributes<HTMLDivElement>,
|
| 28 |
+
VariantProps<typeof badgeVariants> {}
|
| 29 |
+
|
| 30 |
+
function Badge({ className, variant, ...props }: BadgeProps) {
|
| 31 |
+
return (
|
| 32 |
+
<div className={cn(badgeVariants({ variant }), className)} {...props} />
|
| 33 |
+
)
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
export { Badge, badgeVariants }
|
src/components/ui/button.tsx
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import * as React from "react"
|
| 2 |
+
import { Slot } from "@radix-ui/react-slot"
|
| 3 |
+
import { cva, type VariantProps } from "class-variance-authority"
|
| 4 |
+
|
| 5 |
+
import { cn } from "@/lib/utils"
|
| 6 |
+
|
| 7 |
+
const buttonVariants = cva(
|
| 8 |
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
| 9 |
+
{
|
| 10 |
+
variants: {
|
| 11 |
+
variant: {
|
| 12 |
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
| 13 |
+
destructive:
|
| 14 |
+
"bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
| 15 |
+
outline:
|
| 16 |
+
"border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
| 17 |
+
secondary:
|
| 18 |
+
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
| 19 |
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
| 20 |
+
link: "text-primary underline-offset-4 hover:underline",
|
| 21 |
+
},
|
| 22 |
+
size: {
|
| 23 |
+
default: "h-10 px-4 py-2",
|
| 24 |
+
sm: "h-9 rounded-md px-3",
|
| 25 |
+
lg: "h-11 rounded-md px-8",
|
| 26 |
+
icon: "h-10 w-10",
|
| 27 |
+
},
|
| 28 |
+
},
|
| 29 |
+
defaultVariants: {
|
| 30 |
+
variant: "default",
|
| 31 |
+
size: "default",
|
| 32 |
+
},
|
| 33 |
+
}
|
| 34 |
+
)
|
| 35 |
+
|
| 36 |
+
export interface ButtonProps
|
| 37 |
+
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
|
| 38 |
+
VariantProps<typeof buttonVariants> {
|
| 39 |
+
asChild?: boolean
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
| 43 |
+
({ className, variant, size, asChild = false, ...props }, ref) => {
|
| 44 |
+
const Comp = asChild ? Slot : "button"
|
| 45 |
+
return (
|
| 46 |
+
<Comp
|
| 47 |
+
className={cn(buttonVariants({ variant, size, className }))}
|
| 48 |
+
ref={ref}
|
| 49 |
+
{...props}
|
| 50 |
+
/>
|
| 51 |
+
)
|
| 52 |
+
}
|
| 53 |
+
)
|
| 54 |
+
Button.displayName = "Button"
|
| 55 |
+
|
| 56 |
+
export { Button, buttonVariants }
|
src/components/ui/card.tsx
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import * as React from "react"
|
| 2 |
+
|
| 3 |
+
import { cn } from "@/lib/utils"
|
| 4 |
+
|
| 5 |
+
const Card = React.forwardRef<
|
| 6 |
+
HTMLDivElement,
|
| 7 |
+
React.HTMLAttributes<HTMLDivElement>
|
| 8 |
+
>(({ className, ...props }, ref) => (
|
| 9 |
+
<div
|
| 10 |
+
ref={ref}
|
| 11 |
+
className={cn(
|
| 12 |
+
"rounded-lg border bg-card text-card-foreground shadow-sm",
|
| 13 |
+
className
|
| 14 |
+
)}
|
| 15 |
+
{...props}
|
| 16 |
+
/>
|
| 17 |
+
))
|
| 18 |
+
Card.displayName = "Card"
|
| 19 |
+
|
| 20 |
+
const CardHeader = React.forwardRef<
|
| 21 |
+
HTMLDivElement,
|
| 22 |
+
React.HTMLAttributes<HTMLDivElement>
|
| 23 |
+
>(({ className, ...props }, ref) => (
|
| 24 |
+
<div
|
| 25 |
+
ref={ref}
|
| 26 |
+
className={cn("flex flex-col space-y-1.5 p-6", className)}
|
| 27 |
+
{...props}
|
| 28 |
+
/>
|
| 29 |
+
))
|
| 30 |
+
CardHeader.displayName = "CardHeader"
|
| 31 |
+
|
| 32 |
+
const CardTitle = React.forwardRef<
|
| 33 |
+
HTMLDivElement,
|
| 34 |
+
React.HTMLAttributes<HTMLDivElement>
|
| 35 |
+
>(({ className, ...props }, ref) => (
|
| 36 |
+
<div
|
| 37 |
+
ref={ref}
|
| 38 |
+
className={cn(
|
| 39 |
+
"text-2xl font-semibold leading-none tracking-tight",
|
| 40 |
+
className
|
| 41 |
+
)}
|
| 42 |
+
{...props}
|
| 43 |
+
/>
|
| 44 |
+
))
|
| 45 |
+
CardTitle.displayName = "CardTitle"
|
| 46 |
+
|
| 47 |
+
const CardDescription = React.forwardRef<
|
| 48 |
+
HTMLDivElement,
|
| 49 |
+
React.HTMLAttributes<HTMLDivElement>
|
| 50 |
+
>(({ className, ...props }, ref) => (
|
| 51 |
+
<div
|
| 52 |
+
ref={ref}
|
| 53 |
+
className={cn("text-sm text-muted-foreground", className)}
|
| 54 |
+
{...props}
|
| 55 |
+
/>
|
| 56 |
+
))
|
| 57 |
+
CardDescription.displayName = "CardDescription"
|
| 58 |
+
|
| 59 |
+
const CardContent = React.forwardRef<
|
| 60 |
+
HTMLDivElement,
|
| 61 |
+
React.HTMLAttributes<HTMLDivElement>
|
| 62 |
+
>(({ className, ...props }, ref) => (
|
| 63 |
+
<div ref={ref} className={cn("p-6 pt-0", className)} {...props} />
|
| 64 |
+
))
|
| 65 |
+
CardContent.displayName = "CardContent"
|
| 66 |
+
|
| 67 |
+
const CardFooter = React.forwardRef<
|
| 68 |
+
HTMLDivElement,
|
| 69 |
+
React.HTMLAttributes<HTMLDivElement>
|
| 70 |
+
>(({ className, ...props }, ref) => (
|
| 71 |
+
<div
|
| 72 |
+
ref={ref}
|
| 73 |
+
className={cn("flex items-center p-6 pt-0", className)}
|
| 74 |
+
{...props}
|
| 75 |
+
/>
|
| 76 |
+
))
|
| 77 |
+
CardFooter.displayName = "CardFooter"
|
| 78 |
+
|
| 79 |
+
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
|
src/components/ui/dialog.tsx
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client"
|
| 2 |
+
|
| 3 |
+
import * as React from "react"
|
| 4 |
+
import * as DialogPrimitive from "@radix-ui/react-dialog"
|
| 5 |
+
import { X } from "lucide-react"
|
| 6 |
+
|
| 7 |
+
import { cn } from "@/lib/utils"
|
| 8 |
+
|
| 9 |
+
const Dialog = DialogPrimitive.Root
|
| 10 |
+
|
| 11 |
+
const DialogTrigger = DialogPrimitive.Trigger
|
| 12 |
+
|
| 13 |
+
const DialogPortal = DialogPrimitive.Portal
|
| 14 |
+
|
| 15 |
+
const DialogClose = DialogPrimitive.Close
|
| 16 |
+
|
| 17 |
+
const DialogOverlay = React.forwardRef<
|
| 18 |
+
React.ElementRef<typeof DialogPrimitive.Overlay>,
|
| 19 |
+
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
|
| 20 |
+
>(({ className, ...props }, ref) => (
|
| 21 |
+
<DialogPrimitive.Overlay
|
| 22 |
+
ref={ref}
|
| 23 |
+
className={cn(
|
| 24 |
+
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
| 25 |
+
className
|
| 26 |
+
)}
|
| 27 |
+
{...props}
|
| 28 |
+
/>
|
| 29 |
+
))
|
| 30 |
+
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName
|
| 31 |
+
|
| 32 |
+
const DialogContent = React.forwardRef<
|
| 33 |
+
React.ElementRef<typeof DialogPrimitive.Content>,
|
| 34 |
+
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
|
| 35 |
+
>(({ className, children, ...props }, ref) => (
|
| 36 |
+
<DialogPortal>
|
| 37 |
+
<DialogOverlay />
|
| 38 |
+
<DialogPrimitive.Content
|
| 39 |
+
ref={ref}
|
| 40 |
+
className={cn(
|
| 41 |
+
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
|
| 42 |
+
className
|
| 43 |
+
)}
|
| 44 |
+
{...props}
|
| 45 |
+
>
|
| 46 |
+
{children}
|
| 47 |
+
<DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
|
| 48 |
+
<X className="h-4 w-4" />
|
| 49 |
+
<span className="sr-only">Close</span>
|
| 50 |
+
</DialogPrimitive.Close>
|
| 51 |
+
</DialogPrimitive.Content>
|
| 52 |
+
</DialogPortal>
|
| 53 |
+
))
|
| 54 |
+
DialogContent.displayName = DialogPrimitive.Content.displayName
|
| 55 |
+
|
| 56 |
+
const DialogHeader = ({
|
| 57 |
+
className,
|
| 58 |
+
...props
|
| 59 |
+
}: React.HTMLAttributes<HTMLDivElement>) => (
|
| 60 |
+
<div
|
| 61 |
+
className={cn(
|
| 62 |
+
"flex flex-col space-y-1.5 text-center sm:text-left",
|
| 63 |
+
className
|
| 64 |
+
)}
|
| 65 |
+
{...props}
|
| 66 |
+
/>
|
| 67 |
+
)
|
| 68 |
+
DialogHeader.displayName = "DialogHeader"
|
| 69 |
+
|
| 70 |
+
const DialogFooter = ({
|
| 71 |
+
className,
|
| 72 |
+
...props
|
| 73 |
+
}: React.HTMLAttributes<HTMLDivElement>) => (
|
| 74 |
+
<div
|
| 75 |
+
className={cn(
|
| 76 |
+
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
| 77 |
+
className
|
| 78 |
+
)}
|
| 79 |
+
{...props}
|
| 80 |
+
/>
|
| 81 |
+
)
|
| 82 |
+
DialogFooter.displayName = "DialogFooter"
|
| 83 |
+
|
| 84 |
+
const DialogTitle = React.forwardRef<
|
| 85 |
+
React.ElementRef<typeof DialogPrimitive.Title>,
|
| 86 |
+
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
|
| 87 |
+
>(({ className, ...props }, ref) => (
|
| 88 |
+
<DialogPrimitive.Title
|
| 89 |
+
ref={ref}
|
| 90 |
+
className={cn(
|
| 91 |
+
"text-lg font-semibold leading-none tracking-tight",
|
| 92 |
+
className
|
| 93 |
+
)}
|
| 94 |
+
{...props}
|
| 95 |
+
/>
|
| 96 |
+
))
|
| 97 |
+
DialogTitle.displayName = DialogPrimitive.Title.displayName
|
| 98 |
+
|
| 99 |
+
const DialogDescription = React.forwardRef<
|
| 100 |
+
React.ElementRef<typeof DialogPrimitive.Description>,
|
| 101 |
+
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
|
| 102 |
+
>(({ className, ...props }, ref) => (
|
| 103 |
+
<DialogPrimitive.Description
|
| 104 |
+
ref={ref}
|
| 105 |
+
className={cn("text-sm text-muted-foreground", className)}
|
| 106 |
+
{...props}
|
| 107 |
+
/>
|
| 108 |
+
))
|
| 109 |
+
DialogDescription.displayName = DialogPrimitive.Description.displayName
|
| 110 |
+
|
| 111 |
+
export {
|
| 112 |
+
Dialog,
|
| 113 |
+
DialogPortal,
|
| 114 |
+
DialogOverlay,
|
| 115 |
+
DialogClose,
|
| 116 |
+
DialogTrigger,
|
| 117 |
+
DialogContent,
|
| 118 |
+
DialogHeader,
|
| 119 |
+
DialogFooter,
|
| 120 |
+
DialogTitle,
|
| 121 |
+
DialogDescription,
|
| 122 |
+
}
|