Add availability page
							parent
							
								
									a11b6f454f
								
							
						
					
					
						commit
						06ef477d65
					
				| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
    <link rel="icon" href="/favicon.ico">
 | 
					    <link rel="icon" href="/favicon.ico">
 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
    <title>Vite App</title>
 | 
					    <title>availabili.tf</title>
 | 
				
			||||||
  </head>
 | 
					  </head>
 | 
				
			||||||
  <body>
 | 
					  <body>
 | 
				
			||||||
    <div id="app"></div>
 | 
					    <div id="app"></div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,18 +25,34 @@
 | 
				
			||||||
        "@vue/eslint-config-typescript": "^14.0.1",
 | 
					        "@vue/eslint-config-typescript": "^14.0.1",
 | 
				
			||||||
        "@vue/test-utils": "^2.4.6",
 | 
					        "@vue/test-utils": "^2.4.6",
 | 
				
			||||||
        "@vue/tsconfig": "^0.5.1",
 | 
					        "@vue/tsconfig": "^0.5.1",
 | 
				
			||||||
 | 
					        "autoprefixer": "^10.4.20",
 | 
				
			||||||
        "cypress": "^13.15.0",
 | 
					        "cypress": "^13.15.0",
 | 
				
			||||||
        "eslint": "^9.12.0",
 | 
					        "eslint": "^9.12.0",
 | 
				
			||||||
        "eslint-plugin-vue": "^9.29.0",
 | 
					        "eslint-plugin-vue": "^9.29.0",
 | 
				
			||||||
        "jsdom": "^25.0.1",
 | 
					        "jsdom": "^25.0.1",
 | 
				
			||||||
        "npm-run-all2": "^6.2.3",
 | 
					        "npm-run-all2": "^6.2.3",
 | 
				
			||||||
 | 
					        "postcss": "^8.4.47",
 | 
				
			||||||
        "prettier": "^3.3.3",
 | 
					        "prettier": "^3.3.3",
 | 
				
			||||||
 | 
					        "tailwindcss": "^3.4.14",
 | 
				
			||||||
        "typescript": "~5.5.4",
 | 
					        "typescript": "~5.5.4",
 | 
				
			||||||
        "vite": "^5.4.8",
 | 
					        "vite": "^5.4.8",
 | 
				
			||||||
        "vitest": "^2.1.2",
 | 
					        "vitest": "^2.1.2",
 | 
				
			||||||
        "vue-tsc": "^2.1.6"
 | 
					        "vue-tsc": "^2.1.6"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@alloc/quick-lru": {
 | 
				
			||||||
 | 
					      "version": "5.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=10"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "url": "https://github.com/sponsors/sindresorhus"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@babel/helper-string-parser": {
 | 
					    "node_modules/@babel/helper-string-parser": {
 | 
				
			||||||
      "version": "7.25.9",
 | 
					      "version": "7.25.9",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
 | 
				
			||||||
| 
						 | 
					@ -800,12 +816,58 @@
 | 
				
			||||||
        "node": ">=12"
 | 
					        "node": ">=12"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@jridgewell/gen-mapping": {
 | 
				
			||||||
 | 
					      "version": "0.3.5",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@jridgewell/set-array": "^1.2.1",
 | 
				
			||||||
 | 
					        "@jridgewell/sourcemap-codec": "^1.4.10",
 | 
				
			||||||
 | 
					        "@jridgewell/trace-mapping": "^0.3.24"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=6.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@jridgewell/resolve-uri": {
 | 
				
			||||||
 | 
					      "version": "3.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=6.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@jridgewell/set-array": {
 | 
				
			||||||
 | 
					      "version": "1.2.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=6.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@jridgewell/sourcemap-codec": {
 | 
					    "node_modules/@jridgewell/sourcemap-codec": {
 | 
				
			||||||
      "version": "1.5.0",
 | 
					      "version": "1.5.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
 | 
					      "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@jridgewell/trace-mapping": {
 | 
				
			||||||
 | 
					      "version": "0.3.25",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@jridgewell/resolve-uri": "^3.1.0",
 | 
				
			||||||
 | 
					        "@jridgewell/sourcemap-codec": "^1.4.14"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@nodelib/fs.scandir": {
 | 
					    "node_modules/@nodelib/fs.scandir": {
 | 
				
			||||||
      "version": "2.1.5",
 | 
					      "version": "2.1.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
 | 
				
			||||||
| 
						 | 
					@ -1900,6 +1962,27 @@
 | 
				
			||||||
        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
 | 
					        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/any-promise": {
 | 
				
			||||||
 | 
					      "version": "1.3.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/anymatch": {
 | 
				
			||||||
 | 
					      "version": "3.1.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "ISC",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "normalize-path": "^3.0.0",
 | 
				
			||||||
 | 
					        "picomatch": "^2.0.4"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 8"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/arch": {
 | 
					    "node_modules/arch": {
 | 
				
			||||||
      "version": "2.2.0",
 | 
					      "version": "2.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -1921,6 +2004,13 @@
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/arg": {
 | 
				
			||||||
 | 
					      "version": "5.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/argparse": {
 | 
					    "node_modules/argparse": {
 | 
				
			||||||
      "version": "2.0.1",
 | 
					      "version": "2.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -1991,6 +2081,44 @@
 | 
				
			||||||
        "node": ">= 4.0.0"
 | 
					        "node": ">= 4.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/autoprefixer": {
 | 
				
			||||||
 | 
					      "version": "10.4.20",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "funding": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "opencollective",
 | 
				
			||||||
 | 
					          "url": "https://opencollective.com/postcss/"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "tidelift",
 | 
				
			||||||
 | 
					          "url": "https://tidelift.com/funding/github/npm/autoprefixer"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "github",
 | 
				
			||||||
 | 
					          "url": "https://github.com/sponsors/ai"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "browserslist": "^4.23.3",
 | 
				
			||||||
 | 
					        "caniuse-lite": "^1.0.30001646",
 | 
				
			||||||
 | 
					        "fraction.js": "^4.3.7",
 | 
				
			||||||
 | 
					        "normalize-range": "^0.1.2",
 | 
				
			||||||
 | 
					        "picocolors": "^1.0.1",
 | 
				
			||||||
 | 
					        "postcss-value-parser": "^4.2.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "bin": {
 | 
				
			||||||
 | 
					        "autoprefixer": "bin/autoprefixer"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": "^10 || ^12 || >=14"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "postcss": "^8.1.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/aws-sign2": {
 | 
					    "node_modules/aws-sign2": {
 | 
				
			||||||
      "version": "0.7.0",
 | 
					      "version": "0.7.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -2057,6 +2185,19 @@
 | 
				
			||||||
        "tweetnacl": "^0.14.3"
 | 
					        "tweetnacl": "^0.14.3"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/binary-extensions": {
 | 
				
			||||||
 | 
					      "version": "2.3.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=8"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "url": "https://github.com/sponsors/sindresorhus"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/blob-util": {
 | 
					    "node_modules/blob-util": {
 | 
				
			||||||
      "version": "2.0.2",
 | 
					      "version": "2.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
 | 
				
			||||||
| 
						 | 
					@ -2117,6 +2258,39 @@
 | 
				
			||||||
        "node": ">=8"
 | 
					        "node": ">=8"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/browserslist": {
 | 
				
			||||||
 | 
					      "version": "4.24.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "funding": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "opencollective",
 | 
				
			||||||
 | 
					          "url": "https://opencollective.com/browserslist"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "tidelift",
 | 
				
			||||||
 | 
					          "url": "https://tidelift.com/funding/github/npm/browserslist"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "github",
 | 
				
			||||||
 | 
					          "url": "https://github.com/sponsors/ai"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "caniuse-lite": "^1.0.30001669",
 | 
				
			||||||
 | 
					        "electron-to-chromium": "^1.5.41",
 | 
				
			||||||
 | 
					        "node-releases": "^2.0.18",
 | 
				
			||||||
 | 
					        "update-browserslist-db": "^1.1.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "bin": {
 | 
				
			||||||
 | 
					        "browserslist": "cli.js"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/buffer": {
 | 
					    "node_modules/buffer": {
 | 
				
			||||||
      "version": "5.7.1",
 | 
					      "version": "5.7.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -2202,6 +2376,37 @@
 | 
				
			||||||
        "node": ">=6"
 | 
					        "node": ">=6"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/camelcase-css": {
 | 
				
			||||||
 | 
					      "version": "2.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 6"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/caniuse-lite": {
 | 
				
			||||||
 | 
					      "version": "1.0.30001672",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001672.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-XhW1vRo1ob6aeK2w3rTohwTPBLse/rvjq+s3RTSBwnlZqoFFjx9cHsShJjAIbLsLjyoacaTxpLZy9v3gg6zypw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "funding": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "opencollective",
 | 
				
			||||||
 | 
					          "url": "https://opencollective.com/browserslist"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "tidelift",
 | 
				
			||||||
 | 
					          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "github",
 | 
				
			||||||
 | 
					          "url": "https://github.com/sponsors/ai"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "license": "CC-BY-4.0"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/caseless": {
 | 
					    "node_modules/caseless": {
 | 
				
			||||||
      "version": "0.12.0",
 | 
					      "version": "0.12.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -2263,6 +2468,44 @@
 | 
				
			||||||
        "node": ">= 0.8.0"
 | 
					        "node": ">= 0.8.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/chokidar": {
 | 
				
			||||||
 | 
					      "version": "3.6.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "anymatch": "~3.1.2",
 | 
				
			||||||
 | 
					        "braces": "~3.0.2",
 | 
				
			||||||
 | 
					        "glob-parent": "~5.1.2",
 | 
				
			||||||
 | 
					        "is-binary-path": "~2.1.0",
 | 
				
			||||||
 | 
					        "is-glob": "~4.0.1",
 | 
				
			||||||
 | 
					        "normalize-path": "~3.0.0",
 | 
				
			||||||
 | 
					        "readdirp": "~3.6.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 8.10.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "url": "https://paulmillr.com/funding/"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "optionalDependencies": {
 | 
				
			||||||
 | 
					        "fsevents": "~2.3.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/chokidar/node_modules/glob-parent": {
 | 
				
			||||||
 | 
					      "version": "5.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "ISC",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "is-glob": "^4.0.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 6"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/ci-info": {
 | 
					    "node_modules/ci-info": {
 | 
				
			||||||
      "version": "3.9.0",
 | 
					      "version": "3.9.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -2764,6 +3007,20 @@
 | 
				
			||||||
        "node": ">=0.4.0"
 | 
					        "node": ">=0.4.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/didyoumean": {
 | 
				
			||||||
 | 
					      "version": "1.2.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "Apache-2.0"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/dlv": {
 | 
				
			||||||
 | 
					      "version": "1.1.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/eastasianwidth": {
 | 
					    "node_modules/eastasianwidth": {
 | 
				
			||||||
      "version": "0.2.0",
 | 
					      "version": "0.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -2817,6 +3074,13 @@
 | 
				
			||||||
        "url": "https://github.com/sponsors/isaacs"
 | 
					        "url": "https://github.com/sponsors/isaacs"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/electron-to-chromium": {
 | 
				
			||||||
 | 
					      "version": "1.5.47",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.47.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-zS5Yer0MOYw4rtK2iq43cJagHZ8sXN0jDHDKzB+86gSBSAI4v07S97mcq+Gs2vclAxSh1j7vOAHxSVgduiiuVQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "ISC"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/emoji-regex": {
 | 
					    "node_modules/emoji-regex": {
 | 
				
			||||||
      "version": "9.2.2",
 | 
					      "version": "9.2.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
 | 
				
			||||||
| 
						 | 
					@ -2945,6 +3209,16 @@
 | 
				
			||||||
        "@esbuild/win32-x64": "0.21.5"
 | 
					        "@esbuild/win32-x64": "0.21.5"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/escalade": {
 | 
				
			||||||
 | 
					      "version": "3.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=6"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/escape-string-regexp": {
 | 
					    "node_modules/escape-string-regexp": {
 | 
				
			||||||
      "version": "4.0.0",
 | 
					      "version": "4.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -3574,6 +3848,20 @@
 | 
				
			||||||
        "node": ">= 6"
 | 
					        "node": ">= 6"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/fraction.js": {
 | 
				
			||||||
 | 
					      "version": "4.3.7",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": "*"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "type": "patreon",
 | 
				
			||||||
 | 
					        "url": "https://github.com/sponsors/rawify"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/fs-extra": {
 | 
					    "node_modules/fs-extra": {
 | 
				
			||||||
      "version": "9.1.0",
 | 
					      "version": "9.1.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -3997,6 +4285,19 @@
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "license": "ISC"
 | 
					      "license": "ISC"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/is-binary-path": {
 | 
				
			||||||
 | 
					      "version": "2.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "binary-extensions": "^2.0.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=8"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/is-ci": {
 | 
					    "node_modules/is-ci": {
 | 
				
			||||||
      "version": "3.0.1",
 | 
					      "version": "3.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -4010,6 +4311,22 @@
 | 
				
			||||||
        "is-ci": "bin.js"
 | 
					        "is-ci": "bin.js"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/is-core-module": {
 | 
				
			||||||
 | 
					      "version": "2.15.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "hasown": "^2.0.2"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 0.4"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "url": "https://github.com/sponsors/ljharb"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/is-extglob": {
 | 
					    "node_modules/is-extglob": {
 | 
				
			||||||
      "version": "2.1.1",
 | 
					      "version": "2.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -4150,6 +4467,16 @@
 | 
				
			||||||
        "@pkgjs/parseargs": "^0.11.0"
 | 
					        "@pkgjs/parseargs": "^0.11.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/jiti": {
 | 
				
			||||||
 | 
					      "version": "1.21.6",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "bin": {
 | 
				
			||||||
 | 
					        "jiti": "bin/jiti.js"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/js-beautify": {
 | 
					    "node_modules/js-beautify": {
 | 
				
			||||||
      "version": "1.15.1",
 | 
					      "version": "1.15.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -4361,6 +4688,23 @@
 | 
				
			||||||
        "node": ">= 0.8.0"
 | 
					        "node": ">= 0.8.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/lilconfig": {
 | 
				
			||||||
 | 
					      "version": "2.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=10"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/lines-and-columns": {
 | 
				
			||||||
 | 
					      "version": "1.2.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/listr2": {
 | 
					    "node_modules/listr2": {
 | 
				
			||||||
      "version": "3.14.0",
 | 
					      "version": "3.14.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -4746,6 +5090,18 @@
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/mz": {
 | 
				
			||||||
 | 
					      "version": "2.7.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "any-promise": "^1.0.0",
 | 
				
			||||||
 | 
					        "object-assign": "^4.0.1",
 | 
				
			||||||
 | 
					        "thenify-all": "^1.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/nanoid": {
 | 
					    "node_modules/nanoid": {
 | 
				
			||||||
      "version": "3.3.7",
 | 
					      "version": "3.3.7",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
 | 
				
			||||||
| 
						 | 
					@ -4771,6 +5127,13 @@
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/node-releases": {
 | 
				
			||||||
 | 
					      "version": "2.0.18",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/nopt": {
 | 
					    "node_modules/nopt": {
 | 
				
			||||||
      "version": "7.2.1",
 | 
					      "version": "7.2.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -4787,6 +5150,26 @@
 | 
				
			||||||
        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 | 
					        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/normalize-path": {
 | 
				
			||||||
 | 
					      "version": "3.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=0.10.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/normalize-range": {
 | 
				
			||||||
 | 
					      "version": "0.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=0.10.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/npm-normalize-package-bin": {
 | 
					    "node_modules/npm-normalize-package-bin": {
 | 
				
			||||||
      "version": "3.0.1",
 | 
					      "version": "3.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -4886,6 +5269,26 @@
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/object-assign": {
 | 
				
			||||||
 | 
					      "version": "4.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=0.10.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/object-hash": {
 | 
				
			||||||
 | 
					      "version": "3.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 6"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/object-inspect": {
 | 
					    "node_modules/object-inspect": {
 | 
				
			||||||
      "version": "1.13.2",
 | 
					      "version": "1.13.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5058,6 +5461,13 @@
 | 
				
			||||||
        "node": ">=8"
 | 
					        "node": ">=8"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/path-parse": {
 | 
				
			||||||
 | 
					      "version": "1.0.7",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/path-scurry": {
 | 
					    "node_modules/path-scurry": {
 | 
				
			||||||
      "version": "1.11.1",
 | 
					      "version": "1.11.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5200,6 +5610,16 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/pirates": {
 | 
				
			||||||
 | 
					      "version": "4.0.6",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 6"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/popper.js": {
 | 
					    "node_modules/popper.js": {
 | 
				
			||||||
      "version": "1.16.1",
 | 
					      "version": "1.16.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5239,6 +5659,119 @@
 | 
				
			||||||
        "node": "^10 || ^12 || >=14"
 | 
					        "node": "^10 || ^12 || >=14"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/postcss-import": {
 | 
				
			||||||
 | 
					      "version": "15.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "postcss-value-parser": "^4.0.0",
 | 
				
			||||||
 | 
					        "read-cache": "^1.0.0",
 | 
				
			||||||
 | 
					        "resolve": "^1.1.7"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=14.0.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "postcss": "^8.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/postcss-js": {
 | 
				
			||||||
 | 
					      "version": "4.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "camelcase-css": "^2.0.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": "^12 || ^14 || >= 16"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "type": "opencollective",
 | 
				
			||||||
 | 
					        "url": "https://opencollective.com/postcss/"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "postcss": "^8.4.21"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/postcss-load-config": {
 | 
				
			||||||
 | 
					      "version": "4.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "funding": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "opencollective",
 | 
				
			||||||
 | 
					          "url": "https://opencollective.com/postcss/"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "github",
 | 
				
			||||||
 | 
					          "url": "https://github.com/sponsors/ai"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "lilconfig": "^3.0.0",
 | 
				
			||||||
 | 
					        "yaml": "^2.3.4"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 14"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "postcss": ">=8.0.9",
 | 
				
			||||||
 | 
					        "ts-node": ">=9.0.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependenciesMeta": {
 | 
				
			||||||
 | 
					        "postcss": {
 | 
				
			||||||
 | 
					          "optional": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "ts-node": {
 | 
				
			||||||
 | 
					          "optional": true
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/postcss-load-config/node_modules/lilconfig": {
 | 
				
			||||||
 | 
					      "version": "3.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=14"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "url": "https://github.com/sponsors/antonk52"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/postcss-nested": {
 | 
				
			||||||
 | 
					      "version": "6.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "funding": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "opencollective",
 | 
				
			||||||
 | 
					          "url": "https://opencollective.com/postcss/"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "github",
 | 
				
			||||||
 | 
					          "url": "https://github.com/sponsors/ai"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "postcss-selector-parser": "^6.1.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=12.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "postcss": "^8.2.14"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/postcss-selector-parser": {
 | 
					    "node_modules/postcss-selector-parser": {
 | 
				
			||||||
      "version": "6.1.2",
 | 
					      "version": "6.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5253,6 +5786,13 @@
 | 
				
			||||||
        "node": ">=4"
 | 
					        "node": ">=4"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/postcss-value-parser": {
 | 
				
			||||||
 | 
					      "version": "4.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/prelude-ls": {
 | 
					    "node_modules/prelude-ls": {
 | 
				
			||||||
      "version": "1.2.1",
 | 
					      "version": "1.2.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5400,6 +5940,16 @@
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/read-cache": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "pify": "^2.3.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/read-package-json-fast": {
 | 
					    "node_modules/read-package-json-fast": {
 | 
				
			||||||
      "version": "3.0.2",
 | 
					      "version": "3.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5414,6 +5964,19 @@
 | 
				
			||||||
        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 | 
					        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/readdirp": {
 | 
				
			||||||
 | 
					      "version": "3.6.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "picomatch": "^2.2.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=8.10.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/regenerator-runtime": {
 | 
					    "node_modules/regenerator-runtime": {
 | 
				
			||||||
      "version": "0.14.1",
 | 
					      "version": "0.14.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5437,6 +6000,24 @@
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/resolve": {
 | 
				
			||||||
 | 
					      "version": "1.22.8",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "is-core-module": "^2.13.0",
 | 
				
			||||||
 | 
					        "path-parse": "^1.0.7",
 | 
				
			||||||
 | 
					        "supports-preserve-symlinks-flag": "^1.0.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "bin": {
 | 
				
			||||||
 | 
					        "resolve": "bin/resolve"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "url": "https://github.com/sponsors/ljharb"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/resolve-from": {
 | 
					    "node_modules/resolve-from": {
 | 
				
			||||||
      "version": "4.0.0",
 | 
					      "version": "4.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5908,6 +6489,39 @@
 | 
				
			||||||
        "url": "https://github.com/sponsors/sindresorhus"
 | 
					        "url": "https://github.com/sponsors/sindresorhus"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/sucrase": {
 | 
				
			||||||
 | 
					      "version": "3.35.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@jridgewell/gen-mapping": "^0.3.2",
 | 
				
			||||||
 | 
					        "commander": "^4.0.0",
 | 
				
			||||||
 | 
					        "glob": "^10.3.10",
 | 
				
			||||||
 | 
					        "lines-and-columns": "^1.1.6",
 | 
				
			||||||
 | 
					        "mz": "^2.7.0",
 | 
				
			||||||
 | 
					        "pirates": "^4.0.1",
 | 
				
			||||||
 | 
					        "ts-interface-checker": "^0.1.9"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "bin": {
 | 
				
			||||||
 | 
					        "sucrase": "bin/sucrase",
 | 
				
			||||||
 | 
					        "sucrase-node": "bin/sucrase-node"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=16 || 14 >=14.17"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/sucrase/node_modules/commander": {
 | 
				
			||||||
 | 
					      "version": "4.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 6"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/supports-color": {
 | 
					    "node_modules/supports-color": {
 | 
				
			||||||
      "version": "7.2.0",
 | 
					      "version": "7.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5921,6 +6535,19 @@
 | 
				
			||||||
        "node": ">=8"
 | 
					        "node": ">=8"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/supports-preserve-symlinks-flag": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 0.4"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "funding": {
 | 
				
			||||||
 | 
					        "url": "https://github.com/sponsors/ljharb"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/symbol-tree": {
 | 
					    "node_modules/symbol-tree": {
 | 
				
			||||||
      "version": "3.2.4",
 | 
					      "version": "3.2.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5945,6 +6572,44 @@
 | 
				
			||||||
        "url": "https://opencollective.com/unts"
 | 
					        "url": "https://opencollective.com/unts"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/tailwindcss": {
 | 
				
			||||||
 | 
					      "version": "3.4.14",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@alloc/quick-lru": "^5.2.0",
 | 
				
			||||||
 | 
					        "arg": "^5.0.2",
 | 
				
			||||||
 | 
					        "chokidar": "^3.5.3",
 | 
				
			||||||
 | 
					        "didyoumean": "^1.2.2",
 | 
				
			||||||
 | 
					        "dlv": "^1.1.3",
 | 
				
			||||||
 | 
					        "fast-glob": "^3.3.0",
 | 
				
			||||||
 | 
					        "glob-parent": "^6.0.2",
 | 
				
			||||||
 | 
					        "is-glob": "^4.0.3",
 | 
				
			||||||
 | 
					        "jiti": "^1.21.0",
 | 
				
			||||||
 | 
					        "lilconfig": "^2.1.0",
 | 
				
			||||||
 | 
					        "micromatch": "^4.0.5",
 | 
				
			||||||
 | 
					        "normalize-path": "^3.0.0",
 | 
				
			||||||
 | 
					        "object-hash": "^3.0.0",
 | 
				
			||||||
 | 
					        "picocolors": "^1.0.0",
 | 
				
			||||||
 | 
					        "postcss": "^8.4.23",
 | 
				
			||||||
 | 
					        "postcss-import": "^15.1.0",
 | 
				
			||||||
 | 
					        "postcss-js": "^4.0.1",
 | 
				
			||||||
 | 
					        "postcss-load-config": "^4.0.1",
 | 
				
			||||||
 | 
					        "postcss-nested": "^6.0.1",
 | 
				
			||||||
 | 
					        "postcss-selector-parser": "^6.0.11",
 | 
				
			||||||
 | 
					        "resolve": "^1.22.2",
 | 
				
			||||||
 | 
					        "sucrase": "^3.32.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "bin": {
 | 
				
			||||||
 | 
					        "tailwind": "lib/cli.js",
 | 
				
			||||||
 | 
					        "tailwindcss": "lib/cli.js"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=14.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/text-table": {
 | 
					    "node_modules/text-table": {
 | 
				
			||||||
      "version": "0.2.0",
 | 
					      "version": "0.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -5952,6 +6617,29 @@
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/thenify": {
 | 
				
			||||||
 | 
					      "version": "3.3.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "any-promise": "^1.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/thenify-all": {
 | 
				
			||||||
 | 
					      "version": "1.6.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "thenify": ">= 3.1.0 < 4"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">=0.8"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/throttleit": {
 | 
					    "node_modules/throttleit": {
 | 
				
			||||||
      "version": "1.0.1",
 | 
					      "version": "1.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -6095,6 +6783,13 @@
 | 
				
			||||||
        "typescript": ">=4.2.0"
 | 
					        "typescript": ">=4.2.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/ts-interface-checker": {
 | 
				
			||||||
 | 
					      "version": "0.1.13",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "Apache-2.0"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/tslib": {
 | 
					    "node_modules/tslib": {
 | 
				
			||||||
      "version": "2.8.0",
 | 
					      "version": "2.8.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz",
 | 
				
			||||||
| 
						 | 
					@ -6213,6 +6908,37 @@
 | 
				
			||||||
        "node": ">=8"
 | 
					        "node": ">=8"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/update-browserslist-db": {
 | 
				
			||||||
 | 
					      "version": "1.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "funding": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "opencollective",
 | 
				
			||||||
 | 
					          "url": "https://opencollective.com/browserslist"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "tidelift",
 | 
				
			||||||
 | 
					          "url": "https://tidelift.com/funding/github/npm/browserslist"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "type": "github",
 | 
				
			||||||
 | 
					          "url": "https://github.com/sponsors/ai"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "license": "MIT",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "escalade": "^3.2.0",
 | 
				
			||||||
 | 
					        "picocolors": "^1.1.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "bin": {
 | 
				
			||||||
 | 
					        "update-browserslist-db": "cli.js"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "browserslist": ">= 4.21.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/uri-js": {
 | 
					    "node_modules/uri-js": {
 | 
				
			||||||
      "version": "4.4.1",
 | 
					      "version": "4.4.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
 | 
				
			||||||
| 
						 | 
					@ -6862,6 +7588,19 @@
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "license": "MIT"
 | 
					      "license": "MIT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/yaml": {
 | 
				
			||||||
 | 
					      "version": "2.6.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "license": "ISC",
 | 
				
			||||||
 | 
					      "bin": {
 | 
				
			||||||
 | 
					        "yaml": "bin.mjs"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "engines": {
 | 
				
			||||||
 | 
					        "node": ">= 14"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/yauzl": {
 | 
					    "node_modules/yauzl": {
 | 
				
			||||||
      "version": "2.10.0",
 | 
					      "version": "2.10.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,12 +31,15 @@
 | 
				
			||||||
    "@vue/eslint-config-typescript": "^14.0.1",
 | 
					    "@vue/eslint-config-typescript": "^14.0.1",
 | 
				
			||||||
    "@vue/test-utils": "^2.4.6",
 | 
					    "@vue/test-utils": "^2.4.6",
 | 
				
			||||||
    "@vue/tsconfig": "^0.5.1",
 | 
					    "@vue/tsconfig": "^0.5.1",
 | 
				
			||||||
 | 
					    "autoprefixer": "^10.4.20",
 | 
				
			||||||
    "cypress": "^13.15.0",
 | 
					    "cypress": "^13.15.0",
 | 
				
			||||||
    "eslint": "^9.12.0",
 | 
					    "eslint": "^9.12.0",
 | 
				
			||||||
    "eslint-plugin-vue": "^9.29.0",
 | 
					    "eslint-plugin-vue": "^9.29.0",
 | 
				
			||||||
    "jsdom": "^25.0.1",
 | 
					    "jsdom": "^25.0.1",
 | 
				
			||||||
    "npm-run-all2": "^6.2.3",
 | 
					    "npm-run-all2": "^6.2.3",
 | 
				
			||||||
 | 
					    "postcss": "^8.4.47",
 | 
				
			||||||
    "prettier": "^3.3.3",
 | 
					    "prettier": "^3.3.3",
 | 
				
			||||||
 | 
					    "tailwindcss": "^3.4.14",
 | 
				
			||||||
    "typescript": "~5.5.4",
 | 
					    "typescript": "~5.5.4",
 | 
				
			||||||
    "vite": "^5.4.8",
 | 
					    "vite": "^5.4.8",
 | 
				
			||||||
    "vitest": "^2.1.2",
 | 
					    "vitest": "^2.1.2",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,13 +23,15 @@ a,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
button {
 | 
					button {
 | 
				
			||||||
  font-weight: 700;
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  gap: 4px;
 | 
				
			||||||
 | 
					  /*font-weight: 700;*/
 | 
				
			||||||
  color: var(--text);
 | 
					  color: var(--text);
 | 
				
			||||||
  background-color: var(--crust);
 | 
					  background-color: var(--crust);
 | 
				
			||||||
  border: none;
 | 
					  border: none;
 | 
				
			||||||
  padding: 8px 16px;
 | 
					  padding: 10px 20px;
 | 
				
			||||||
  border-radius: 4px;
 | 
					  border-radius: 8px;
 | 
				
			||||||
    font-family:
 | 
					  font-family:
 | 
				
			||||||
    Inter,
 | 
					    Inter,
 | 
				
			||||||
    -apple-system,
 | 
					    -apple-system,
 | 
				
			||||||
    BlinkMacSystemFont,
 | 
					    BlinkMacSystemFont,
 | 
				
			||||||
| 
						 | 
					@ -42,6 +44,17 @@ button {
 | 
				
			||||||
    'Droid Sans',
 | 
					    'Droid Sans',
 | 
				
			||||||
    'Helvetica Neue',
 | 
					    'Helvetica Neue',
 | 
				
			||||||
    sans-serif;
 | 
					    sans-serif;
 | 
				
			||||||
 | 
					  cursor: pointer;
 | 
				
			||||||
 | 
					  transition-duration: 200ms;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button > i.bi {
 | 
				
			||||||
 | 
					  margin-right: 4px;
 | 
				
			||||||
 | 
					  transform: translateY(1px);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button:hover {
 | 
				
			||||||
 | 
					  background-color: var(--surface-0);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
button.accent {
 | 
					button.accent {
 | 
				
			||||||
| 
						 | 
					@ -50,8 +63,26 @@ button.accent {
 | 
				
			||||||
  text-transform: uppercase;
 | 
					  text-transform: uppercase;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
button.accent {
 | 
					button.accent.dark {
 | 
				
			||||||
 | 
					  background-color: var(--text);
 | 
				
			||||||
 | 
					  color: var(--base);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button.accent:hover {
 | 
				
			||||||
 | 
					  background-color: var(--text);
 | 
				
			||||||
 | 
					  color: var(--base);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button.eq {
 | 
				
			||||||
 | 
					  padding: 8px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button.transparent {
 | 
				
			||||||
 | 
					  background-color: var(--transparent);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button.transparent:hover {
 | 
				
			||||||
 | 
					  background-color: var(--surface-0);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
h1 {
 | 
					h1 {
 | 
				
			||||||
| 
						 | 
					@ -60,6 +91,10 @@ h1 {
 | 
				
			||||||
  line-height: 2em;
 | 
					  line-height: 2em;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					h2 {
 | 
				
			||||||
 | 
					  font-weight: 700;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
em.aside {
 | 
					em.aside {
 | 
				
			||||||
  color: var(--overlay-0);
 | 
					  color: var(--overlay-0);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -67,3 +102,7 @@ em.aside {
 | 
				
			||||||
select {
 | 
					select {
 | 
				
			||||||
  appearance: none;
 | 
					  appearance: none;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.subtext {
 | 
				
			||||||
 | 
					  color: var(--subtext-0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,6 +20,7 @@ function selectOption(index) {
 | 
				
			||||||
  <div :class="{ 'dropdown-container': true, 'is-open': isOpen }">
 | 
					  <div :class="{ 'dropdown-container': true, 'is-open': isOpen }">
 | 
				
			||||||
    <button @click="isOpen = !isOpen">
 | 
					    <button @click="isOpen = !isOpen">
 | 
				
			||||||
      {{ selectedOption }}
 | 
					      {{ selectedOption }}
 | 
				
			||||||
 | 
					      <i class="bi bi-caret-down-fill"></i>
 | 
				
			||||||
    </button>
 | 
					    </button>
 | 
				
			||||||
    <ul class="dropdown" v-if="isOpen" @blur="isOpen = false">
 | 
					    <ul class="dropdown" v-if="isOpen" @blur="isOpen = false">
 | 
				
			||||||
      <li v-for="(option, i) in options" :key="i" @click="selectOption(i)">
 | 
					      <li v-for="(option, i) in options" :key="i" @click="selectOption(i)">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,13 +2,13 @@
 | 
				
			||||||
import { computed, defineModel, defineProps, reactive, ref, onMounted, onUnmounted } from "vue";
 | 
					import { computed, defineModel, defineProps, reactive, ref, onMounted, onUnmounted } from "vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const model = defineModel();
 | 
					const model = defineModel();
 | 
				
			||||||
const firstHour = 15;
 | 
					const firstHour = 14;
 | 
				
			||||||
const lastHour = 23;
 | 
					const lastHour = 22;
 | 
				
			||||||
 | 
					 | 
				
			||||||
const windowStart = new Date(2024, 9, 21);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const props = defineProps({
 | 
					const props = defineProps({
 | 
				
			||||||
  selectionMode: Number,
 | 
					  selectionMode: Number,
 | 
				
			||||||
 | 
					  isDisabled: Boolean,
 | 
				
			||||||
 | 
					  dateStart: Date,
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const selectionStart = reactive({ x: undefined, y: undefined });
 | 
					const selectionStart = reactive({ x: undefined, y: undefined });
 | 
				
			||||||
| 
						 | 
					@ -45,8 +45,8 @@ function selectionInside(dayIndex, hour) {
 | 
				
			||||||
const days = computed(() => {
 | 
					const days = computed(() => {
 | 
				
			||||||
  let ret = [];
 | 
					  let ret = [];
 | 
				
			||||||
  for (let i = 0; i < 7; i++) {
 | 
					  for (let i = 0; i < 7; i++) {
 | 
				
			||||||
    const date = new Date(windowStart);
 | 
					    const date = new Date(props.dateStart);
 | 
				
			||||||
    date.setDate(windowStart.getDate() + i);
 | 
					    date.setDate(props.dateStart.getDate() + i);
 | 
				
			||||||
    ret.push(date);
 | 
					    ret.push(date);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return ret;
 | 
					  return ret;
 | 
				
			||||||
| 
						 | 
					@ -71,6 +71,10 @@ const isMouseDown = ref(false);
 | 
				
			||||||
const selectionValue = ref(0);
 | 
					const selectionValue = ref(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function onSlotMouseDown($event, x, y) {
 | 
					function onSlotMouseDown($event, x, y) {
 | 
				
			||||||
 | 
					  if (props.isDisabled) {
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  selectionValue.value = model.value[24 * x + y] == props.selectionMode ?
 | 
					  selectionValue.value = model.value[24 * x + y] == props.selectionMode ?
 | 
				
			||||||
    0 : props.selectionMode;
 | 
					    0 : props.selectionMode;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -78,26 +82,29 @@ function onSlotMouseDown($event, x, y) {
 | 
				
			||||||
  selectionStart.y = y;
 | 
					  selectionStart.y = y;
 | 
				
			||||||
  selectionEnd.x = x;
 | 
					  selectionEnd.x = x;
 | 
				
			||||||
  selectionEnd.y = y;
 | 
					  selectionEnd.y = y;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  isShiftDown.value = $event.shiftKey;
 | 
				
			||||||
 | 
					  isCtrlDown.value = $event.ctrlKey;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  console.log("selected " + x + " " + y);
 | 
					  console.log("selected " + x + " " + y);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function onSlotMouseOver($event, x, y) {
 | 
					function onSlotMouseOver($event, x, y) {
 | 
				
			||||||
 | 
					  if (props.isDisabled) {
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if ($event.buttons & 1 == 1) {
 | 
					  if ($event.buttons & 1 == 1) {
 | 
				
			||||||
    //if (isAdding.value) {
 | 
					    isShiftDown.value = $event.shiftKey;
 | 
				
			||||||
    //  model.value[24 * x + y] = props.selectionMode;
 | 
					    isCtrlDown.value = $event.ctrlKey;
 | 
				
			||||||
    //} else {
 | 
					
 | 
				
			||||||
    //  model.value[24 * x + y] = 0;
 | 
					 | 
				
			||||||
    //}
 | 
					 | 
				
			||||||
    console.log("selected " + (24 * x + y));
 | 
					 | 
				
			||||||
    selectionEnd.x = x;
 | 
					    selectionEnd.x = x;
 | 
				
			||||||
    selectionEnd.y = y;
 | 
					    selectionEnd.y = y;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function onSlotMouseUp($event) {
 | 
					function onSlotMouseUp($event) {
 | 
				
			||||||
  console.log("mouseup");
 | 
					  if (props.isDisabled || selectionStart.x == undefined) {
 | 
				
			||||||
  console.log(selectionStart);
 | 
					 | 
				
			||||||
  if (selectionStart.x == undefined) {
 | 
					 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -152,12 +159,12 @@ onUnmounted(() => {
 | 
				
			||||||
      <div class="height-48px"></div>
 | 
					      <div class="height-48px"></div>
 | 
				
			||||||
      <div class="height-24px hour-marker-container" v-for="hour, i in hours" :key="i">
 | 
					      <div class="height-24px hour-marker-container" v-for="hour, i in hours" :key="i">
 | 
				
			||||||
        <span class="hour-marker" v-if="i % 2 == 0 || i == hours.length">
 | 
					        <span class="hour-marker" v-if="i % 2 == 0 || i == hours.length">
 | 
				
			||||||
          {{ hour % 24 }}:30 ({{ (hour + 3) % 24 }}:30 EST)
 | 
					          {{ hour % 24 }}:30 / {{ (hour + 3) % 24 }}:30 EST
 | 
				
			||||||
        </span>
 | 
					        </span>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <div class="height-24px hour-marker-container">
 | 
					      <div class="height-24px hour-marker-container">
 | 
				
			||||||
        <span class="hour-marker">
 | 
					        <span class="hour-marker">
 | 
				
			||||||
          {{ (lastHour + 1) % 24 }}:30 ({{ (lastHour + 4) % 24 }}:30 EST)
 | 
					          {{ (lastHour + 1) % 24 }}:30 / {{ (lastHour + 4) % 24 }}:30 EST
 | 
				
			||||||
        </span>
 | 
					        </span>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
| 
						 | 
					@ -259,7 +266,7 @@ onUnmounted(() => {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.time-slot[selection="1"] {
 | 
					.time-slot[selection="1"] {
 | 
				
			||||||
  background-color: var(--accent-transparent-80);
 | 
					  background-color: var(--accent-transparent-50);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.time-slot[selection="2"] {
 | 
					.time-slot[selection="2"] {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,17 +1,44 @@
 | 
				
			||||||
<script setup lang="ts">
 | 
					<script setup lang="ts">
 | 
				
			||||||
import { defineModel } from "vue";
 | 
					import { computed, defineModel } from "vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const model = defineModel();
 | 
					const model = defineModel();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const dateStart = computed(() => model.value.toLocaleDateString());
 | 
				
			||||||
 | 
					const dateEnd = computed(() => {
 | 
				
			||||||
 | 
					  let dateEndObject = new Date(model.value);
 | 
				
			||||||
 | 
					  dateEndObject.setDate(model.value.getDate() + 6);
 | 
				
			||||||
 | 
					  return dateEndObject.toLocaleDateString();
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function incrementDate(delta: number) {
 | 
				
			||||||
 | 
					  let newDate = new Date(model.value);
 | 
				
			||||||
 | 
					  newDate.setDate(newDate.getDate() + delta);
 | 
				
			||||||
 | 
					  model.value = newDate;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="scroll-box">
 | 
					  <div class="scroll-box">
 | 
				
			||||||
 | 
					    <button class="transparent eq" @click="incrementDate(-7)">
 | 
				
			||||||
 | 
					      <i class="bi bi-caret-left-fill"></i>
 | 
				
			||||||
 | 
					    </button>
 | 
				
			||||||
 | 
					    <span class="date-range">{{ dateStart }} – {{ dateEnd }}</span>
 | 
				
			||||||
 | 
					    <button class="transparent eq" @click="incrementDate(7)">
 | 
				
			||||||
 | 
					      <i class="bi bi-caret-right-fill"></i>
 | 
				
			||||||
 | 
					    </button>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style>
 | 
					<style>
 | 
				
			||||||
.scroll-box {
 | 
					.scroll-box {
 | 
				
			||||||
  display: flex;
 | 
					  display: inline-flex;
 | 
				
			||||||
  justify-content: space-between;
 | 
					  align-items: center;
 | 
				
			||||||
 | 
					  gap: 4px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.date-range {
 | 
				
			||||||
 | 
					  font-weight: 700;
 | 
				
			||||||
 | 
					  width: 200px;
 | 
				
			||||||
 | 
					  text-align: center;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -115,8 +115,8 @@ export const useRosterStore = defineStore("roster", () => {
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      steamId: 2843,
 | 
					      steamId: 2843,
 | 
				
			||||||
      name: "samme1g",
 | 
					      name: "samme1g",
 | 
				
			||||||
      role: "Roamer",
 | 
					      role: "Demoman",
 | 
				
			||||||
      main: false,
 | 
					      main: true,
 | 
				
			||||||
      availability: 2,
 | 
					      availability: 2,
 | 
				
			||||||
      playtime: 50201,
 | 
					      playtime: 50201,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,17 @@
 | 
				
			||||||
 | 
					import { defineStore } from "pinia";
 | 
				
			||||||
 | 
					import { reactive, ref, watch } from "vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const useScheduleStore = defineStore("schedule", () => {
 | 
				
			||||||
 | 
					  const dateStart = ref(new Date(2024, 9, 21));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const availability = reactive(new Array(168));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  watch(dateStart, () => {
 | 
				
			||||||
 | 
					    availability.fill(0);
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return {
 | 
				
			||||||
 | 
					    dateStart,
 | 
				
			||||||
 | 
					    availability,
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,12 @@
 | 
				
			||||||
<script setup lang="ts">
 | 
					<script setup lang="ts">
 | 
				
			||||||
import TheWelcome from '../components/TheWelcome.vue'
 | 
					 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <main>
 | 
					  <main>
 | 
				
			||||||
    <TheWelcome />
 | 
					    <h2>JustGetAHouse</h2>
 | 
				
			||||||
 | 
					    <div>
 | 
				
			||||||
 | 
					      test
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <h1>Your Teams</h1>
 | 
				
			||||||
  </main>
 | 
					  </main>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,40 +3,67 @@ import AvailabilityGrid from "../components/AvailabilityGrid.vue";
 | 
				
			||||||
import AvailabilityComboBox from "../components/AvailabilityComboBox.vue";
 | 
					import AvailabilityComboBox from "../components/AvailabilityComboBox.vue";
 | 
				
			||||||
import WeekSelectionBox from "../components/WeekSelectionBox.vue";
 | 
					import WeekSelectionBox from "../components/WeekSelectionBox.vue";
 | 
				
			||||||
import { reactive, ref } from "vue";
 | 
					import { reactive, ref } from "vue";
 | 
				
			||||||
 | 
					import { useScheduleStore } from "../stores/schedule.ts";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const schedule = useScheduleStore();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const options = reactive([
 | 
					const options = reactive([
 | 
				
			||||||
  "Team pepeja",
 | 
					  "TEAM PEPEJA forsenCD",
 | 
				
			||||||
  "Snus Brotherhood",
 | 
					  "The Snus Brotherhood",
 | 
				
			||||||
]);
 | 
					]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const comboBoxIndex = ref(0);
 | 
					const comboBoxIndex = ref(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const availability = reactive(new Array(168));
 | 
					//const availability = reactive(new Array(168));
 | 
				
			||||||
 | 
					const availability = schedule.availability;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const selectionMode = ref(1);
 | 
					const selectionMode = ref(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const isEditing = ref(false);
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <main>
 | 
					  <main>
 | 
				
			||||||
    <div v-if="options.length > 0">
 | 
					    <div class="schedule-view-container" v-if="options.length > 0">
 | 
				
			||||||
      <div>
 | 
					      <div class="top-menu">
 | 
				
			||||||
        Availability for
 | 
					        <div class="subtext">
 | 
				
			||||||
        <AvailabilityComboBox :options="options" v-model="comboBoxIndex" />
 | 
					          Availability for
 | 
				
			||||||
        <WeekSelectionBox />
 | 
					          <AvailabilityComboBox :options="options" v-model="comboBoxIndex" />
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div>
 | 
				
			||||||
 | 
					          <WeekSelectionBox v-model="schedule.dateStart" />
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <AvailabilityGrid v-model="availability" :selection-mode="selectionMode" />
 | 
					      <AvailabilityGrid v-model="availability"
 | 
				
			||||||
      <div class="radio-group">
 | 
					        :selection-mode="selectionMode"
 | 
				
			||||||
        <button
 | 
					        :is-disabled="!isEditing"
 | 
				
			||||||
          :class="{ 'radio': true, 'selected': selectionMode == 1, 'left': true }"
 | 
					        :date-start="schedule.dateStart"
 | 
				
			||||||
          @click="selectionMode = 1"
 | 
					      />
 | 
				
			||||||
        >
 | 
					      <div class="button-group">
 | 
				
			||||||
          Available if needed
 | 
					        <button>Show all times</button>
 | 
				
			||||||
        </button>
 | 
					        <template v-if="isEditing">
 | 
				
			||||||
        <button
 | 
					          <div class="radio-group">
 | 
				
			||||||
          :class="{ 'radio': true, 'selected': selectionMode == 2, 'right': true }"
 | 
					            <button
 | 
				
			||||||
          @click="selectionMode = 2"
 | 
					              :class="{ 'radio': true, 'selected': selectionMode == 1, 'left': true }"
 | 
				
			||||||
        >
 | 
					              @click="selectionMode = 1"
 | 
				
			||||||
          Definitely available
 | 
					            >
 | 
				
			||||||
 | 
					              Available if needed
 | 
				
			||||||
 | 
					            </button>
 | 
				
			||||||
 | 
					            <button
 | 
				
			||||||
 | 
					              :class="{ 'radio': true, 'selected': selectionMode == 2, 'right': true }"
 | 
				
			||||||
 | 
					              @click="selectionMode = 2"
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
 | 
					              Definitely available
 | 
				
			||||||
 | 
					            </button>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					          <button @click="isEditing = false">
 | 
				
			||||||
 | 
					            <i class="bi bi-check-circle-fill"></i>
 | 
				
			||||||
 | 
					            Save
 | 
				
			||||||
 | 
					          </button>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					        <button v-else class="accent" @click="isEditing = true">
 | 
				
			||||||
 | 
					          <i class="bi bi-pencil-fill"></i>
 | 
				
			||||||
 | 
					          Edit
 | 
				
			||||||
        </button>
 | 
					        </button>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
| 
						 | 
					@ -47,6 +74,22 @@ const selectionMode = ref(1);
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style scoped>
 | 
					<style scoped>
 | 
				
			||||||
 | 
					.schedule-view-container {
 | 
				
			||||||
 | 
					  display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.top-menu {
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  flex-direction: column;
 | 
				
			||||||
 | 
					  align-items: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.button-group {
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  gap: 8px;
 | 
				
			||||||
 | 
					  justify-content: end;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.radio-group {
 | 
					.radio-group {
 | 
				
			||||||
  display: flex;
 | 
					  display: flex;
 | 
				
			||||||
  gap: 2px;
 | 
					  gap: 2px;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue