@drupal-canvas/cli 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../node_modules/balanced-match/index.js","../../node_modules/glob/node_modules/brace-expansion/index.js","../package.json","../src/config.ts","../../node_modules/tailwindcss-in-browser/dist/index.js","../../ui/src/features/code-editor/utils/classNameCandidates.ts","../src/lib/transform-css.ts","../src/services/api.ts","../src/utils/process-cache-dir.ts","../src/utils/build-tailwind.ts","../src/lib/compile-js.ts","../src/utils/utils.ts","../src/utils/build.ts","../src/utils/report-results.ts","../../node_modules/glob/node_modules/minimatch/src/index.ts","../../node_modules/glob/node_modules/minimatch/src/assert-valid-pattern.ts","../../node_modules/glob/node_modules/minimatch/src/brace-expressions.ts","../../node_modules/glob/node_modules/minimatch/src/unescape.ts","../../node_modules/glob/node_modules/minimatch/src/ast.ts","../../node_modules/glob/node_modules/minimatch/src/escape.ts","../../node_modules/lru-cache/src/index.ts","../../node_modules/minipass/src/index.ts","../../node_modules/path-scurry/src/index.ts","../../node_modules/glob/src/pattern.ts","../../node_modules/glob/src/ignore.ts","../../node_modules/glob/src/processor.ts","../../node_modules/glob/src/walker.ts","../../node_modules/glob/src/glob.ts","../../node_modules/glob/src/has-magic.ts","../../node_modules/glob/src/index.ts","../src/utils/find-component-directories.ts","../src/utils/select-local-components.ts","../src/commands/build.ts","../src/commands/download.ts","../src/commands/scaffold.ts","../src/utils/process-component-files.ts","../src/commands/upload.ts","../src/index.ts"],"names":["ai","bi","p","expand","el","y","path","fs","config","value","A","transform","lightningCssTransform","LightningCssFeatures","p2","chalk","d","p3","glob","pl","i","acc","ext","re","hasMagic","start","final","qmark","star","regExpEscape","fi","pi","fl","fr","pr","ex","fn","_i","_k","dt","v","bf","ni","ret","buf","res","rps","readdirCB","actualFS","st","sep","l","filter","process","sync","gl","g0","defaultPlatform","rest","abs","target","fileURLToPath","p4","program","p5","yaml","p10","yaml2","p11","spinner"],"mappings":"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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,CAAA;AAiYl3D,IAAI,EAAA,GAAG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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","file":"index.js","sourcesContent":["'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m) return [str];\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n if (/\\$$/.test(m.pre)) { \n for (var k = 0; k < post.length; k++) {\n var expansion = pre+ '{' + m.body + '}' + post[k];\n expansions.push(expansion);\n }\n } else {\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,(?!,).*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = [];\n\n for (var j = 0; j < n.length; j++) {\n N.push.apply(N, expand(n[j], false));\n }\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n }\n\n return expansions;\n}\n\n","{\n \"name\": \"@drupal-canvas/cli\",\n \"description\": \"CLI tool for managing Drupal Canvas code components\",\n \"license\": \"GPL-2.0-or-later\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://git.drupalcode.org/project/canvas.git\"\n },\n \"bugs\": \"https://www.drupal.org/project/issues/canvas\",\n \"main\": \"dist/index.js\",\n \"bin\": {\n \"canvas\": \"./dist/index.js\"\n },\n \"type\": \"module\",\n \"scripts\": {\n \"start\": \"node dist/index.js\",\n \"build\": \"NODE_ENV=production tsup\",\n \"dev\": \"NODE_ENV=development tsup --watch\",\n \"test:vitest\": \"vitest run\",\n \"watch:test\": \"vitest watch\",\n \"test\": \"npx npm-run-all --parallel --continue-on-error test:*\",\n \"type-check\": \"tsc --noEmit --pretty\"\n },\n \"files\": [\n \"dist\",\n \"README.md\"\n ],\n \"keywords\": [\n \"canvas\",\n \"drupal\",\n \"cli\"\n ],\n \"devDependencies\": {\n \"@eslint/eslintrc\": \"^3.3.0\",\n \"@eslint/js\": \"^9.22.0\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/node\": \"^24.0.0\",\n \"@typescript-eslint/eslint-plugin\": \"^8.31.1\",\n \"@typescript-eslint/parser\": \"^8.31.1\",\n \"eslint\": \"^9.22.0\",\n \"eslint-config-prettier\": \"^9.1.0\",\n \"eslint-formatter-junit\": \"^8.40.0\",\n \"eslint-plugin-prettier\": \"^5.1.3\",\n \"globals\": \"^16.0.0\",\n \"msw\": \"^2.10.2\",\n \"prettier\": \"^3.2.1\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.8.3\",\n \"vitest\": \"^3.2.3\"\n },\n \"dependencies\": {\n \"@clack/prompts\": \"^0.11.0\",\n \"@swc/wasm\": \"^1.12.1\",\n \"axios\": \"^1.9.0\",\n \"chalk\": \"^5.4.1\",\n \"commander\": \"^14.0.0\",\n \"dotenv\": \"^16.5.0\",\n \"js-yaml\": \"^4.1.0\",\n \"lightningcss\": \"^1.30.1\",\n \"table\": \"^6.9.0\",\n \"tailwindcss-in-browser\": \"^0.3.0\"\n },\n \"version\": \"0.1.1\"\n}\n","import fs from 'fs';\nimport path from 'path';\nimport dotenv from 'dotenv';\nimport * as p from '@clack/prompts';\n\n// Load environment variables.\nexport function loadEnvFiles() {\n // Load from the user's home directory (for global settings).\n const homeDir = process.env.HOME || process.env.USERPROFILE || '';\n if (homeDir) {\n const homeEnvPath = path.resolve(homeDir, '.canvasrc');\n if (fs.existsSync(homeEnvPath)) {\n dotenv.config({ path: homeEnvPath });\n }\n }\n // Then load from the current directory so the local .env file takes precedence.\n const localEnvPath = path.resolve(process.cwd(), '.env');\n if (fs.existsSync(localEnvPath)) {\n dotenv.config({ path: localEnvPath });\n }\n}\n\n// Load environment variables before creating config.\nloadEnvFiles();\n\nexport interface Config {\n siteUrl: string;\n clientId: string;\n clientSecret: string;\n scope: string;\n componentDir: string;\n verbose: boolean;\n all?: boolean;\n}\n\nlet config: Config = {\n siteUrl: process.env.CANVAS_SITE_URL || '',\n clientId: process.env.CANVAS_CLIENT_ID || '',\n clientSecret: process.env.CANVAS_CLIENT_SECRET || '',\n scope: process.env.CANVAS_SCOPE || 'canvas:js_component canvas:asset_library',\n componentDir: process.env.CANVAS_COMPONENT_DIR || './components',\n verbose: process.env.CANVAS_VERBOSE === 'true',\n};\n\nexport function getConfig(): Config {\n return config;\n}\n\nexport function setConfig(newConfig: Partial<Config>): void {\n config = { ...config, ...newConfig };\n}\n\nexport type ConfigKey = keyof Config;\n\nexport async function ensureConfig(requiredKeys: ConfigKey[]): Promise<void> {\n const config = getConfig();\n const missingKeys = requiredKeys.filter((key) => !config[key]);\n\n for (const key of missingKeys) {\n await promptForConfig(key);\n }\n}\n\nexport async function promptForConfig(key: ConfigKey): Promise<void> {\n switch (key) {\n case 'siteUrl': {\n const value = await p.text({\n message: 'Enter the site URL',\n placeholder: 'https://example.com',\n validate: (value) => {\n if (!value) return 'Site URL is required';\n if (!value.startsWith('http'))\n return 'URL must start with http:// or https://';\n return;\n },\n });\n\n if (p.isCancel(value)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n setConfig({ siteUrl: value });\n break;\n }\n\n case 'clientId': {\n const value = await p.text({\n message: 'Enter your client ID',\n validate: (value) => {\n if (!value) return 'Client ID is required';\n return;\n },\n });\n\n if (p.isCancel(value)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n setConfig({ clientId: value });\n break;\n }\n\n case 'clientSecret': {\n const value = await p.password({\n message: 'Enter your client secret',\n validate: (value) => {\n if (!value) return 'Client secret is required';\n return;\n },\n });\n\n if (p.isCancel(value)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n setConfig({ clientSecret: value });\n break;\n }\n\n case 'componentDir': {\n const value = await p.text({\n message: 'Enter the component directory',\n placeholder: './components',\n validate: (value) => {\n if (!value) return 'Component directory is required';\n return;\n },\n });\n\n if (p.isCancel(value)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n setConfig({ componentDir: value });\n break;\n }\n }\n}\n","import './lightningcss_node-1.29.3.wasm?url';\nvar uq=Object.create;var OE=Object.defineProperty;var dq=Object.getOwnPropertyDescriptor;var Dq=Object.getOwnPropertyNames;var Kq=Object.getPrototypeOf,vq=Object.prototype.hasOwnProperty;var jj=(A,j)=>()=>(j||A((j={exports:{}}).exports,j),j.exports),y=(A,j)=>{for(var F in j)OE(A,F,{get:j[F],enumerable:!0})},mq=(A,j,F,E)=>{if(j&&typeof j==\"object\"||typeof j==\"function\")for(let k of Dq(j))!vq.call(A,k)&&k!==F&&OE(A,k,{get:()=>j[k],enumerable:!(E=dq(j,k))||E.enumerable});return A};var xG=(A,j,F)=>(F=A!=null?uq(Kq(A)):{},mq(j||!A||!A.__esModule?OE(F,\"default\",{value:A,enumerable:!0}):F,A));var pG=jj(ME=>{\"use strict\";Object.defineProperty(ME,\"__esModule\",{value:!0});function wq(A,j){for(var F in j)Object.defineProperty(A,F,{enumerable:!0,get:j[F]})}wq(ME,{pattern:function(){return _q},withoutCapturing:function(){return IG},any:function(){return CG},optional:function(){return Mq},zeroOrMore:function(){return Rq},nestedBrackets:function(){return cG},escape:function(){return Ij}});var sG=/[\\\\^$.*+?()[\\]{}|]/g,yq=RegExp(sG.source);function Yj(A){return A=Array.isArray(A)?A:[A],A=A.map(j=>j instanceof RegExp?j.source:j),A.join(\"\")}function _q(A){return new RegExp(Yj(A),\"g\")}function IG(A){return new RegExp(`(?:${Yj(A)})`,\"g\")}function CG(A){return`(?:${A.map(Yj).join(\"|\")})`}function Mq(A){return`(?:${Yj(A)})?`}function Rq(A){return`(?:${Yj(A)})*`}function cG(A,j,F=1){return IG([Ij(A),/[^\\s]*/,F===1?`[^${Ij(A)}${Ij(j)}s]*`:CG([`[^${Ij(A)}${Ij(j)}s]*`,cG(A,j,F-1)]),/[^\\s]*/,Ij(j)])}function Ij(A){return A&&yq.test(A)?A.replace(sG,\"\\\\$&\"):A||\"\"}});var hG=jj(RE=>{\"use strict\";Object.defineProperty(RE,\"__esModule\",{value:!0});Object.defineProperty(RE,\"splitAtTopLevelOnly\",{enumerable:!0,get:function(){return Sq}});function Sq(A,j){let F=[],E=[],k=0,G=!1;for(let t=0;t<A.length;t++){let q=A[t];F.length===0&&q===j[0]&&!G&&(j.length===1||A.slice(t,t+j.length)===j)&&(E.push(A.slice(k,t)),k=t+j.length),G=G?!1:q===\"\\\\\",q===\"(\"||q===\"[\"||q===\"{\"?F.push(q):(q===\")\"&&F[F.length-1]===\"(\"||q===\"]\"&&F[F.length-1]===\"[\"||q===\"}\"&&F[F.length-1]===\"{\")&&F.pop()}return E.push(A.slice(k)),E}});var dG=jj(SE=>{\"use strict\";Object.defineProperty(SE,\"__esModule\",{value:!0});Object.defineProperty(SE,\"defaultExtractor\",{enumerable:!0,get:function(){return Jq}});var $A=zq(pG()),Nq=hG();function uG(A){if(typeof WeakMap!=\"function\")return null;var j=new WeakMap,F=new WeakMap;return(uG=function(E){return E?F:j})(A)}function zq(A,j){if(!j&&A&&A.__esModule)return A;if(A===null||typeof A!=\"object\"&&typeof A!=\"function\")return{default:A};var F=uG(j);if(F&&F.has(A))return F.get(A);var E={},k=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var G in A)if(G!==\"default\"&&Object.prototype.hasOwnProperty.call(A,G)){var t=k?Object.getOwnPropertyDescriptor(A,G):null;t&&(t.get||t.set)?Object.defineProperty(E,G,t):E[G]=A[G]}return E.default=A,F&&F.set(A,E),E}function Jq(A){let j=Array.from(Uq(A));return F=>{let E=[];for(let G of j){var k;for(let t of(k=F.match(G))!==null&&k!==void 0?k:[])E.push(Wq(t))}for(let G of E.slice()){let t=(0,Nq.splitAtTopLevelOnly)(G,\".\");for(let q=0;q<t.length;q++){let e=t[q];if(q>=t.length-1){E.push(e);continue}let r=Number(t[q+1]);isNaN(r)?E.push(e):q++}}return E}}function*Uq(A){let j=A.tailwindConfig.separator,F=A.tailwindConfig.prefix!==\"\"?$A.optional($A.pattern([/-?/,$A.escape(A.tailwindConfig.prefix)])):\"\",E=$A.any([/\\[[^\\s:'\"`]+:[^\\s\\[\\]]+\\]/,/\\[[^\\s:'\"`\\]]+:[^\\s]+?\\[[^\\s]+\\][^\\s]+?\\]/,$A.pattern([$A.any([/-?(?:\\w+)/,/@(?:\\w+)/]),$A.optional($A.any([$A.pattern([$A.any([/-(?:\\w+-)*\\['[^\\s]+'\\]/,/-(?:\\w+-)*\\[\"[^\\s]+\"\\]/,/-(?:\\w+-)*\\[`[^\\s]+`\\]/,/-(?:\\w+-)*\\[(?:[^\\s\\[\\]]+\\[[^\\s\\[\\]]+\\])*[^\\s:\\[\\]]+\\]/]),/(?![{([]])/,/(?:\\/[^\\s'\"`\\\\><$]*)?/]),$A.pattern([$A.any([/-(?:\\w+-)*\\['[^\\s]+'\\]/,/-(?:\\w+-)*\\[\"[^\\s]+\"\\]/,/-(?:\\w+-)*\\[`[^\\s]+`\\]/,/-(?:\\w+-)*\\[(?:[^\\s\\[\\]]+\\[[^\\s\\[\\]]+\\])*[^\\s\\[\\]]+\\]/]),/(?![{([]])/,/(?:\\/[^\\s'\"`\\\\$]*)?/]),/[-\\/][^\\s'\"`\\\\$={><]*/]))])]),k=[$A.any([$A.pattern([/@\\[[^\\s\"'`]+\\](\\/[^\\s\"'`]+)?/,j]),$A.pattern([/([^\\s\"'`\\[\\\\]+-)?\\[[^\\s\"'`]+\\]\\/[\\w_-]+/,j]),$A.pattern([/([^\\s\"'`\\[\\\\]+-)?\\[[^\\s\"'`]+\\]/,j]),$A.pattern([/[^\\s\"'`\\[\\\\]+/,j])]),$A.any([$A.pattern([/([^\\s\"'`\\[\\\\]+-)?\\[[^\\s`]+\\]\\/[\\w_-]+/,j]),$A.pattern([/([^\\s\"'`\\[\\\\]+-)?\\[[^\\s`]+\\]/,j]),$A.pattern([/[^\\s`\\[\\\\]+/,j])])];for(let G of k)yield $A.pattern([\"((?=((\",G,\")+))\\\\2)?\",/!?/,F,E]);yield/[^<>\"'`\\s.(){}[\\]#=%$][^<>\"'`\\s(){}[\\]#=%$]*[^<>\"'`\\s.(){}[\\]#=%:$]/g}var Vq=/([\\[\\]'\"`])([^\\[\\]'\"`])?/g,Qq=/[^\"'`\\s<>\\]]+/;function Wq(A){if(!A.includes(\"-[\"))return A;let j=0,F=[],E=A.matchAll(Vq);E=Array.from(E).flatMap(k=>{let[,...G]=k;return G.map((t,q)=>Object.assign([],k,{index:k.index+q,0:t}))});for(let k of E){let G=k[0],t=F[F.length-1];if(G===t?F.pop():(G===\"'\"||G==='\"'||G===\"`\")&&F.push(G),!t){if(G===\"[\"){j++;continue}else if(G===\"]\"){j--;continue}if(j<0)return A.substring(0,k.index-1);if(j===0&&!Qq.test(G))return A.substring(0,k.index)}}return A}});var Gr=jj(pF=>{\"use strict\";var kr=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");pF.encode=function(A){if(0<=A&&A<kr.length)return kr[A];throw new TypeError(\"Must be between 0 and 63: \"+A)};pF.decode=function(A){var j=65,F=90,E=97,k=122,G=48,t=57,q=43,e=47,r=26,n=52;return j<=A&&A<=F?A-j:E<=A&&A<=k?A-E+r:G<=A&&A<=t?A-G+n:A==q?62:A==e?63:-1}});var xr=jj(uF=>{\"use strict\";var tr=Gr(),hF=5,rr=1<<hF,er=rr-1,qr=rr;function n0(A){return A<0?(-A<<1)+1:(A<<1)+0}function $0(A){var j=(A&1)===1,F=A>>1;return j?-F:F}uF.encode=function(j){var F=\"\",E,k=n0(j);do E=k&er,k>>>=hF,k>0&&(E|=qr),F+=tr.encode(E);while(k>0);return F};uF.decode=function(j,F,E){var k=j.length,G=0,t=0,q,e;do{if(F>=k)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(e=tr.decode(j.charCodeAt(F++)),e===-1)throw new Error(\"Invalid base64 digit: \"+j.charAt(F-1));q=!!(e&qr),e&=er,G=G+(e<<t),t+=hF}while(q);E.value=$0(G),E.rest=F}});var $E=jj(uA=>{\"use strict\";function i0(A,j,F){if(j in A)return A[j];if(arguments.length===3)return F;throw new Error('\"'+j+'\" is a required argument.')}uA.getArg=i0;var lr=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,a0=/^data:.+\\,.+$/;function i6(A){var j=A.match(lr);return j?{scheme:j[1],auth:j[2],host:j[3],port:j[4],path:j[5]}:null}uA.urlParse=i6;function _j(A){var j=\"\";return A.scheme&&(j+=A.scheme+\":\"),j+=\"//\",A.auth&&(j+=A.auth+\"@\"),A.host&&(j+=A.host),A.port&&(j+=\":\"+A.port),A.path&&(j+=A.path),j}uA.urlGenerate=_j;var o0=32;function B0(A){var j=[];return function(F){for(var E=0;E<j.length;E++)if(j[E].input===F){var k=j[0];return j[0]=j[E],j[E]=k,j[0].result}var G=A(F);return j.unshift({input:F,result:G}),j.length>o0&&j.pop(),G}}var dF=B0(function(j){var F=j,E=i6(j);if(E){if(!E.path)return j;F=E.path}for(var k=uA.isAbsolute(F),G=[],t=0,q=0;;)if(t=q,q=F.indexOf(\"/\",t),q===-1){G.push(F.slice(t));break}else for(G.push(F.slice(t,q));q<F.length&&F[q]===\"/\";)q++;for(var e,r=0,q=G.length-1;q>=0;q--)e=G[q],e===\".\"?G.splice(q,1):e===\"..\"?r++:r>0&&(e===\"\"?(G.splice(q+1,r),r=0):(G.splice(q,2),r--));return F=G.join(\"/\"),F===\"\"&&(F=k?\"/\":\".\"),E?(E.path=F,_j(E)):F});uA.normalize=dF;function nr(A,j){A===\"\"&&(A=\".\"),j===\"\"&&(j=\".\");var F=i6(j),E=i6(A);if(E&&(A=E.path||\"/\"),F&&!F.scheme)return E&&(F.scheme=E.scheme),_j(F);if(F||j.match(a0))return j;if(E&&!E.host&&!E.path)return E.host=j,_j(E);var k=j.charAt(0)===\"/\"?j:dF(A.replace(/\\/+$/,\"\")+\"/\"+j);return E?(E.path=k,_j(E)):k}uA.join=nr;uA.isAbsolute=function(A){return A.charAt(0)===\"/\"||lr.test(A)};function s0(A,j){A===\"\"&&(A=\".\"),A=A.replace(/\\/$/,\"\");for(var F=0;j.indexOf(A+\"/\")!==0;){var E=A.lastIndexOf(\"/\");if(E<0||(A=A.slice(0,E),A.match(/^([^\\/]+:\\/)?\\/*$/)))return j;++F}return Array(F+1).join(\"../\")+j.substr(A.length+1)}uA.relative=s0;var $r=function(){var A=Object.create(null);return!(\"__proto__\"in A)}();function ir(A){return A}function I0(A){return ar(A)?\"$\"+A:A}uA.toSetString=$r?ir:I0;function C0(A){return ar(A)?A.slice(1):A}uA.fromSetString=$r?ir:C0;function ar(A){if(!A)return!1;var j=A.length;if(j<9||A.charCodeAt(j-1)!==95||A.charCodeAt(j-2)!==95||A.charCodeAt(j-3)!==111||A.charCodeAt(j-4)!==116||A.charCodeAt(j-5)!==111||A.charCodeAt(j-6)!==114||A.charCodeAt(j-7)!==112||A.charCodeAt(j-8)!==95||A.charCodeAt(j-9)!==95)return!1;for(var F=j-10;F>=0;F--)if(A.charCodeAt(F)!==36)return!1;return!0}function c0(A,j,F){var E=ej(A.source,j.source);return E!==0||(E=A.originalLine-j.originalLine,E!==0)||(E=A.originalColumn-j.originalColumn,E!==0||F)||(E=A.generatedColumn-j.generatedColumn,E!==0)||(E=A.generatedLine-j.generatedLine,E!==0)?E:ej(A.name,j.name)}uA.compareByOriginalPositions=c0;function p0(A,j,F){var E;return E=A.originalLine-j.originalLine,E!==0||(E=A.originalColumn-j.originalColumn,E!==0||F)||(E=A.generatedColumn-j.generatedColumn,E!==0)||(E=A.generatedLine-j.generatedLine,E!==0)?E:ej(A.name,j.name)}uA.compareByOriginalPositionsNoSource=p0;function h0(A,j,F){var E=A.generatedLine-j.generatedLine;return E!==0||(E=A.generatedColumn-j.generatedColumn,E!==0||F)||(E=ej(A.source,j.source),E!==0)||(E=A.originalLine-j.originalLine,E!==0)||(E=A.originalColumn-j.originalColumn,E!==0)?E:ej(A.name,j.name)}uA.compareByGeneratedPositionsDeflated=h0;function u0(A,j,F){var E=A.generatedColumn-j.generatedColumn;return E!==0||F||(E=ej(A.source,j.source),E!==0)||(E=A.originalLine-j.originalLine,E!==0)||(E=A.originalColumn-j.originalColumn,E!==0)?E:ej(A.name,j.name)}uA.compareByGeneratedPositionsDeflatedNoLine=u0;function ej(A,j){return A===j?0:A===null?1:j===null?-1:A>j?1:-1}function d0(A,j){var F=A.generatedLine-j.generatedLine;return F!==0||(F=A.generatedColumn-j.generatedColumn,F!==0)||(F=ej(A.source,j.source),F!==0)||(F=A.originalLine-j.originalLine,F!==0)||(F=A.originalColumn-j.originalColumn,F!==0)?F:ej(A.name,j.name)}uA.compareByGeneratedPositionsInflated=d0;function D0(A){return JSON.parse(A.replace(/^\\)]}'[^\\n]*\\n/,\"\"))}uA.parseSourceMapInput=D0;function K0(A,j,F){if(j=j||\"\",A&&(A[A.length-1]!==\"/\"&&j[0]!==\"/\"&&(A+=\"/\"),j=A+j),F){var E=i6(F);if(!E)throw new Error(\"sourceMapURL could not be parsed\");if(E.path){var k=E.path.lastIndexOf(\"/\");k>=0&&(E.path=E.path.substring(0,k+1))}j=nr(_j(E),j)}return dF(j)}uA.computeSourceURL=K0});var Br=jj(or=>{\"use strict\";var DF=$E(),KF=Object.prototype.hasOwnProperty,fj=typeof Map<\"u\";function qj(){this._array=[],this._set=fj?new Map:Object.create(null)}qj.fromArray=function(j,F){for(var E=new qj,k=0,G=j.length;k<G;k++)E.add(j[k],F);return E};qj.prototype.size=function(){return fj?this._set.size:Object.getOwnPropertyNames(this._set).length};qj.prototype.add=function(j,F){var E=fj?j:DF.toSetString(j),k=fj?this.has(j):KF.call(this._set,E),G=this._array.length;(!k||F)&&this._array.push(j),k||(fj?this._set.set(j,G):this._set[E]=G)};qj.prototype.has=function(j){if(fj)return this._set.has(j);var F=DF.toSetString(j);return KF.call(this._set,F)};qj.prototype.indexOf=function(j){if(fj){var F=this._set.get(j);if(F>=0)return F}else{var E=DF.toSetString(j);if(KF.call(this._set,E))return this._set[E]}throw new Error('\"'+j+'\" is not in the set.')};qj.prototype.at=function(j){if(j>=0&&j<this._array.length)return this._array[j];throw new Error(\"No element indexed by \"+j)};qj.prototype.toArray=function(){return this._array.slice()};or.ArraySet=qj});var Cr=jj(Ir=>{\"use strict\";var sr=$E();function v0(A,j){var F=A.generatedLine,E=j.generatedLine,k=A.generatedColumn,G=j.generatedColumn;return E>F||E==F&&G>=k||sr.compareByGeneratedPositionsInflated(A,j)<=0}function iE(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}iE.prototype.unsortedForEach=function(j,F){this._array.forEach(j,F)};iE.prototype.add=function(j){v0(this._last,j)?(this._last=j,this._array.push(j)):(this._sorted=!1,this._array.push(j))};iE.prototype.toArray=function(){return this._sorted||(this._array.sort(sr.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};Ir.MappingList=iE});var pr=jj(cr=>{\"use strict\";var a6=xr(),BA=$E(),aE=Br().ArraySet,m0=Cr().MappingList;function wA(A){A||(A={}),this._file=BA.getArg(A,\"file\",null),this._sourceRoot=BA.getArg(A,\"sourceRoot\",null),this._skipValidation=BA.getArg(A,\"skipValidation\",!1),this._ignoreInvalidMapping=BA.getArg(A,\"ignoreInvalidMapping\",!1),this._sources=new aE,this._names=new aE,this._mappings=new m0,this._sourcesContents=null}wA.prototype._version=3;wA.fromSourceMap=function(j,F){var E=j.sourceRoot,k=new wA(Object.assign(F||{},{file:j.file,sourceRoot:E}));return j.eachMapping(function(G){var t={generated:{line:G.generatedLine,column:G.generatedColumn}};G.source!=null&&(t.source=G.source,E!=null&&(t.source=BA.relative(E,t.source)),t.original={line:G.originalLine,column:G.originalColumn},G.name!=null&&(t.name=G.name)),k.addMapping(t)}),j.sources.forEach(function(G){var t=G;E!==null&&(t=BA.relative(E,G)),k._sources.has(t)||k._sources.add(t);var q=j.sourceContentFor(G);q!=null&&k.setSourceContent(G,q)}),k};wA.prototype.addMapping=function(j){var F=BA.getArg(j,\"generated\"),E=BA.getArg(j,\"original\",null),k=BA.getArg(j,\"source\",null),G=BA.getArg(j,\"name\",null);!this._skipValidation&&this._validateMapping(F,E,k,G)===!1||(k!=null&&(k=String(k),this._sources.has(k)||this._sources.add(k)),G!=null&&(G=String(G),this._names.has(G)||this._names.add(G)),this._mappings.add({generatedLine:F.line,generatedColumn:F.column,originalLine:E!=null&&E.line,originalColumn:E!=null&&E.column,source:k,name:G}))};wA.prototype.setSourceContent=function(j,F){var E=j;this._sourceRoot!=null&&(E=BA.relative(this._sourceRoot,E)),F!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[BA.toSetString(E)]=F):this._sourcesContents&&(delete this._sourcesContents[BA.toSetString(E)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};wA.prototype.applySourceMap=function(j,F,E){var k=F;if(F==null){if(j.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's \"file\" property. Both were omitted.`);k=j.file}var G=this._sourceRoot;G!=null&&(k=BA.relative(G,k));var t=new aE,q=new aE;this._mappings.unsortedForEach(function(e){if(e.source===k&&e.originalLine!=null){var r=j.originalPositionFor({line:e.originalLine,column:e.originalColumn});r.source!=null&&(e.source=r.source,E!=null&&(e.source=BA.join(E,e.source)),G!=null&&(e.source=BA.relative(G,e.source)),e.originalLine=r.line,e.originalColumn=r.column,r.name!=null&&(e.name=r.name))}var n=e.source;n!=null&&!t.has(n)&&t.add(n);var $=e.name;$!=null&&!q.has($)&&q.add($)},this),this._sources=t,this._names=q,j.sources.forEach(function(e){var r=j.sourceContentFor(e);r!=null&&(E!=null&&(e=BA.join(E,e)),G!=null&&(e=BA.relative(G,e)),this.setSourceContent(e,r))},this)};wA.prototype._validateMapping=function(j,F,E,k){if(F&&typeof F.line!=\"number\"&&typeof F.column!=\"number\"){var G=\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\";if(this._ignoreInvalidMapping)return typeof console<\"u\"&&console.warn&&console.warn(G),!1;throw new Error(G)}if(!(j&&\"line\"in j&&\"column\"in j&&j.line>0&&j.column>=0&&!F&&!E&&!k)){if(j&&\"line\"in j&&\"column\"in j&&F&&\"line\"in F&&\"column\"in F&&j.line>0&&j.column>=0&&F.line>0&&F.column>=0&&E)return;var G=\"Invalid mapping: \"+JSON.stringify({generated:j,source:E,original:F,name:k});if(this._ignoreInvalidMapping)return typeof console<\"u\"&&console.warn&&console.warn(G),!1;throw new Error(G)}};wA.prototype._serializeMappings=function(){for(var j=0,F=1,E=0,k=0,G=0,t=0,q=\"\",e,r,n,$,i=this._mappings.toArray(),s=0,o=i.length;s<o;s++){if(r=i[s],e=\"\",r.generatedLine!==F)for(j=0;r.generatedLine!==F;)e+=\";\",F++;else if(s>0){if(!BA.compareByGeneratedPositionsInflated(r,i[s-1]))continue;e+=\",\"}e+=a6.encode(r.generatedColumn-j),j=r.generatedColumn,r.source!=null&&($=this._sources.indexOf(r.source),e+=a6.encode($-t),t=$,e+=a6.encode(r.originalLine-1-k),k=r.originalLine-1,e+=a6.encode(r.originalColumn-E),E=r.originalColumn,r.name!=null&&(n=this._names.indexOf(r.name),e+=a6.encode(n-G),G=n)),q+=e}return q};wA.prototype._generateSourcesContent=function(j,F){return j.map(function(E){if(!this._sourcesContents)return null;F!=null&&(E=BA.relative(F,E));var k=BA.toSetString(E);return Object.prototype.hasOwnProperty.call(this._sourcesContents,k)?this._sourcesContents[k]:null},this)};wA.prototype.toJSON=function(){var j={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(j.file=this._file),this._sourceRoot!=null&&(j.sourceRoot=this._sourceRoot),this._sourcesContents&&(j.sourcesContent=this._generateSourcesContent(j.sources,j.sourceRoot)),j};wA.prototype.toString=function(){return JSON.stringify(this.toJSON())};cr.SourceMapGenerator=wA});var lG=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array],D=[],H6=class{scopes=[];referenceId=1;references=new Map;deferred=[null];wrappedObjects=new WeakMap;externalObjects=new WeakMap;buffers=new Map;instanceData=0;pendingException=null;constructor(j){this.id=D.length,D.push(this),this.instance=j,this.table=j.exports.__indirect_function_table,this.exports={},this.pushScope();let F=this.scopes[this.scopes.length-1],E=F.length;F.push(this.exports);try{this.instance.exports.napi_register_module_v1&&this.instance.exports.napi_register_module_v1(this.id,E),this.instance.exports.napi_register_wasm_v1&&this.instance.exports.napi_register_wasm_v1(this.id,E)}finally{if(this.popScope(),this.pendingException){let k=this.pendingException;throw this.pendingException=null,k}}}destroy(){D[this.id]=void 0}getString(j,F=Pq(this.memory,j)){return nG.decode(this.memory.subarray(j,Math.max(0,j+F)))}pushScope(){let j=this.scopes.length;return this.scopes.push(j?[...this.scopes[j-1]]:[void 0,null,globalThis,!0,!1]),j}popScope(){this.scopes.pop();for(let[j,F]of this.buffers)j.byteLength&&F.byteLength&&j.set(F);this.buffers.clear()}get(j){return this.scopes[this.scopes.length-1][j]}set(j,F){this.scopes[this.scopes.length-1][j]=F}pushValue(j,F=this.scopes.length-1){let E=this.scopes[F],k=E.length;return E.push(j),k}createValue(j,F,E){if(typeof j==\"boolean\")return this.setPointer(F,j?3:4),0;if(typeof j>\"u\")return this.setPointer(F,0),0;if(j===null)return this.setPointer(F,1),0;if(j===globalThis)return this.setPointer(F,2),0;let k=this.pushValue(j,E);return this.setPointer(F,k),0}setPointer(j,F){return this.u32[j>>2]=F,0}_u32=new Uint32Array;get u32(){return this._u32.byteLength===0&&(this._u32=new Uint32Array(this.instance.exports.memory.buffer)),this._u32}_i32=new Int32Array;get i32(){return this._i32.byteLength===0&&(this._i32=new Int32Array(this.instance.exports.memory.buffer)),this._i32}_u16=new Uint16Array;get u16(){return this._u16.byteLength===0&&(this._u16=new Uint16Array(this.instance.exports.memory.buffer)),this._u16}_u64=new BigUint64Array;get u64(){return this._u64.byteLength===0&&(this._u64=new BigUint64Array(this.instance.exports.memory.buffer)),this._u64}_i64=new BigInt64Array;get i64(){return this._i64.byteLength===0&&(this._i64=new BigInt64Array(this.instance.exports.memory.buffer)),this._i64}_f64=new Float64Array;get f64(){return this._f64.byteLength===0&&(this._f64=new Float64Array(this.instance.exports.memory.buffer)),this._f64}_buf=new Uint8Array;get memory(){return this._buf.byteLength===0&&(this._buf=new Uint8Array(this.instance.exports.memory.buffer)),this._buf}getBufferInfo(j,F){if(this.buffers.has(j)){let k=this.buffers.get(j);return this.setPointer(F,k.byteOffset),k.byteLength}if(j instanceof ArrayBuffer){let k=this.copyBuffer(new Uint8Array(j));return this.setPointer(F,k.byteOffset),k.byteLength}if(j.buffer===this.instance.exports.memory.buffer)return this.setPointer(F,j.byteOffset),j.byteLength;let E=this.copyBuffer(new Uint8Array(j.buffer,j.byteOffset,j.byteLength));return this.setPointer(F,E.byteOffset),E.byteLength}copyBuffer(j){let F=this.instance.exports.napi_wasm_malloc(j.byteLength),E=this.memory;E.set(j,F);let k=E.subarray(F,F+j.byteLength),G=(t,q)=>{this.instance.exports.napi_wasm_free&&this.instance.exports.napi_wasm_free(q)};return Ej.register(k,new zA(this.id,G,0,F)),this.buffers.set(j,k),k}createFunction(j,F){let E=this,k=E.table.get(j);return function(...t){let q=E.pushScope();try{let e=E.scopes[q],r=e.length;e.push({thisArg:this,args:t,data:F,newTarget:new.target});let n=k(E.id,r);return E.get(n)}finally{if(E.popScope(),E.pendingException){let e=E.pendingException;throw E.pendingException=null,e}}}}readPropertyDescriptor(j){let F=this.u32,E=F[j++],k=F[j++],G=F[j++],t=F[j++],q=F[j++],e=F[j++],r=F[j++],n=F[j++],$=E?this.getString(E):this.get(k),i=!!(r&1),s=!!(r&2),o=!!(r&4),c=!!(r&1024),p=t?this.createFunction(t,n):void 0,C=q?this.createFunction(q,n):void 0,h=G?this.createFunction(G,n):e?this.get(e):void 0,L={name:$,static:c,configurable:o,enumerable:s};return p||C?(L.get=p,L.set=C):h&&(L.writable=i,L.value=h),L}},nG=new TextDecoder(\"utf-8\",{ignoreBOM:!0,fatal:!0}),fq=new TextDecoder(\"latin1\"),gq=new TextDecoder(\"utf-16\"),Hq=new TextEncoder,zA=class{constructor(j,F,E,k){this.env=j,this.finalize=F,this.hint=E,this.data=k}},Ej=new FinalizationRegistry(A=>{A.finalize&&A.finalize(A.env,A.data,A.hint)}),P6=class{},Wj=[],TE=class{constructor(j,F,E,k){this.env=j,this.fn=F,this.nativeFn=E,this.context=k,this.id=Wj.length,Wj.push(this)}},Pj=[null],bE=class{constructor(j,F,E,k){this.env=j,this.execute=F,this.complete=E,this.data=k,this.id=Pj.length,Pj.push(this)}},X6={napi_open_handle_scope(A,j){let F=D[A],E=F.pushScope();return F.setPointer(j,E)},napi_close_handle_scope(A,j){let F=D[A];return j!==F.scopes.length-1?13:(F.popScope(),0)},napi_open_escapable_handle_scope(A,j){let F=D[A],E=F.pushScope();return F.setPointer(j,E)},napi_close_escapable_handle_scope(A,j){let F=D[A];return j!==F.scopes.length-1?13:(F.popScope(),0)},napi_escape_handle(A,j,F,E){let k=D[A],G=k.get(F);return k.createValue(G,E,j-1)},napi_create_object(A,j){return D[A].createValue({},j)},napi_set_property(A,j,F,E){let k=D[A],G=k.get(j),t=k.get(F),q=k.get(E);return G[t]=q,0},napi_get_property(A,j,F,E){let k=D[A],G=k.get(j),t=k.get(F);return k.createValue(G[t],E)},napi_delete_property(A,j,F,E){let k=D[A],G=k.get(j),t=k.get(F),q=!1;try{q=delete G[t]}catch{}return E&&(k.memory[E]=q?1:0),0},napi_has_property(A,j,F,E){let k=D[A],G=k.get(j),t=k.get(F);return k.memory[E]=t in G?1:0,0},napi_has_own_property(A,j,F,E){let k=D[A],G=k.get(j),t=k.get(F);return k.memory[E]=G.hasOwnProperty(t)?1:0,0},napi_set_named_property(A,j,F,E){let k=D[A],G=k.get(j),t=k.get(E),q=k.getString(F);return G[q]=t,0},napi_get_named_property(A,j,F,E){let k=D[A],G=k.get(j),t=k.getString(F);return k.createValue(G[t],E)},napi_has_named_property(A,j,F,E){let k=D[A],G=k.get(j),t=k.getString(F);return k.memory[E]=t in G?1:0,0},napi_get_property_names(A,j,F){let E=D[A],k=E.get(j),G=Object.keys(k);return E.createValue(G,F)},napi_get_all_property_names(A,j,F,E,k,G){throw new Error(\"not implemented\")},napi_define_properties(A,j,F,E){let k=D[A],G=k.get(j),t=E>>2;for(let q=0;q<F;q++){let e=k.readPropertyDescriptor(t);Object.defineProperty(G,e.name,e),t+=8}return 0},napi_object_freeze(A,j){let E=D[A].get(j);return Object.freeze(E),0},napi_object_seal(A,j){let E=D[A].get(j);return Object.seal(E),0},napi_get_prototype(A,j,F){let E=D[A],k=E.get(j);return E.createValue(Object.getPrototypeOf(k),F)},napi_define_class(A,j,F,E,k,G,t,q){let e=D[A],r=e.createFunction(E,k);Object.defineProperty(r,\"name\",{value:e.getString(j,F),configurable:!0});let n=t>>2;for(let $=0;$<G;$++){let i=e.readPropertyDescriptor(n);i.static?Object.defineProperty(r,i.name,i):Object.defineProperty(r.prototype,i.name,i),n+=8}return e.createValue(r,q)},napi_create_reference(A,j,F,E){let k=D[A],G=k.referenceId++;return k.references.set(G,{value:k.get(j),refcount:F}),k.setPointer(E,G)},napi_delete_reference(A,j){return D[A].references.delete(j),0},napi_get_reference_value(A,j,F){let E=D[A],k=E.references.get(j);return E.createValue(k.value,F)},napi_reference_ref(A,j,F){let E=D[A],k=E.references.get(j);return k.refcount++,E.setPointer(F,k.refcount)},napi_reference_unref(A,j,F){let E=D[A],k=E.references.get(j);return k.refcount===0?9:(k.refcount--,E.setPointer(F,k.refcount))},napi_add_env_cleanup_hook(){return 0},napi_remove_env_cleanup_hook(){return 0},napi_add_async_cleanup_hook(){return 0},napi_remove_async_cleanup_hook(){return 0},napi_set_instance_data(A,j,F,E){let k=D[A];return k.instanceData=j,0},napi_get_instance_data(A,j){let F=D[A];return F.setPointer(j,F.instanceData)},napi_get_boolean(A,j,F){return D[A].setPointer(F,j?3:4)},napi_get_value_bool(A,j,F){let E=D[A],k=E.get(j);return typeof k!=\"boolean\"?7:(E.memory[F]=k?1:0,0)},napi_create_int32(A,j,F){return D[A].createValue(j,F)},napi_get_value_int32(A,j,F){let E=D[A],k=E.get(j);return typeof k!=\"number\"?6:(E.i32[F>>2]=k,0)},napi_create_uint32(A,j,F){return D[A].createValue(j,F)},napi_get_value_uint32(A,j,F){let E=D[A],k=E.get(j);return typeof k!=\"number\"?6:E.setPointer(F,k)},napi_create_int64(A,j,F){return D[A].createValue(Number(j),F)},napi_get_value_int64(A,j,F){let E=D[A],k=E.get(j);return typeof k!=\"number\"?6:(E.i64[F>>3]=k,0)},napi_create_double(A,j,F){return D[A].createValue(j,F)},napi_get_value_double(A,j,F){let E=D[A],k=E.get(j);return typeof k!=\"number\"?6:(E.f64[F>>3]=k,0)},napi_create_bigint_int64(A,j,F){return D[A].createValue(BigInt.asIntN(64,j),F)},napi_get_value_bigint_int64(A,j,F,E){let k=D[A],G=k.get(j);return typeof G!=\"bigint\"?17:(k.i64[F>>3]=G,E&&(k.memory[E]=BigInt.asIntN(64,G)===G?1:0),0)},napi_create_bigint_uint64(A,j,F){return D[A].createValue(BigInt.asUintN(64,j),F)},napi_get_value_bigint_uint64(A,j,F,E){let k=D[A],G=k.get(j);return typeof G!=\"bigint\"?17:(k.u64[F>>3]=G,E&&(k.memory[E]=BigInt.asUintN(64,G)===G?1:0),0)},napi_create_bigint_words(A,j,F,E,k){let G=D[A],t=G.u64,q=E>>3,e=0n,r=0n;for(let n=0;n<F;n++){let $=t[q++];e+=$<<r,r+=64n}return e*=BigInt((-1)**j),G.createValue(e,k)},napi_get_value_bigint_words(A,j,F,E,k){let G=D[A],t=G.get(j);if(typeof t!=\"bigint\")return 17;let q=G.u32[E>>2];F&&(G.i32[F]=t<0n?1:0);let e=0;if(k){let r=(1n<<64n)-1n,n=G.u64,$=k>>3;for(t<0n&&(t=-t);e<q&&t!==0n;e++)n[$++]=t&r,t>>=64n}for(;t>0n;)e++,t>>=64n;return G.setPointer(E,e)},napi_get_null(A,j){return D[A].setPointer(j,1)},napi_create_array(A,j){return D[A].createValue([],j)},napi_create_array_with_length(A,j,F){return D[A].createValue(new Array(j),F)},napi_set_element(A,j,F,E){let k=D[A],G=k.get(j),t=k.get(E);return G[F]=t,0},napi_get_element(A,j,F,E){let k=D[A],t=k.get(j)[F];return k.createValue(t,E)},napi_has_element(A,j,F,E){let k=D[A],G=k.get(j);return k.memory[E]=G.hasOwnProperty(F)?1:0,0},napi_delete_element(A,j,F,E){let k=D[A],G=k.get(j),t=!1;try{t=delete G[F]}catch{}return E&&(k.memory[E]=t?1:0),0},napi_get_array_length(A,j,F){let E=D[A],k=E.get(j);return E.setPointer(F,k.length)},napi_get_undefined(A,j){return D[A].setPointer(j,0)},napi_create_function(A,j,F,E,k,G){let t=D[A],q=t.createFunction(E,k);return Object.defineProperty(q,\"name\",{value:t.getString(j,F),configurable:!0}),t.createValue(q,G)},napi_call_function(A,j,F,E,k,G){let t=D[A],q=t.get(j),e=t.get(F),r=new Array(E),n=t.u32;for(let $=0;$<E;$++)r[$]=t.get(n[k>>2]),k+=4;try{let $=e.apply(q,r);return t.createValue($,G)}catch($){return t.pendingException=$,10}},napi_new_instance(A,j,F,E,k){let G=D[A],t=G.get(j),q=new Array(F),e=G.u32;for(let r=0;r<F;r++)q[r]=G.get(e[E>>2]),E+=4;try{let r=new t(...q);return G.createValue(r,k)}catch(r){return G.pendingException=r,10}},napi_get_cb_info(A,j,F,E,k,G){let t=D[A],q=t.get(j);t.setPointer(F,q.args.length);for(let e=0;e<q.args.length;e++)t.createValue(q.args[e],E),E+=4;return t.createValue(q.thisArg,k),t.setPointer(G,q.data),0},napi_get_new_target(A,j,F){let E=D[A],k=E.get(j);return E.createValue(k.newTarget,F)},napi_create_threadsafe_function(A,j,F,E,k,G,t,q,e,r,n){let $=D[A],i=j?$.get(j):void 0,s=r?$.table.get(r):void 0,o=new TE($,i,s,e);if(q){let c=$.table.get(q);Ej.register(o,new zA(A,c,0,o.id))}return $.setPointer(n,o.id),0},napi_ref_threadsafe_function(){return 0},napi_unref_threadsafe_function(){return 0},napi_acquire_threadsafe_function(){return 0},napi_release_threadsafe_function(A,j){return Wj[A]=void 0,0},napi_call_threadsafe_function(A,j,F){let E=Wj[A];E.env.pushScope();try{if(E.nativeFn){let k=E.fn?E.env.pushValue(E.fn):0;E.nativeFn(E.env.id,k,E.context,j)}else E.fn&&E.fn()}finally{E.env.popScope()}},napi_get_threadsafe_function_context(A,j){let F=Wj[A];return F.env.setPointer(j,F.context),0},napi_create_async_work(A,j,F,E,k,G,t){let q=D[A],e=E?q.table.get(E):void 0,r=k?q.table.get(k):void 0,n=new bE(q,e,r,G);return q.setPointer(t,n.id),0},napi_delete_async_work(A,j){return Pj[j]=void 0,0},napi_queue_async_work(A,j){return queueMicrotask(()=>{let F=Pj[j];F&&(F.execute(A,F.data),F.complete(A,0,F.data))}),0},napi_cancel_async_work(){let A=Pj[work];return A.complete(env,11,A.data),Pj[work]=void 0,0},napi_throw(A,j){let F=D[A];return F.pendingException=F.get(j),0},napi_throw_error(A,j,F){let E=D[A],k=new Error(E.getString(F));return k.code=j,E.pendingException=k,0},napi_throw_type_error(A,j,F){let E=D[A],k=new TypeError(E.getString(F));return k.code=j,E.pendingException=k,0},napi_throw_range_error(A,j,F){let E=D[A],k=new RangeError(E.getString(F));return k.code=j,E.pendingException=k,0},napi_create_error(A,j,F,E){let k=D[A],G=new Error(k.get(F));return G.code=k.get(j),k.createValue(G,E)},napi_create_type_error(A,j,F,E){let k=D[A],G=new TypeError(k.get(F));return G.code=k.get(j),k.createValue(G,E)},napi_create_range_error(A,j,F,E){let k=D[A],G=new RangeError(k.get(F));return G.code=k.get(j),k.createValue(G,E)},napi_get_and_clear_last_exception(A,j){let F=D[A],E=F.pendingException;return F.pendingException=null,F.createValue(E,j)},napi_is_exception_pending(A,j){let F=D[A];return F.memory[j]=F.pendingException?1:0,0},napi_fatal_exception(A,j){throw new Error(\"not implemented\")},napi_fatal_error(A,j,F,E){throw new Error(\"not implemented\")},napi_get_global(A,j){return D[A].setPointer(j,2)},napi_create_buffer(A,j,F,E){let k=D[A],G=k.instance.exports.napi_wasm_malloc(j);F&&k.setPointer(F,G);let t=typeof globalThis.Buffer<\"u\"?globalThis.Buffer.from(k.memory.buffer,G,j):k.memory.subarray(G,G+j),q=(e,r)=>{k.instance.exports.napi_wasm_free&&k.instance.exports.napi_wasm_free(r)};return Ej.register(t,new zA(A,q,0,G)),k.createValue(t,E)},napi_create_buffer_copy(A,j,F,E,k){let G=D[A],t=G.instance.exports.napi_wasm_malloc(j);G.memory.set(G.memory.subarray(F,F+j),t),E&&G.setPointer(E,t);let q=typeof globalThis.Buffer<\"u\"?globalThis.Buffer.from(G.memory.buffer,t,j):G.memory.subarray(t,t+j),e=(r,n)=>{G.instance.exports.napi_wasm_free&&G.instance.exports.napi_wasm_free(n)};return Ej.register(buf,new zA(A,e,0,t)),G.createValue(q,k)},napi_create_external_buffer(A,j,F,E,k,G){let t=D[A],q=typeof globalThis.Buffer<\"u\"?globalThis.Buffer.from(t.memory.buffer,F,j):t.memory.subarray(F,F+j);if(E){let e=t.table.get(E);Ej.register(q,new zA(A,e,k,F))}return t.createValue(q,G)},napi_get_buffer_info(A,j,F,E){let k=D[A],G=k.get(j),t=k.getBufferInfo(G,F);return k.setPointer(E,t)},napi_create_arraybuffer(A,j,F,E){let k=D[A],G=new ArrayBuffer(j);return F&&k.getBufferInfo(G,F),k.createValue(G,E)},napi_create_external_arraybuffer(A,j,F,E,k,G){return 22},napi_get_arraybuffer_info(A,j,F,E){let k=D[A],G=k.getBufferInfo(k.get(j),F);return k.setPointer(E,G)},napi_detach_arraybuffer(A,j){let E=D[A].get(j);return typeof structuredClone==\"function\"&&structuredClone(E,{transfer:[E]}),0},napi_is_detached_arraybuffer(A,j,F){let E=D[A],k=E.get(j);return E.memory[F]=k.byteLength===0?1:0,0},napi_create_typedarray(A,j,F,E,k,G){let t=D[A],q=lG[j],e=t.get(E),r=new q(e,k,F);return t.createValue(r,G)},napi_create_dataview(A,j,F,E,k){let G=D[A],t=G.get(F),q=new DataView(t,E,j);return G.createValue(q,k)},napi_get_typedarray_info(A,j,F,E,k,G,t){let q=D[A],e=q.get(j);return q.setPointer(F,lG.findIndex(r=>e instanceof r)),q.setPointer(E,e.length),q.getBufferInfo(e,k),q.createValue(e.buffer,G),q.setPointer(t,e.byteOffset)},napi_get_dataview_info(A,j,F,E,k,G){let t=D[A],q=t.get(j);return t.setPointer(F,q.byteLength),t.getBufferInfo(q,E),t.createValue(q.buffer,k),t.setPointer(G,q.byteOffset)},napi_create_string_utf8(A,j,F,E){let k=D[A],G=nG.decode(k.memory.subarray(j,j+F));return k.createValue(G,E)},napi_get_value_string_utf8(A,j,F,E,k){let G=D[A],t=G.get(j);if(typeof t!=\"string\")return 3;if(F==0)return G.setPointer(k,Xq(t));let q=Hq.encodeInto(t,G.memory.subarray(F,F+E-1));return G.memory[F+q.written]=0,G.setPointer(k,q.written)},napi_create_string_latin1(A,j,F,E){let k=D[A],G=fq.decode(k.memory.subarray(j,j+F));return k.createValue(G,E)},napi_get_value_string_latin1(A,j,F,E,k){let G=D[A],t=G.get(j);if(typeof t!=\"string\")return 3;if(F==0)return G.setPointer(k,t.length);let q=G.memory,e=Math.min(t.length,E-1);for(let r=0;r<e;r++){let n=t.charCodeAt(r);q[F++]=n}return q[F]=0,G.setPointer(k,e)},napi_create_string_utf16(A,j,F,E){let k=D[A],G=gq.decode(k.memory.subarray(j,j+F*2));return k.createValue(G,E)},napi_get_value_string_utf16(A,j,F,E,k){let G=D[A],t=G.get(j);if(typeof t!=\"string\")return 3;if(F==0)return G.setPointer(k,t.length);let q=G.u16,e=F>>1,r=Math.min(t.length,E-1);for(let n=0;n<r;n++){let $=t.charCodeAt(n);q[e++]=$}return q[e]=0,G.setPointer(k,r)},napi_create_date(A,j,F){return D[A].createValue(new Date(j),F)},napi_get_date_value(A,j,F){let E=D[A],k=E.get(j);E.f64[F>>3]=k.valueOf()},napi_create_symbol(A,j,F){let E=D[A],k=E.get(j);return E.createValue(Symbol(k),F)},napi_coerce_to_bool(A,j,F){let E=D[A];return E.createValue(!!E.get(j),F)},napi_coerce_to_number(A,j,F){let E=D[A];return E.createValue(Number(E.get(j)),F)},napi_coerce_to_object(A,j,F){let E=D[A];return E.createValue(Object(E.get(j)),F)},napi_coerce_to_string(A,j,F){let E=D[A];return E.createValue(String(E.get(j)),F)},napi_typeof(A,j,F){let E=D[A],k=E.get(j);return E.setPointer(F,(()=>{switch(typeof k){case\"undefined\":return 0;case\"boolean\":return 2;case\"number\":return 3;case\"string\":return 4;case\"symbol\":return 5;case\"object\":return k===null?1:k instanceof P6?8:6;case\"function\":return 7;case\"bigint\":return 9}})())},napi_instanceof(A,j,F,E){let k=D[A],G=k.get(j),t=k.get(F);return k.memory[E]=G instanceof t?1:0,0},napi_is_array(A,j,F){let E=D[A],k=E.get(j);return E.memory[F]=Array.isArray(k)?1:0,0},napi_is_buffer(A,j,F){let E=D[A],k=E.get(j);return E.memory[F]=(typeof globalThis.Buffer<\"u\"?globalThis.Buffer.isBuffer(k):k instanceof Uint8Array)?1:0,0},napi_is_date(A,j,F){let E=D[A],k=E.get(j);return E.memory[F]=k instanceof Date?1:0,0},napi_is_error(A,j,F){let E=D[A],k=E.get(j);return E.memory[F]=k instanceof Error?1:0,0},napi_is_typedarray(A,j,F){let E=D[A],k=E.get(j);return E.memory[F]=ArrayBuffer.isView(k)&&!(k instanceof DataView)?1:0,0},napi_is_dataview(A,j,F){let E=D[A],k=E.get(j);return E.memory[F]=k instanceof DataView?1:0,0},napi_strict_equals(A,j,F,E){let k=D[A];return k.memory[E]=k.get(j)===k.get(F)?1:0,0},napi_wrap(A,j,F,E,k,G){let t=D[A],q=t.get(j);if(t.wrappedObjects.set(q,F),E){let e=t.table.get(E);Ej.register(q,new zA(A,e,k,F))}return G?X6.napi_create_reference(A,j,1,G):0},napi_unwrap(A,j,F){let E=D[A],k=E.get(j),G=E.wrappedObjects.get(k);return E.setPointer(F,G),0},napi_remove_wrap(A,j,F){let E=D[A],k=E.get(j),G=E.wrappedObjects.get(k);return Ej.unregister(k),E.wrappedObjects.delete(k),E.setPointer(F,G)},napi_type_tag_object(A,j,F){throw new Error(\"not implemented\")},napi_check_object_type_tag(A,j,F){throw new Error(\"not implemented\")},napi_add_finalizer(A,j,F,E,k,G){let t=D[A],q=t.get(j),e=t.table.get(E);return Ej.register(q,new zA(A,e,k,F)),G?X6.napi_create_reference(A,j,1,G):0},napi_create_promise(A,j,F){let E=D[A],k=new Promise((G,t)=>{let q=E.deferred.length;E.deferred.push({resolve:G,reject:t}),E.setPointer(j,q)});return E.createValue(k,F)},napi_resolve_deferred(A,j,F){let E=D[A],{resolve:k}=E.deferred[j],G=E.get(F);return k(G),E.deferred[j]=void 0,0},napi_reject_deferred(A,j,F){let E=D[A],{reject:k}=E.deferred[j],G=E.get(F);return k(G),E.deferred[j]=void 0,0},napi_is_promise(A,j,F){let E=D[A],k=E.get(j);return E.memory[F]=k instanceof Promise?1:0,0},napi_run_script(A,j,F){let E=D[A],k=E.get(j),G=(0,eval)(k);return E.createValue(G,F)},napi_create_external(A,j,F,E,k){let G=D[A],t=new P6;if(G.externalObjects.set(t,j),F){let q=G.table.get(F);Ej.register(t,new zA(A,q,E,j))}return G.createValue(t,k)},napi_get_value_external(A,j,F){let E=D[A],k=E.get(j),G=E.externalObjects.get(k);return G?E.setPointer(F,G):1},napi_adjust_external_memory(){return 0}};function Pq(A,j){let F=0;for(;A[j]!==0;)F++,j++;return F}function Xq(A){let j=0;for(let F=0;F<A.length;F++){let E=A.charCodeAt(F);if(E>=55296&&E<=56319&&F<A.length-1){let k=A.charCodeAt(++F);(k&64512)===56320?E=((E&1023)<<10)+(k&1023)+65536:F--}E&4294967168?E&4294965248?E&4294901760?E&4292870144||(j+=4):j+=3:j+=2:j++}return j}var $G;function iG(A,j,F){$G(A,j,F)}var wE={None:0,Unwinding:1,Rewinding:2};function aG(A){let{instance:j,exports:F}=A,{asyncify_get_state:E,asyncify_start_unwind:k,asyncify_stop_unwind:G,asyncify_start_rewind:t,asyncify_stop_rewind:q}=j.exports,e=j.exports.napi_wasm_malloc(4104),r=e+8,n=e+8+4096;new Int32Array(A.memory.buffer,e).set([r,n]);function $(){if(E()!==wE.None)throw new Error(`Invalid async state ${E()}, expected 0.`)}let i,s,o;return $G=(c,p,C)=>{if(E()===wE.Rewinding){q(),s!=null&&A.createValue(s,p),o!=null&&A.createValue(o,C),i=s=o=null;return}$(),i=A.get(c),k(e)},async function(p){$();let C=F.bundle(p);for(;E()===wE.Unwinding;){G();try{s=await i}catch(h){o=h}$(),t(e),C=F.bundle(p)}return $(),C}}var sj={Nesting:1,NotSelectorList:2,DirSelector:4,LangSelectorList:8,IsSelector:16,TextDecorationThicknessPercent:32,MediaIntervalSyntax:64,MediaRangeSyntax:128,CustomMediaQueries:256,ClampFunction:512,ColorFunction:1024,OklabColors:2048,LabColors:4096,P3Colors:8192,HexAlphaColors:16384,SpaceSeparatedColorNotation:32768,FontFamilySystemUi:65536,DoublePositionGradients:131072,VendorPrefixes:262144,LogicalProperties:524288,LightDark:1048576,Selectors:31,MediaQueries:448,Colors:1113088};var yE,L6,Lq;async function _E(A){if(yE)return;if(L6){await L6;return}A=A??new URL(\"lightningcss_node.wasm\",import.meta.url),(typeof A==\"string\"||typeof Request==\"function\"&&A instanceof Request||typeof URL==\"function\"&&A instanceof URL)&&(A=Tq(A));let j;L6=A.then(F=>Oq(F,{env:{...X6,await_promise_sync:iG,__getrandom_custom:(E,k)=>{let G=j.memory.subarray(E,E+k);crypto.getRandomValues(G)}}})).then(({instance:F})=>{F.exports.register_module(),j=new H6(F),Lq=aG(j),yE=j.exports}),await L6}function oG(A){return yE.transform(A)}async function Oq(A,j){if(typeof Response==\"function\"&&A instanceof Response){if(typeof WebAssembly.instantiateStreaming==\"function\")try{return await WebAssembly.instantiateStreaming(A,j)}catch(E){if(A.headers.get(\"Content-Type\")!=\"application/wasm\")console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",E);else throw E}let F=await A.arrayBuffer();return await WebAssembly.instantiate(F,j)}else{let F=await WebAssembly.instantiate(A,j);return F instanceof WebAssembly.Instance?{instance:F,module:A}:F}}async function Tq(A){try{return(await import(\"fs\")).readFileSync(A)}catch{return fetch(A)}}var BG=\"./lightningcss_node-1.29.3.wasm\";var hq=xG(dG(),1);var O6={inherit:\"inherit\",current:\"currentcolor\",transparent:\"transparent\",black:\"#000\",white:\"#fff\",slate:{50:\"oklch(98.4% 0.003 247.858)\",100:\"oklch(96.8% 0.007 247.896)\",200:\"oklch(92.9% 0.013 255.508)\",300:\"oklch(86.9% 0.022 252.894)\",400:\"oklch(70.4% 0.04 256.788)\",500:\"oklch(55.4% 0.046 257.417)\",600:\"oklch(44.6% 0.043 257.281)\",700:\"oklch(37.2% 0.044 257.287)\",800:\"oklch(27.9% 0.041 260.031)\",900:\"oklch(20.8% 0.042 265.755)\",950:\"oklch(12.9% 0.042 264.695)\"},gray:{50:\"oklch(98.5% 0.002 247.839)\",100:\"oklch(96.7% 0.003 264.542)\",200:\"oklch(92.8% 0.006 264.531)\",300:\"oklch(87.2% 0.01 258.338)\",400:\"oklch(70.7% 0.022 261.325)\",500:\"oklch(55.1% 0.027 264.364)\",600:\"oklch(44.6% 0.03 256.802)\",700:\"oklch(37.3% 0.034 259.733)\",800:\"oklch(27.8% 0.033 256.848)\",900:\"oklch(21% 0.034 264.665)\",950:\"oklch(13% 0.028 261.692)\"},zinc:{50:\"oklch(98.5% 0 0)\",100:\"oklch(96.7% 0.001 286.375)\",200:\"oklch(92% 0.004 286.32)\",300:\"oklch(87.1% 0.006 286.286)\",400:\"oklch(70.5% 0.015 286.067)\",500:\"oklch(55.2% 0.016 285.938)\",600:\"oklch(44.2% 0.017 285.786)\",700:\"oklch(37% 0.013 285.805)\",800:\"oklch(27.4% 0.006 286.033)\",900:\"oklch(21% 0.006 285.885)\",950:\"oklch(14.1% 0.005 285.823)\"},neutral:{50:\"oklch(98.5% 0 0)\",100:\"oklch(97% 0 0)\",200:\"oklch(92.2% 0 0)\",300:\"oklch(87% 0 0)\",400:\"oklch(70.8% 0 0)\",500:\"oklch(55.6% 0 0)\",600:\"oklch(43.9% 0 0)\",700:\"oklch(37.1% 0 0)\",800:\"oklch(26.9% 0 0)\",900:\"oklch(20.5% 0 0)\",950:\"oklch(14.5% 0 0)\"},stone:{50:\"oklch(98.5% 0.001 106.423)\",100:\"oklch(97% 0.001 106.424)\",200:\"oklch(92.3% 0.003 48.717)\",300:\"oklch(86.9% 0.005 56.366)\",400:\"oklch(70.9% 0.01 56.259)\",500:\"oklch(55.3% 0.013 58.071)\",600:\"oklch(44.4% 0.011 73.639)\",700:\"oklch(37.4% 0.01 67.558)\",800:\"oklch(26.8% 0.007 34.298)\",900:\"oklch(21.6% 0.006 56.043)\",950:\"oklch(14.7% 0.004 49.25)\"},red:{50:\"oklch(97.1% 0.013 17.38)\",100:\"oklch(93.6% 0.032 17.717)\",200:\"oklch(88.5% 0.062 18.334)\",300:\"oklch(80.8% 0.114 19.571)\",400:\"oklch(70.4% 0.191 22.216)\",500:\"oklch(63.7% 0.237 25.331)\",600:\"oklch(57.7% 0.245 27.325)\",700:\"oklch(50.5% 0.213 27.518)\",800:\"oklch(44.4% 0.177 26.899)\",900:\"oklch(39.6% 0.141 25.723)\",950:\"oklch(25.8% 0.092 26.042)\"},orange:{50:\"oklch(98% 0.016 73.684)\",100:\"oklch(95.4% 0.038 75.164)\",200:\"oklch(90.1% 0.076 70.697)\",300:\"oklch(83.7% 0.128 66.29)\",400:\"oklch(75% 0.183 55.934)\",500:\"oklch(70.5% 0.213 47.604)\",600:\"oklch(64.6% 0.222 41.116)\",700:\"oklch(55.3% 0.195 38.402)\",800:\"oklch(47% 0.157 37.304)\",900:\"oklch(40.8% 0.123 38.172)\",950:\"oklch(26.6% 0.079 36.259)\"},amber:{50:\"oklch(98.7% 0.022 95.277)\",100:\"oklch(96.2% 0.059 95.617)\",200:\"oklch(92.4% 0.12 95.746)\",300:\"oklch(87.9% 0.169 91.605)\",400:\"oklch(82.8% 0.189 84.429)\",500:\"oklch(76.9% 0.188 70.08)\",600:\"oklch(66.6% 0.179 58.318)\",700:\"oklch(55.5% 0.163 48.998)\",800:\"oklch(47.3% 0.137 46.201)\",900:\"oklch(41.4% 0.112 45.904)\",950:\"oklch(27.9% 0.077 45.635)\"},yellow:{50:\"oklch(98.7% 0.026 102.212)\",100:\"oklch(97.3% 0.071 103.193)\",200:\"oklch(94.5% 0.129 101.54)\",300:\"oklch(90.5% 0.182 98.111)\",400:\"oklch(85.2% 0.199 91.936)\",500:\"oklch(79.5% 0.184 86.047)\",600:\"oklch(68.1% 0.162 75.834)\",700:\"oklch(55.4% 0.135 66.442)\",800:\"oklch(47.6% 0.114 61.907)\",900:\"oklch(42.1% 0.095 57.708)\",950:\"oklch(28.6% 0.066 53.813)\"},lime:{50:\"oklch(98.6% 0.031 120.757)\",100:\"oklch(96.7% 0.067 122.328)\",200:\"oklch(93.8% 0.127 124.321)\",300:\"oklch(89.7% 0.196 126.665)\",400:\"oklch(84.1% 0.238 128.85)\",500:\"oklch(76.8% 0.233 130.85)\",600:\"oklch(64.8% 0.2 131.684)\",700:\"oklch(53.2% 0.157 131.589)\",800:\"oklch(45.3% 0.124 130.933)\",900:\"oklch(40.5% 0.101 131.063)\",950:\"oklch(27.4% 0.072 132.109)\"},green:{50:\"oklch(98.2% 0.018 155.826)\",100:\"oklch(96.2% 0.044 156.743)\",200:\"oklch(92.5% 0.084 155.995)\",300:\"oklch(87.1% 0.15 154.449)\",400:\"oklch(79.2% 0.209 151.711)\",500:\"oklch(72.3% 0.219 149.579)\",600:\"oklch(62.7% 0.194 149.214)\",700:\"oklch(52.7% 0.154 150.069)\",800:\"oklch(44.8% 0.119 151.328)\",900:\"oklch(39.3% 0.095 152.535)\",950:\"oklch(26.6% 0.065 152.934)\"},emerald:{50:\"oklch(97.9% 0.021 166.113)\",100:\"oklch(95% 0.052 163.051)\",200:\"oklch(90.5% 0.093 164.15)\",300:\"oklch(84.5% 0.143 164.978)\",400:\"oklch(76.5% 0.177 163.223)\",500:\"oklch(69.6% 0.17 162.48)\",600:\"oklch(59.6% 0.145 163.225)\",700:\"oklch(50.8% 0.118 165.612)\",800:\"oklch(43.2% 0.095 166.913)\",900:\"oklch(37.8% 0.077 168.94)\",950:\"oklch(26.2% 0.051 172.552)\"},teal:{50:\"oklch(98.4% 0.014 180.72)\",100:\"oklch(95.3% 0.051 180.801)\",200:\"oklch(91% 0.096 180.426)\",300:\"oklch(85.5% 0.138 181.071)\",400:\"oklch(77.7% 0.152 181.912)\",500:\"oklch(70.4% 0.14 182.503)\",600:\"oklch(60% 0.118 184.704)\",700:\"oklch(51.1% 0.096 186.391)\",800:\"oklch(43.7% 0.078 188.216)\",900:\"oklch(38.6% 0.063 188.416)\",950:\"oklch(27.7% 0.046 192.524)\"},cyan:{50:\"oklch(98.4% 0.019 200.873)\",100:\"oklch(95.6% 0.045 203.388)\",200:\"oklch(91.7% 0.08 205.041)\",300:\"oklch(86.5% 0.127 207.078)\",400:\"oklch(78.9% 0.154 211.53)\",500:\"oklch(71.5% 0.143 215.221)\",600:\"oklch(60.9% 0.126 221.723)\",700:\"oklch(52% 0.105 223.128)\",800:\"oklch(45% 0.085 224.283)\",900:\"oklch(39.8% 0.07 227.392)\",950:\"oklch(30.2% 0.056 229.695)\"},sky:{50:\"oklch(97.7% 0.013 236.62)\",100:\"oklch(95.1% 0.026 236.824)\",200:\"oklch(90.1% 0.058 230.902)\",300:\"oklch(82.8% 0.111 230.318)\",400:\"oklch(74.6% 0.16 232.661)\",500:\"oklch(68.5% 0.169 237.323)\",600:\"oklch(58.8% 0.158 241.966)\",700:\"oklch(50% 0.134 242.749)\",800:\"oklch(44.3% 0.11 240.79)\",900:\"oklch(39.1% 0.09 240.876)\",950:\"oklch(29.3% 0.066 243.157)\"},blue:{50:\"oklch(97% 0.014 254.604)\",100:\"oklch(93.2% 0.032 255.585)\",200:\"oklch(88.2% 0.059 254.128)\",300:\"oklch(80.9% 0.105 251.813)\",400:\"oklch(70.7% 0.165 254.624)\",500:\"oklch(62.3% 0.214 259.815)\",600:\"oklch(54.6% 0.245 262.881)\",700:\"oklch(48.8% 0.243 264.376)\",800:\"oklch(42.4% 0.199 265.638)\",900:\"oklch(37.9% 0.146 265.522)\",950:\"oklch(28.2% 0.091 267.935)\"},indigo:{50:\"oklch(96.2% 0.018 272.314)\",100:\"oklch(93% 0.034 272.788)\",200:\"oklch(87% 0.065 274.039)\",300:\"oklch(78.5% 0.115 274.713)\",400:\"oklch(67.3% 0.182 276.935)\",500:\"oklch(58.5% 0.233 277.117)\",600:\"oklch(51.1% 0.262 276.966)\",700:\"oklch(45.7% 0.24 277.023)\",800:\"oklch(39.8% 0.195 277.366)\",900:\"oklch(35.9% 0.144 278.697)\",950:\"oklch(25.7% 0.09 281.288)\"},violet:{50:\"oklch(96.9% 0.016 293.756)\",100:\"oklch(94.3% 0.029 294.588)\",200:\"oklch(89.4% 0.057 293.283)\",300:\"oklch(81.1% 0.111 293.571)\",400:\"oklch(70.2% 0.183 293.541)\",500:\"oklch(60.6% 0.25 292.717)\",600:\"oklch(54.1% 0.281 293.009)\",700:\"oklch(49.1% 0.27 292.581)\",800:\"oklch(43.2% 0.232 292.759)\",900:\"oklch(38% 0.189 293.745)\",950:\"oklch(28.3% 0.141 291.089)\"},purple:{50:\"oklch(97.7% 0.014 308.299)\",100:\"oklch(94.6% 0.033 307.174)\",200:\"oklch(90.2% 0.063 306.703)\",300:\"oklch(82.7% 0.119 306.383)\",400:\"oklch(71.4% 0.203 305.504)\",500:\"oklch(62.7% 0.265 303.9)\",600:\"oklch(55.8% 0.288 302.321)\",700:\"oklch(49.6% 0.265 301.924)\",800:\"oklch(43.8% 0.218 303.724)\",900:\"oklch(38.1% 0.176 304.987)\",950:\"oklch(29.1% 0.149 302.717)\"},fuchsia:{50:\"oklch(97.7% 0.017 320.058)\",100:\"oklch(95.2% 0.037 318.852)\",200:\"oklch(90.3% 0.076 319.62)\",300:\"oklch(83.3% 0.145 321.434)\",400:\"oklch(74% 0.238 322.16)\",500:\"oklch(66.7% 0.295 322.15)\",600:\"oklch(59.1% 0.293 322.896)\",700:\"oklch(51.8% 0.253 323.949)\",800:\"oklch(45.2% 0.211 324.591)\",900:\"oklch(40.1% 0.17 325.612)\",950:\"oklch(29.3% 0.136 325.661)\"},pink:{50:\"oklch(97.1% 0.014 343.198)\",100:\"oklch(94.8% 0.028 342.258)\",200:\"oklch(89.9% 0.061 343.231)\",300:\"oklch(82.3% 0.12 346.018)\",400:\"oklch(71.8% 0.202 349.761)\",500:\"oklch(65.6% 0.241 354.308)\",600:\"oklch(59.2% 0.249 0.584)\",700:\"oklch(52.5% 0.223 3.958)\",800:\"oklch(45.9% 0.187 3.815)\",900:\"oklch(40.8% 0.153 2.432)\",950:\"oklch(28.4% 0.109 3.907)\"},rose:{50:\"oklch(96.9% 0.015 12.422)\",100:\"oklch(94.1% 0.03 12.58)\",200:\"oklch(89.2% 0.058 10.001)\",300:\"oklch(81% 0.117 11.638)\",400:\"oklch(71.2% 0.194 13.428)\",500:\"oklch(64.5% 0.246 16.439)\",600:\"oklch(58.6% 0.253 17.585)\",700:\"oklch(51.4% 0.222 16.935)\",800:\"oklch(45.5% 0.188 13.697)\",900:\"oklch(41% 0.159 10.272)\",950:\"oklch(27.1% 0.105 12.094)\"}};var Yq=new Set([\"black\",\"silver\",\"gray\",\"white\",\"maroon\",\"red\",\"purple\",\"fuchsia\",\"green\",\"lime\",\"olive\",\"yellow\",\"navy\",\"blue\",\"teal\",\"aqua\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"black\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"rebeccapurple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\",\"transparent\",\"currentcolor\",\"canvas\",\"canvastext\",\"linktext\",\"visitedtext\",\"activetext\",\"buttonface\",\"buttontext\",\"buttonborder\",\"field\",\"fieldtext\",\"highlight\",\"highlighttext\",\"selecteditem\",\"selecteditemtext\",\"mark\",\"marktext\",\"graytext\",\"accentcolor\",\"accentcolortext\"]),Zq=/^(rgba?|hsla?|hwb|color|(ok)?(lab|lch)|light-dark|color-mix)\\(/i;function A8(A){return A.charCodeAt(0)===35||Zq.test(A)||Yq.has(A.toLowerCase())}var NE=[\"calc\",\"min\",\"max\",\"clamp\",\"mod\",\"rem\",\"sin\",\"cos\",\"tan\",\"asin\",\"acos\",\"atan\",\"atan2\",\"pow\",\"sqrt\",\"hypot\",\"log\",\"exp\",\"round\"],w6=[\"anchor-size\"],DG=new RegExp(`(${w6.join(\"|\")})\\\\(`,\"g\");function y6(A){return A.indexOf(\"(\")!==-1&&NE.some(j=>A.includes(`${j}(`))}function mG(A){if(!NE.some(k=>A.includes(k)))return A;let j=!1;w6.some(k=>A.includes(k))&&(DG.lastIndex=0,A=A.replace(DG,(k,G)=>(j=!0,`$${w6.indexOf(G)}$(`)));let F=\"\",E=[];for(let k=0;k<A.length;k++){let G=A[k];if(G===\"(\"){F+=G;let t=k;for(let e=k-1;e>=0;e--){let r=A.charCodeAt(e);if(r>=48&&r<=57)t=e;else if(r>=97&&r<=122)t=e;else break}let q=A.slice(t,k);if(NE.includes(q)){E.unshift(!0);continue}else if(E[0]&&q===\"\"){E.unshift(!0);continue}E.unshift(!1);continue}else if(G===\")\")F+=G,E.shift();else if(G===\",\"&&E[0]){F+=\", \";continue}else{if(G===\" \"&&E[0]&&F[F.length-1]===\" \")continue;if((G===\"+\"||G===\"*\"||G===\"/\"||G===\"-\")&&E[0]){let t=F.trimEnd(),q=t[t.length-1];if(q===\"+\"||q===\"*\"||q===\"/\"||q===\"-\"){F+=G;continue}else if(q===\"(\"||q===\",\"){F+=G;continue}else A[k-1]===\" \"?F+=`${G} `:F+=` ${G} `}else if(E[0]&&A.startsWith(\"to-zero\",k)){let t=k;k+=7,F+=A.slice(t,k+1)}else F+=G}}return j?F.replace(/\\$(\\d+)\\$/g,(k,G)=>w6[G]??k):F}var T6=new Uint8Array(256);function J(A,j){let F=0,E=[],k=0,G=A.length,t=j.charCodeAt(0);for(let q=0;q<G;q++){let e=A.charCodeAt(q);if(F===0&&e===t){E.push(A.slice(k,q)),k=q+1;continue}switch(e){case 92:q+=1;break;case 39:case 34:for(;++q<G;){let r=A.charCodeAt(q);if(r===92){q+=1;continue}if(r===e)break}break;case 40:T6[F]=41,F++;break;case 91:T6[F]=93,F++;break;case 123:T6[F]=125,F++;break;case 93:case 125:case 41:F>0&&e===T6[F-1]&&F--;break}}return E.push(A.slice(k)),E}var j8={color:A8,length:_6,percentage:zE,ratio:i8,number:gG,integer:P,url:fG,position:B8,\"bg-size\":s8,\"line-width\":F8,image:t8,\"family-name\":e8,\"generic-name\":r8,\"absolute-size\":q8,\"relative-size\":x8,angle:c8,vector:h8};function qA(A,j){if(A.startsWith(\"var(\"))return null;for(let F of j)if(j8[F]?.(A))return F;return null}var E8=/^url\\(.*\\)$/;function fG(A){return E8.test(A)}function F8(A){return J(A,\" \").every(j=>_6(j)||gG(j)||j===\"thin\"||j===\"medium\"||j===\"thick\")}var k8=/^(?:element|image|cross-fade|image-set)\\(/,G8=/^(repeating-)?(conic|linear|radial)-gradient\\(/;function t8(A){let j=0;for(let F of J(A,\",\"))if(!F.startsWith(\"var(\")){if(fG(F)){j+=1;continue}if(G8.test(F)){j+=1;continue}if(k8.test(F)){j+=1;continue}return!1}return j>0}function r8(A){return A===\"serif\"||A===\"sans-serif\"||A===\"monospace\"||A===\"cursive\"||A===\"fantasy\"||A===\"system-ui\"||A===\"ui-serif\"||A===\"ui-sans-serif\"||A===\"ui-monospace\"||A===\"ui-rounded\"||A===\"math\"||A===\"emoji\"||A===\"fangsong\"}function e8(A){let j=0;for(let F of J(A,\",\")){let E=F.charCodeAt(0);if(E>=48&&E<=57)return!1;F.startsWith(\"var(\")||(j+=1)}return j>0}function q8(A){return A===\"xx-small\"||A===\"x-small\"||A===\"small\"||A===\"medium\"||A===\"large\"||A===\"x-large\"||A===\"xx-large\"||A===\"xxx-large\"}function x8(A){return A===\"larger\"||A===\"smaller\"}var Fj=/[+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?/,l8=new RegExp(`^${Fj.source}$`);function gG(A){return l8.test(A)||y6(A)}var n8=new RegExp(`^${Fj.source}%$`);function zE(A){return n8.test(A)||y6(A)}var $8=new RegExp(`^${Fj.source}s*/s*${Fj.source}$`);function i8(A){return $8.test(A)||y6(A)}var a8=[\"cm\",\"mm\",\"Q\",\"in\",\"pc\",\"pt\",\"px\",\"em\",\"ex\",\"ch\",\"rem\",\"lh\",\"rlh\",\"vw\",\"vh\",\"vmin\",\"vmax\",\"vb\",\"vi\",\"svw\",\"svh\",\"lvw\",\"lvh\",\"dvw\",\"dvh\",\"cqw\",\"cqh\",\"cqi\",\"cqb\",\"cqmin\",\"cqmax\"],o8=new RegExp(`^${Fj.source}(${a8.join(\"|\")})$`);function _6(A){return o8.test(A)||y6(A)}function B8(A){let j=0;for(let F of J(A,\" \")){if(F===\"center\"||F===\"top\"||F===\"right\"||F===\"bottom\"||F===\"left\"){j+=1;continue}if(!F.startsWith(\"var(\")){if(_6(F)||zE(F)){j+=1;continue}return!1}}return j>0}function s8(A){let j=0;for(let F of J(A,\",\")){if(F===\"cover\"||F===\"contain\"){j+=1;continue}let E=J(F,\" \");if(E.length!==1&&E.length!==2)return!1;if(E.every(k=>k===\"auto\"||_6(k)||zE(k))){j+=1;continue}}return j>0}var I8=[\"deg\",\"rad\",\"grad\",\"turn\"],C8=new RegExp(`^${Fj.source}(${I8.join(\"|\")})$`);function c8(A){return C8.test(A)}var p8=new RegExp(`^${Fj.source} +${Fj.source} +${Fj.source}$`);function h8(A){return p8.test(A)}function P(A){let j=Number(A);return Number.isInteger(j)&&j>=0&&String(j)===String(A)}function JE(A){let j=Number(A);return Number.isInteger(j)&&j>0&&String(j)===String(A)}function Cj(A){return HG(A,.25)}function M6(A){return HG(A,.25)}function HG(A,j){let F=Number(A);return F>=0&&F%j===0&&String(F)===String(A)}function cj(A){return{__BARE_VALUE__:A}}var MA=cj(A=>{if(P(A.value))return A.value}),mA=cj(A=>{if(P(A.value))return`${A.value}%`}),lj=cj(A=>{if(P(A.value))return`${A.value}px`}),KG=cj(A=>{if(P(A.value))return`${A.value}ms`}),b6=cj(A=>{if(P(A.value))return`${A.value}deg`}),u8=cj(A=>{if(A.fraction===null)return;let[j,F]=J(A.fraction,\"/\");if(!(!P(j)||!P(F)))return A.fraction}),vG=cj(A=>{if(P(Number(A.value)))return`repeat(${A.value}, minmax(0, 1fr))`}),PG={accentColor:({theme:A})=>A(\"colors\"),animation:{none:\"none\",spin:\"spin 1s linear infinite\",ping:\"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite\",pulse:\"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite\",bounce:\"bounce 1s infinite\"},aria:{busy:'busy=\"true\"',checked:'checked=\"true\"',disabled:'disabled=\"true\"',expanded:'expanded=\"true\"',hidden:'hidden=\"true\"',pressed:'pressed=\"true\"',readonly:'readonly=\"true\"',required:'required=\"true\"',selected:'selected=\"true\"'},aspectRatio:{auto:\"auto\",square:\"1 / 1\",video:\"16 / 9\",...u8},backdropBlur:({theme:A})=>A(\"blur\"),backdropBrightness:({theme:A})=>({...A(\"brightness\"),...mA}),backdropContrast:({theme:A})=>({...A(\"contrast\"),...mA}),backdropGrayscale:({theme:A})=>({...A(\"grayscale\"),...mA}),backdropHueRotate:({theme:A})=>({...A(\"hueRotate\"),...b6}),backdropInvert:({theme:A})=>({...A(\"invert\"),...mA}),backdropOpacity:({theme:A})=>({...A(\"opacity\"),...mA}),backdropSaturate:({theme:A})=>({...A(\"saturate\"),...mA}),backdropSepia:({theme:A})=>({...A(\"sepia\"),...mA}),backgroundColor:({theme:A})=>A(\"colors\"),backgroundImage:{none:\"none\",\"gradient-to-t\":\"linear-gradient(to top, var(--tw-gradient-stops))\",\"gradient-to-tr\":\"linear-gradient(to top right, var(--tw-gradient-stops))\",\"gradient-to-r\":\"linear-gradient(to right, var(--tw-gradient-stops))\",\"gradient-to-br\":\"linear-gradient(to bottom right, var(--tw-gradient-stops))\",\"gradient-to-b\":\"linear-gradient(to bottom, var(--tw-gradient-stops))\",\"gradient-to-bl\":\"linear-gradient(to bottom left, var(--tw-gradient-stops))\",\"gradient-to-l\":\"linear-gradient(to left, var(--tw-gradient-stops))\",\"gradient-to-tl\":\"linear-gradient(to top left, var(--tw-gradient-stops))\"},backgroundOpacity:({theme:A})=>A(\"opacity\"),backgroundPosition:{bottom:\"bottom\",center:\"center\",left:\"left\",\"left-bottom\":\"left bottom\",\"left-top\":\"left top\",right:\"right\",\"right-bottom\":\"right bottom\",\"right-top\":\"right top\",top:\"top\"},backgroundSize:{auto:\"auto\",cover:\"cover\",contain:\"contain\"},blur:{0:\"0\",none:\"\",sm:\"4px\",DEFAULT:\"8px\",md:\"12px\",lg:\"16px\",xl:\"24px\",\"2xl\":\"40px\",\"3xl\":\"64px\"},borderColor:({theme:A})=>({DEFAULT:\"currentcolor\",...A(\"colors\")}),borderOpacity:({theme:A})=>A(\"opacity\"),borderRadius:{none:\"0px\",sm:\"0.125rem\",DEFAULT:\"0.25rem\",md:\"0.375rem\",lg:\"0.5rem\",xl:\"0.75rem\",\"2xl\":\"1rem\",\"3xl\":\"1.5rem\",full:\"9999px\"},borderSpacing:({theme:A})=>A(\"spacing\"),borderWidth:{DEFAULT:\"1px\",0:\"0px\",2:\"2px\",4:\"4px\",8:\"8px\",...lj},boxShadow:{sm:\"0 1px 2px 0 rgb(0 0 0 / 0.05)\",DEFAULT:\"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)\",md:\"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)\",lg:\"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)\",xl:\"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)\",\"2xl\":\"0 25px 50px -12px rgb(0 0 0 / 0.25)\",inner:\"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)\",none:\"none\"},boxShadowColor:({theme:A})=>A(\"colors\"),brightness:{0:\"0\",50:\".5\",75:\".75\",90:\".9\",95:\".95\",100:\"1\",105:\"1.05\",110:\"1.1\",125:\"1.25\",150:\"1.5\",200:\"2\",...mA},caretColor:({theme:A})=>A(\"colors\"),colors:()=>({...O6}),columns:{auto:\"auto\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",10:\"10\",11:\"11\",12:\"12\",\"3xs\":\"16rem\",\"2xs\":\"18rem\",xs:\"20rem\",sm:\"24rem\",md:\"28rem\",lg:\"32rem\",xl:\"36rem\",\"2xl\":\"42rem\",\"3xl\":\"48rem\",\"4xl\":\"56rem\",\"5xl\":\"64rem\",\"6xl\":\"72rem\",\"7xl\":\"80rem\",...MA},container:{},content:{none:\"none\"},contrast:{0:\"0\",50:\".5\",75:\".75\",100:\"1\",125:\"1.25\",150:\"1.5\",200:\"2\",...mA},cursor:{auto:\"auto\",default:\"default\",pointer:\"pointer\",wait:\"wait\",text:\"text\",move:\"move\",help:\"help\",\"not-allowed\":\"not-allowed\",none:\"none\",\"context-menu\":\"context-menu\",progress:\"progress\",cell:\"cell\",crosshair:\"crosshair\",\"vertical-text\":\"vertical-text\",alias:\"alias\",copy:\"copy\",\"no-drop\":\"no-drop\",grab:\"grab\",grabbing:\"grabbing\",\"all-scroll\":\"all-scroll\",\"col-resize\":\"col-resize\",\"row-resize\":\"row-resize\",\"n-resize\":\"n-resize\",\"e-resize\":\"e-resize\",\"s-resize\":\"s-resize\",\"w-resize\":\"w-resize\",\"ne-resize\":\"ne-resize\",\"nw-resize\":\"nw-resize\",\"se-resize\":\"se-resize\",\"sw-resize\":\"sw-resize\",\"ew-resize\":\"ew-resize\",\"ns-resize\":\"ns-resize\",\"nesw-resize\":\"nesw-resize\",\"nwse-resize\":\"nwse-resize\",\"zoom-in\":\"zoom-in\",\"zoom-out\":\"zoom-out\"},divideColor:({theme:A})=>A(\"borderColor\"),divideOpacity:({theme:A})=>A(\"borderOpacity\"),divideWidth:({theme:A})=>({...A(\"borderWidth\"),...lj}),dropShadow:{sm:\"0 1px 1px rgb(0 0 0 / 0.05)\",DEFAULT:[\"0 1px 2px rgb(0 0 0 / 0.1)\",\"0 1px 1px rgb(0 0 0 / 0.06)\"],md:[\"0 4px 3px rgb(0 0 0 / 0.07)\",\"0 2px 2px rgb(0 0 0 / 0.06)\"],lg:[\"0 10px 8px rgb(0 0 0 / 0.04)\",\"0 4px 3px rgb(0 0 0 / 0.1)\"],xl:[\"0 20px 13px rgb(0 0 0 / 0.03)\",\"0 8px 5px rgb(0 0 0 / 0.08)\"],\"2xl\":\"0 25px 25px rgb(0 0 0 / 0.15)\",none:\"0 0 #0000\"},fill:({theme:A})=>A(\"colors\"),flex:{1:\"1 1 0%\",auto:\"1 1 auto\",initial:\"0 1 auto\",none:\"none\"},flexBasis:({theme:A})=>({auto:\"auto\",\"1/2\":\"50%\",\"1/3\":\"33.333333%\",\"2/3\":\"66.666667%\",\"1/4\":\"25%\",\"2/4\":\"50%\",\"3/4\":\"75%\",\"1/5\":\"20%\",\"2/5\":\"40%\",\"3/5\":\"60%\",\"4/5\":\"80%\",\"1/6\":\"16.666667%\",\"2/6\":\"33.333333%\",\"3/6\":\"50%\",\"4/6\":\"66.666667%\",\"5/6\":\"83.333333%\",\"1/12\":\"8.333333%\",\"2/12\":\"16.666667%\",\"3/12\":\"25%\",\"4/12\":\"33.333333%\",\"5/12\":\"41.666667%\",\"6/12\":\"50%\",\"7/12\":\"58.333333%\",\"8/12\":\"66.666667%\",\"9/12\":\"75%\",\"10/12\":\"83.333333%\",\"11/12\":\"91.666667%\",full:\"100%\",...A(\"spacing\")}),flexGrow:{0:\"0\",DEFAULT:\"1\",...MA},flexShrink:{0:\"0\",DEFAULT:\"1\",...MA},fontFamily:{sans:[\"ui-sans-serif\",\"system-ui\",\"sans-serif\",'\"Apple Color Emoji\"','\"Segoe UI Emoji\"','\"Segoe UI Symbol\"','\"Noto Color Emoji\"'],serif:[\"ui-serif\",\"Georgia\",\"Cambria\",'\"Times New Roman\"',\"Times\",\"serif\"],mono:[\"ui-monospace\",\"SFMono-Regular\",\"Menlo\",\"Monaco\",\"Consolas\",'\"Liberation Mono\"','\"Courier New\"',\"monospace\"]},fontSize:{xs:[\"0.75rem\",{lineHeight:\"1rem\"}],sm:[\"0.875rem\",{lineHeight:\"1.25rem\"}],base:[\"1rem\",{lineHeight:\"1.5rem\"}],lg:[\"1.125rem\",{lineHeight:\"1.75rem\"}],xl:[\"1.25rem\",{lineHeight:\"1.75rem\"}],\"2xl\":[\"1.5rem\",{lineHeight:\"2rem\"}],\"3xl\":[\"1.875rem\",{lineHeight:\"2.25rem\"}],\"4xl\":[\"2.25rem\",{lineHeight:\"2.5rem\"}],\"5xl\":[\"3rem\",{lineHeight:\"1\"}],\"6xl\":[\"3.75rem\",{lineHeight:\"1\"}],\"7xl\":[\"4.5rem\",{lineHeight:\"1\"}],\"8xl\":[\"6rem\",{lineHeight:\"1\"}],\"9xl\":[\"8rem\",{lineHeight:\"1\"}]},fontWeight:{thin:\"100\",extralight:\"200\",light:\"300\",normal:\"400\",medium:\"500\",semibold:\"600\",bold:\"700\",extrabold:\"800\",black:\"900\"},gap:({theme:A})=>A(\"spacing\"),gradientColorStops:({theme:A})=>A(\"colors\"),gradientColorStopPositions:{\"0%\":\"0%\",\"5%\":\"5%\",\"10%\":\"10%\",\"15%\":\"15%\",\"20%\":\"20%\",\"25%\":\"25%\",\"30%\":\"30%\",\"35%\":\"35%\",\"40%\":\"40%\",\"45%\":\"45%\",\"50%\":\"50%\",\"55%\":\"55%\",\"60%\":\"60%\",\"65%\":\"65%\",\"70%\":\"70%\",\"75%\":\"75%\",\"80%\":\"80%\",\"85%\":\"85%\",\"90%\":\"90%\",\"95%\":\"95%\",\"100%\":\"100%\",...mA},grayscale:{0:\"0\",DEFAULT:\"100%\",...mA},gridAutoColumns:{auto:\"auto\",min:\"min-content\",max:\"max-content\",fr:\"minmax(0, 1fr)\"},gridAutoRows:{auto:\"auto\",min:\"min-content\",max:\"max-content\",fr:\"minmax(0, 1fr)\"},gridColumn:{auto:\"auto\",\"span-1\":\"span 1 / span 1\",\"span-2\":\"span 2 / span 2\",\"span-3\":\"span 3 / span 3\",\"span-4\":\"span 4 / span 4\",\"span-5\":\"span 5 / span 5\",\"span-6\":\"span 6 / span 6\",\"span-7\":\"span 7 / span 7\",\"span-8\":\"span 8 / span 8\",\"span-9\":\"span 9 / span 9\",\"span-10\":\"span 10 / span 10\",\"span-11\":\"span 11 / span 11\",\"span-12\":\"span 12 / span 12\",\"span-full\":\"1 / -1\"},gridColumnEnd:{auto:\"auto\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",10:\"10\",11:\"11\",12:\"12\",13:\"13\",...MA},gridColumnStart:{auto:\"auto\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",10:\"10\",11:\"11\",12:\"12\",13:\"13\",...MA},gridRow:{auto:\"auto\",\"span-1\":\"span 1 / span 1\",\"span-2\":\"span 2 / span 2\",\"span-3\":\"span 3 / span 3\",\"span-4\":\"span 4 / span 4\",\"span-5\":\"span 5 / span 5\",\"span-6\":\"span 6 / span 6\",\"span-7\":\"span 7 / span 7\",\"span-8\":\"span 8 / span 8\",\"span-9\":\"span 9 / span 9\",\"span-10\":\"span 10 / span 10\",\"span-11\":\"span 11 / span 11\",\"span-12\":\"span 12 / span 12\",\"span-full\":\"1 / -1\"},gridRowEnd:{auto:\"auto\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",10:\"10\",11:\"11\",12:\"12\",13:\"13\",...MA},gridRowStart:{auto:\"auto\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",10:\"10\",11:\"11\",12:\"12\",13:\"13\",...MA},gridTemplateColumns:{none:\"none\",subgrid:\"subgrid\",1:\"repeat(1, minmax(0, 1fr))\",2:\"repeat(2, minmax(0, 1fr))\",3:\"repeat(3, minmax(0, 1fr))\",4:\"repeat(4, minmax(0, 1fr))\",5:\"repeat(5, minmax(0, 1fr))\",6:\"repeat(6, minmax(0, 1fr))\",7:\"repeat(7, minmax(0, 1fr))\",8:\"repeat(8, minmax(0, 1fr))\",9:\"repeat(9, minmax(0, 1fr))\",10:\"repeat(10, minmax(0, 1fr))\",11:\"repeat(11, minmax(0, 1fr))\",12:\"repeat(12, minmax(0, 1fr))\",...vG},gridTemplateRows:{none:\"none\",subgrid:\"subgrid\",1:\"repeat(1, minmax(0, 1fr))\",2:\"repeat(2, minmax(0, 1fr))\",3:\"repeat(3, minmax(0, 1fr))\",4:\"repeat(4, minmax(0, 1fr))\",5:\"repeat(5, minmax(0, 1fr))\",6:\"repeat(6, minmax(0, 1fr))\",7:\"repeat(7, minmax(0, 1fr))\",8:\"repeat(8, minmax(0, 1fr))\",9:\"repeat(9, minmax(0, 1fr))\",10:\"repeat(10, minmax(0, 1fr))\",11:\"repeat(11, minmax(0, 1fr))\",12:\"repeat(12, minmax(0, 1fr))\",...vG},height:({theme:A})=>({auto:\"auto\",\"1/2\":\"50%\",\"1/3\":\"33.333333%\",\"2/3\":\"66.666667%\",\"1/4\":\"25%\",\"2/4\":\"50%\",\"3/4\":\"75%\",\"1/5\":\"20%\",\"2/5\":\"40%\",\"3/5\":\"60%\",\"4/5\":\"80%\",\"1/6\":\"16.666667%\",\"2/6\":\"33.333333%\",\"3/6\":\"50%\",\"4/6\":\"66.666667%\",\"5/6\":\"83.333333%\",full:\"100%\",screen:\"100vh\",svh:\"100svh\",lvh:\"100lvh\",dvh:\"100dvh\",min:\"min-content\",max:\"max-content\",fit:\"fit-content\",...A(\"spacing\")}),hueRotate:{0:\"0deg\",15:\"15deg\",30:\"30deg\",60:\"60deg\",90:\"90deg\",180:\"180deg\",...b6},inset:({theme:A})=>({auto:\"auto\",\"1/2\":\"50%\",\"1/3\":\"33.333333%\",\"2/3\":\"66.666667%\",\"1/4\":\"25%\",\"2/4\":\"50%\",\"3/4\":\"75%\",full:\"100%\",...A(\"spacing\")}),invert:{0:\"0\",DEFAULT:\"100%\",...mA},keyframes:{spin:{to:{transform:\"rotate(360deg)\"}},ping:{\"75%, 100%\":{transform:\"scale(2)\",opacity:\"0\"}},pulse:{\"50%\":{opacity:\".5\"}},bounce:{\"0%, 100%\":{transform:\"translateY(-25%)\",animationTimingFunction:\"cubic-bezier(0.8,0,1,1)\"},\"50%\":{transform:\"none\",animationTimingFunction:\"cubic-bezier(0,0,0.2,1)\"}}},letterSpacing:{tighter:\"-0.05em\",tight:\"-0.025em\",normal:\"0em\",wide:\"0.025em\",wider:\"0.05em\",widest:\"0.1em\"},lineHeight:{none:\"1\",tight:\"1.25\",snug:\"1.375\",normal:\"1.5\",relaxed:\"1.625\",loose:\"2\",3:\".75rem\",4:\"1rem\",5:\"1.25rem\",6:\"1.5rem\",7:\"1.75rem\",8:\"2rem\",9:\"2.25rem\",10:\"2.5rem\"},listStyleType:{none:\"none\",disc:\"disc\",decimal:\"decimal\"},listStyleImage:{none:\"none\"},margin:({theme:A})=>({auto:\"auto\",...A(\"spacing\")}),lineClamp:{1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",...MA},maxHeight:({theme:A})=>({none:\"none\",full:\"100%\",screen:\"100vh\",svh:\"100svh\",lvh:\"100lvh\",dvh:\"100dvh\",min:\"min-content\",max:\"max-content\",fit:\"fit-content\",...A(\"spacing\")}),maxWidth:({theme:A})=>({none:\"none\",xs:\"20rem\",sm:\"24rem\",md:\"28rem\",lg:\"32rem\",xl:\"36rem\",\"2xl\":\"42rem\",\"3xl\":\"48rem\",\"4xl\":\"56rem\",\"5xl\":\"64rem\",\"6xl\":\"72rem\",\"7xl\":\"80rem\",full:\"100%\",min:\"min-content\",max:\"max-content\",fit:\"fit-content\",prose:\"65ch\",...A(\"spacing\")}),minHeight:({theme:A})=>({full:\"100%\",screen:\"100vh\",svh:\"100svh\",lvh:\"100lvh\",dvh:\"100dvh\",min:\"min-content\",max:\"max-content\",fit:\"fit-content\",...A(\"spacing\")}),minWidth:({theme:A})=>({full:\"100%\",min:\"min-content\",max:\"max-content\",fit:\"fit-content\",...A(\"spacing\")}),objectPosition:{bottom:\"bottom\",center:\"center\",left:\"left\",\"left-bottom\":\"left bottom\",\"left-top\":\"left top\",right:\"right\",\"right-bottom\":\"right bottom\",\"right-top\":\"right top\",top:\"top\"},opacity:{0:\"0\",5:\"0.05\",10:\"0.1\",15:\"0.15\",20:\"0.2\",25:\"0.25\",30:\"0.3\",35:\"0.35\",40:\"0.4\",45:\"0.45\",50:\"0.5\",55:\"0.55\",60:\"0.6\",65:\"0.65\",70:\"0.7\",75:\"0.75\",80:\"0.8\",85:\"0.85\",90:\"0.9\",95:\"0.95\",100:\"1\",...mA},order:{first:\"-9999\",last:\"9999\",none:\"0\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",10:\"10\",11:\"11\",12:\"12\",...MA},outlineColor:({theme:A})=>A(\"colors\"),outlineOffset:{0:\"0px\",1:\"1px\",2:\"2px\",4:\"4px\",8:\"8px\",...lj},outlineWidth:{0:\"0px\",1:\"1px\",2:\"2px\",4:\"4px\",8:\"8px\",...lj},padding:({theme:A})=>A(\"spacing\"),placeholderColor:({theme:A})=>A(\"colors\"),placeholderOpacity:({theme:A})=>A(\"opacity\"),ringColor:({theme:A})=>({DEFAULT:\"currentcolor\",...A(\"colors\")}),ringOffsetColor:({theme:A})=>A(\"colors\"),ringOffsetWidth:{0:\"0px\",1:\"1px\",2:\"2px\",4:\"4px\",8:\"8px\",...lj},ringOpacity:({theme:A})=>({DEFAULT:\"0.5\",...A(\"opacity\")}),ringWidth:{DEFAULT:\"3px\",0:\"0px\",1:\"1px\",2:\"2px\",4:\"4px\",8:\"8px\",...lj},rotate:{0:\"0deg\",1:\"1deg\",2:\"2deg\",3:\"3deg\",6:\"6deg\",12:\"12deg\",45:\"45deg\",90:\"90deg\",180:\"180deg\",...b6},saturate:{0:\"0\",50:\".5\",100:\"1\",150:\"1.5\",200:\"2\",...mA},scale:{0:\"0\",50:\".5\",75:\".75\",90:\".9\",95:\".95\",100:\"1\",105:\"1.05\",110:\"1.1\",125:\"1.25\",150:\"1.5\",...mA},screens:{sm:\"40rem\",md:\"48rem\",lg:\"64rem\",xl:\"80rem\",\"2xl\":\"96rem\"},scrollMargin:({theme:A})=>A(\"spacing\"),scrollPadding:({theme:A})=>A(\"spacing\"),sepia:{0:\"0\",DEFAULT:\"100%\",...mA},skew:{0:\"0deg\",1:\"1deg\",2:\"2deg\",3:\"3deg\",6:\"6deg\",12:\"12deg\",...b6},space:({theme:A})=>A(\"spacing\"),spacing:{px:\"1px\",0:\"0px\",.5:\"0.125rem\",1:\"0.25rem\",1.5:\"0.375rem\",2:\"0.5rem\",2.5:\"0.625rem\",3:\"0.75rem\",3.5:\"0.875rem\",4:\"1rem\",5:\"1.25rem\",6:\"1.5rem\",7:\"1.75rem\",8:\"2rem\",9:\"2.25rem\",10:\"2.5rem\",11:\"2.75rem\",12:\"3rem\",14:\"3.5rem\",16:\"4rem\",20:\"5rem\",24:\"6rem\",28:\"7rem\",32:\"8rem\",36:\"9rem\",40:\"10rem\",44:\"11rem\",48:\"12rem\",52:\"13rem\",56:\"14rem\",60:\"15rem\",64:\"16rem\",72:\"18rem\",80:\"20rem\",96:\"24rem\"},stroke:({theme:A})=>({none:\"none\",...A(\"colors\")}),strokeWidth:{0:\"0\",1:\"1\",2:\"2\",...MA},supports:{},data:{},textColor:({theme:A})=>A(\"colors\"),textDecorationColor:({theme:A})=>A(\"colors\"),textDecorationThickness:{auto:\"auto\",\"from-font\":\"from-font\",0:\"0px\",1:\"1px\",2:\"2px\",4:\"4px\",8:\"8px\",...lj},textIndent:({theme:A})=>A(\"spacing\"),textOpacity:({theme:A})=>A(\"opacity\"),textUnderlineOffset:{auto:\"auto\",0:\"0px\",1:\"1px\",2:\"2px\",4:\"4px\",8:\"8px\",...lj},transformOrigin:{center:\"center\",top:\"top\",\"top-right\":\"top right\",right:\"right\",\"bottom-right\":\"bottom right\",bottom:\"bottom\",\"bottom-left\":\"bottom left\",left:\"left\",\"top-left\":\"top left\"},transitionDelay:{0:\"0s\",75:\"75ms\",100:\"100ms\",150:\"150ms\",200:\"200ms\",300:\"300ms\",500:\"500ms\",700:\"700ms\",1e3:\"1000ms\",...KG},transitionDuration:{DEFAULT:\"150ms\",0:\"0s\",75:\"75ms\",100:\"100ms\",150:\"150ms\",200:\"200ms\",300:\"300ms\",500:\"500ms\",700:\"700ms\",1e3:\"1000ms\",...KG},transitionProperty:{none:\"none\",all:\"all\",DEFAULT:\"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter\",colors:\"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke\",opacity:\"opacity\",shadow:\"box-shadow\",transform:\"transform\"},transitionTimingFunction:{DEFAULT:\"cubic-bezier(0.4, 0, 0.2, 1)\",linear:\"linear\",in:\"cubic-bezier(0.4, 0, 1, 1)\",out:\"cubic-bezier(0, 0, 0.2, 1)\",\"in-out\":\"cubic-bezier(0.4, 0, 0.2, 1)\"},translate:({theme:A})=>({\"1/2\":\"50%\",\"1/3\":\"33.333333%\",\"2/3\":\"66.666667%\",\"1/4\":\"25%\",\"2/4\":\"50%\",\"3/4\":\"75%\",full:\"100%\",...A(\"spacing\")}),size:({theme:A})=>({auto:\"auto\",\"1/2\":\"50%\",\"1/3\":\"33.333333%\",\"2/3\":\"66.666667%\",\"1/4\":\"25%\",\"2/4\":\"50%\",\"3/4\":\"75%\",\"1/5\":\"20%\",\"2/5\":\"40%\",\"3/5\":\"60%\",\"4/5\":\"80%\",\"1/6\":\"16.666667%\",\"2/6\":\"33.333333%\",\"3/6\":\"50%\",\"4/6\":\"66.666667%\",\"5/6\":\"83.333333%\",\"1/12\":\"8.333333%\",\"2/12\":\"16.666667%\",\"3/12\":\"25%\",\"4/12\":\"33.333333%\",\"5/12\":\"41.666667%\",\"6/12\":\"50%\",\"7/12\":\"58.333333%\",\"8/12\":\"66.666667%\",\"9/12\":\"75%\",\"10/12\":\"83.333333%\",\"11/12\":\"91.666667%\",full:\"100%\",min:\"min-content\",max:\"max-content\",fit:\"fit-content\",...A(\"spacing\")}),width:({theme:A})=>({auto:\"auto\",\"1/2\":\"50%\",\"1/3\":\"33.333333%\",\"2/3\":\"66.666667%\",\"1/4\":\"25%\",\"2/4\":\"50%\",\"3/4\":\"75%\",\"1/5\":\"20%\",\"2/5\":\"40%\",\"3/5\":\"60%\",\"4/5\":\"80%\",\"1/6\":\"16.666667%\",\"2/6\":\"33.333333%\",\"3/6\":\"50%\",\"4/6\":\"66.666667%\",\"5/6\":\"83.333333%\",\"1/12\":\"8.333333%\",\"2/12\":\"16.666667%\",\"3/12\":\"25%\",\"4/12\":\"33.333333%\",\"5/12\":\"41.666667%\",\"6/12\":\"50%\",\"7/12\":\"58.333333%\",\"8/12\":\"66.666667%\",\"9/12\":\"75%\",\"10/12\":\"83.333333%\",\"11/12\":\"91.666667%\",full:\"100%\",screen:\"100vw\",svw:\"100svw\",lvw:\"100lvw\",dvw:\"100dvw\",min:\"min-content\",max:\"max-content\",fit:\"fit-content\",...A(\"spacing\")}),willChange:{auto:\"auto\",scroll:\"scroll-position\",contents:\"contents\",transform:\"transform\"},zIndex:{auto:\"auto\",0:\"0\",10:\"10\",20:\"20\",30:\"30\",40:\"40\",50:\"50\",...MA}};var d8=\"4.1.4\",Zj=92,R6=47,S6=42,D8=34,K8=39,v8=58,N6=59,pj=10,j6=32,z6=9,XG=123,UE=125,ZE=40,LG=41,m8=91,f8=93,OG=45,VE=64,g8=33;function xF(A){A[0]===\"\\uFEFF\"&&(A=A.slice(1)),A=A.replaceAll(`\\r\n`,`\n`);let j=[],F=[],E=[],k=null,G=null,t=\"\",q=\"\",e;for(let r=0;r<A.length;r++){let n=A.charCodeAt(r);if(n===Zj)t+=A.slice(r,r+2),r+=1;else if(n===R6&&A.charCodeAt(r+1)===S6){let $=r;for(let s=r+2;s<A.length;s++)if(e=A.charCodeAt(s),e===Zj)s+=1;else if(e===S6&&A.charCodeAt(s+1)===R6){r=s+1;break}let i=A.slice($,r+1);i.charCodeAt(2)===g8&&F.push(Kt(i.slice(2,-2)))}else if(n===K8||n===D8){let $=r;for(let i=r+1;i<A.length;i++)if(e=A.charCodeAt(i),e===Zj)i+=1;else if(e===n){r=i;break}else{if(e===N6&&A.charCodeAt(i+1)===pj)throw new Error(`Unterminated string: ${A.slice($,i+1)+String.fromCharCode(n)}`);if(e===pj)throw new Error(`Unterminated string: ${A.slice($,i)+String.fromCharCode(n)}`)}t+=A.slice($,r+1)}else{if((n===j6||n===pj||n===z6)&&(e=A.charCodeAt(r+1))&&(e===j6||e===pj||e===z6))continue;if(n===pj){if(t.length===0)continue;e=t.charCodeAt(t.length-1),e!==j6&&e!==pj&&e!==z6&&(t+=\" \")}else if(n===OG&&A.charCodeAt(r+1)===OG&&t.length===0){let $=\"\",i=r,s=-1;for(let c=r+2;c<A.length;c++)if(e=A.charCodeAt(c),e===Zj)c+=1;else if(e===R6&&A.charCodeAt(c+1)===S6){for(let p=c+2;p<A.length;p++)if(e=A.charCodeAt(p),e===Zj)p+=1;else if(e===S6&&A.charCodeAt(p+1)===R6){c=p+1;break}}else if(s===-1&&e===v8)s=t.length+c-i;else if(e===N6&&$.length===0){t+=A.slice(i,c),r=c;break}else if(e===ZE)$+=\")\";else if(e===m8)$+=\"]\";else if(e===XG)$+=\"}\";else if((e===UE||A.length-1===c)&&$.length===0){r=c-1,t+=A.slice(i,c);break}else(e===LG||e===f8||e===UE)&&$.length>0&&A[c]===$[$.length-1]&&($=$.slice(0,-1));let o=QE(t,s);if(!o)throw new Error(\"Invalid custom property, expected a value\");k?k.nodes.push(o):j.push(o),t=\"\"}else if(n===N6&&t.charCodeAt(0)===VE)G=U6(t),k?k.nodes.push(G):j.push(G),t=\"\",G=null;else if(n===N6&&q[q.length-1]!==\")\"){let $=QE(t);if(!$)throw t.length===0?new Error(\"Unexpected semicolon\"):new Error(`Invalid declaration: \\`${t.trim()}\\``);k?k.nodes.push($):j.push($),t=\"\"}else if(n===XG&&q[q.length-1]!==\")\")q+=\"}\",G=pA(t.trim()),k&&k.nodes.push(G),E.push(k),k=G,t=\"\",G=null;else if(n===UE&&q[q.length-1]!==\")\"){if(q===\"\")throw new Error(\"Missing opening {\");if(q=q.slice(0,-1),t.length>0)if(t.charCodeAt(0)===VE)G=U6(t),k?k.nodes.push(G):j.push(G),t=\"\",G=null;else{let i=t.indexOf(\":\");if(k){let s=QE(t,i);if(!s)throw new Error(`Invalid declaration: \\`${t.trim()}\\``);k.nodes.push(s)}}let $=E.pop()??null;$===null&&k&&j.push(k),k=$,t=\"\",G=null}else if(n===ZE)q+=\")\",t+=\"(\";else if(n===LG){if(q[q.length-1]!==\")\")throw new Error(\"Missing opening (\");q=q.slice(0,-1),t+=\")\"}else{if(t.length===0&&(n===j6||n===pj||n===z6))continue;t+=String.fromCharCode(n)}}}if(t.charCodeAt(0)===VE&&j.push(U6(t)),q.length>0&&k){if(k.kind===\"rule\")throw new Error(`Missing closing } at ${k.selector}`);if(k.kind===\"at-rule\")throw new Error(`Missing closing } at ${k.name} ${k.params}`)}return F.length>0?F.concat(j):j}function U6(A,j=[]){for(let F=5;F<A.length;F++){let E=A.charCodeAt(F);if(E===j6||E===ZE){let k=A.slice(0,F).trim(),G=A.slice(F).trim();return AA(k,G,j)}}return AA(A.trim(),\"\",j)}function QE(A,j=A.indexOf(\":\")){if(j===-1)return null;let F=A.indexOf(\"!important\",j+1);return l(A.slice(0,j).trim(),A.slice(j+1,F===-1?A.length:F).trim(),F!==-1)}function jE(A){if(arguments.length===0)throw new TypeError(\"`CSS.escape` requires an argument.\");let j=String(A),F=j.length,E=-1,k,G=\"\",t=j.charCodeAt(0);if(F===1&&t===45)return\"\\\\\"+j;for(;++E<F;){if(k=j.charCodeAt(E),k===0){G+=\"\\uFFFD\";continue}if(k>=1&&k<=31||k===127||E===0&&k>=48&&k<=57||E===1&&k>=48&&k<=57&&t===45){G+=\"\\\\\"+k.toString(16)+\" \";continue}if(k>=128||k===45||k===95||k>=48&&k<=57||k>=65&&k<=90||k>=97&&k<=122){G+=j.charAt(E);continue}G+=\"\\\\\"+j.charAt(E)}return G}function V6(A){return A.replace(/\\\\([\\dA-Fa-f]{1,6}[\\t\\n\\f\\r ]?|[\\S\\s])/g,j=>j.length>2?String.fromCodePoint(Number.parseInt(j.slice(1).trim(),16)):j[1])}var dt=new Map([[\"--font\",[\"--font-weight\",\"--font-size\"]],[\"--inset\",[\"--inset-shadow\",\"--inset-ring\"]],[\"--text\",[\"--text-color\",\"--text-decoration-color\",\"--text-decoration-thickness\",\"--text-indent\",\"--text-shadow\",\"--text-underline-offset\"]]]);function TG(A,j){return(dt.get(j)??[]).some(F=>A===F||A.startsWith(`${F}-`))}var H8=class{constructor(A=new Map,j=new Set([])){this.values=A,this.keyframes=j}prefix=null;add(A,j,F=0){if(A.endsWith(\"-*\")){if(j!==\"initial\")throw new Error(`Invalid theme value \\`${j}\\` for namespace \\`${A}\\``);A===\"--*\"?this.values.clear():this.clearNamespace(A.slice(0,-2),0)}if(F&4){let E=this.values.get(A);if(E&&!(E.options&4))return}j===\"initial\"?this.values.delete(A):this.values.set(A,{value:j,options:F})}keysInNamespaces(A){let j=[];for(let F of A){let E=`${F}-`;for(let k of this.values.keys())k.startsWith(E)&&k.indexOf(\"--\",2)===-1&&(TG(k,F)||j.push(k.slice(E.length)))}return j}get(A){for(let j of A){let F=this.values.get(j);if(F)return F.value}return null}hasDefault(A){return(this.getOptions(A)&4)===4}getOptions(A){return A=V6(this.#E(A)),this.values.get(A)?.options??0}entries(){return this.prefix?Array.from(this.values,A=>(A[0]=this.prefixKey(A[0]),A)):this.values.entries()}prefixKey(A){return this.prefix?`--${this.prefix}-${A.slice(2)}`:A}#E(A){return this.prefix?`--${A.slice(3+this.prefix.length)}`:A}clearNamespace(A,j){let F=dt.get(A)??[];A:for(let E of this.values.keys())if(E.startsWith(A)){if(j!==0&&(this.getOptions(E)&j)!==j)continue;for(let k of F)if(E.startsWith(k))continue A;this.values.delete(E)}}#A(A,j){for(let F of j){let E=A!==null?`${F}-${A}`:F;if(!this.values.has(E))if(A!==null&&A.includes(\".\")){if(E=`${F}-${A.replaceAll(\".\",\"_\")}`,!this.values.has(E))continue}else continue;if(!TG(E,F))return E}return null}#j(A){let j=this.values.get(A);if(!j)return null;let F=null;return j.options&2&&(F=j.value),`var(${jE(this.prefixKey(A))}${F?`, ${F}`:\"\"})`}markUsedVariable(A){let j=V6(this.#E(A)),F=this.values.get(j);if(!F)return!1;let E=F.options&16;return F.options|=16,!E}resolve(A,j,F=0){let E=this.#A(A,j);if(!E)return null;let k=this.values.get(E);return(F|k.options)&1?k.value:this.#j(E)}resolveValue(A,j){let F=this.#A(A,j);return F?this.values.get(F).value:null}resolveWith(A,j,F=[]){let E=this.#A(A,j);if(!E)return null;let k={};for(let t of F){let q=`${E}${t}`,e=this.values.get(q);e&&(e.options&1?k[t]=e.value:k[t]=this.#j(q))}let G=this.values.get(E);return G.options&1?[G.value,k]:[this.#j(E),k]}namespace(A){let j=new Map,F=`${A}-`;for(let[E,k]of this.values)E===A?j.set(null,k.value):E.startsWith(`${F}-`)?j.set(E.slice(A.length),k.value):E.startsWith(F)&&j.set(E.slice(F.length),k.value);return j}addKeyframes(A){this.keyframes.add(A)}getKeyframes(){return Array.from(this.keyframes)}},XA=class extends Map{constructor(A){super(),this.factory=A}get(A){let j=super.get(A);return j===void 0&&(j=this.factory(A,this),this.set(A,j)),j}};function WE(A){return{kind:\"word\",value:A}}function P8(A,j){return{kind:\"function\",value:A,nodes:j}}function X8(A){return{kind:\"separator\",value:A}}function RA(A,j,F=null){for(let E=0;E<A.length;E++){let k=A[E],G=!1,t=0,q=j(k,{parent:F,replaceWith(e){G||(G=!0,Array.isArray(e)?e.length===0?(A.splice(E,1),t=0):e.length===1?(A[E]=e[0],t=1):(A.splice(E,1,...e),t=e.length):A[E]=e)}})??0;if(G){q===0?E--:E+=t-1;continue}if(q===2||q!==1&&k.kind===\"function\"&&RA(k.nodes,j,k)===2)return 2}}function PA(A){let j=\"\";for(let F of A)switch(F.kind){case\"word\":case\"separator\":{j+=F.value;break}case\"function\":j+=F.value+\"(\"+PA(F.nodes)+\")\"}return j}var bG=92,L8=41,wG=58,yG=44,O8=34,_G=61,MG=62,RG=60,SG=10,T8=40,b8=39,NG=47,zG=32,JG=9;function cA(A){A=A.replaceAll(`\\r\n`,`\n`);let j=[],F=[],E=null,k=\"\",G;for(let t=0;t<A.length;t++){let q=A.charCodeAt(t);switch(q){case bG:{k+=A[t]+A[t+1],t++;break}case wG:case yG:case _G:case MG:case RG:case SG:case NG:case zG:case JG:{if(k.length>0){let $=WE(k);E?E.nodes.push($):j.push($),k=\"\"}let e=t,r=t+1;for(;r<A.length&&(G=A.charCodeAt(r),!(G!==wG&&G!==yG&&G!==_G&&G!==MG&&G!==RG&&G!==SG&&G!==NG&&G!==zG&&G!==JG));r++);t=r-1;let n=X8(A.slice(e,r));E?E.nodes.push(n):j.push(n);break}case b8:case O8:{let e=t;for(let r=t+1;r<A.length;r++)if(G=A.charCodeAt(r),G===bG)r+=1;else if(G===q){t=r;break}k+=A.slice(e,t+1);break}case T8:{let e=P8(k,[]);k=\"\",E?E.nodes.push(e):j.push(e),F.push(e),E=e;break}case L8:{let e=F.pop();if(k.length>0){let r=WE(k);e.nodes.push(r),k=\"\"}F.length>0?E=F[F.length-1]:E=null;break}default:k+=String.fromCharCode(q)}}return k.length>0&&j.push(WE(k)),j}function Dt(A){let j=[];return RA(cA(A),F=>{if(!(F.kind!==\"function\"||F.value!==\"var\"))return RA(F.nodes,E=>{E.kind!==\"word\"||E.value[0]!==\"-\"||E.value[1]!==\"-\"||j.push(E.value)}),1}),j}var w8=64;function EA(A,j=[]){return{kind:\"rule\",selector:A,nodes:j}}function AA(A,j=\"\",F=[]){return{kind:\"at-rule\",name:A,params:j,nodes:F}}function pA(A,j=[]){return A.charCodeAt(0)===w8?U6(A,j):EA(A,j)}function l(A,j,F=!1){return{kind:\"declaration\",property:A,value:j,important:F}}function Kt(A){return{kind:\"comment\",value:A}}function hj(A,j){return{kind:\"context\",context:A,nodes:j}}function V(A){return{kind:\"at-root\",nodes:A}}function jA(A,j,F=[],E={}){for(let k=0;k<A.length;k++){let G=A[k],t=F[F.length-1]??null;if(G.kind===\"context\"){if(jA(G.nodes,j,F,{...E,...G.context})===2)return 2;continue}F.push(G);let q=!1,e=0,r=j(G,{parent:t,context:E,path:F,replaceWith(n){q||(q=!0,Array.isArray(n)?n.length===0?(A.splice(k,1),e=0):n.length===1?(A[k]=n[0],e=1):(A.splice(k,1,...n),e=n.length):(A[k]=n,e=1))}})??0;if(F.pop(),q){r===0?k--:k+=e-1;continue}if(r===2)return 2;if(r!==1&&\"nodes\"in G){F.push(G);let n=jA(G.nodes,j,F,E);if(F.pop(),n===2)return 2}}}function AF(A,j,F=[],E={}){for(let k=0;k<A.length;k++){let G=A[k],t=F[F.length-1]??null;if(G.kind===\"rule\"||G.kind===\"at-rule\")F.push(G),AF(G.nodes,j,F,E),F.pop();else if(G.kind===\"context\"){AF(G.nodes,j,F,{...E,...G.context});continue}F.push(G),j(G,{parent:t,context:E,path:F,replaceWith(q){Array.isArray(q)?q.length===0?A.splice(k,1):q.length===1?A[k]=q[0]:A.splice(k,1,...q):A[k]=q,k+=q.length-1}}),F.pop()}}function E6(A,j,F=3){let E=[],k=new Set,G=new XA(()=>new Set),t=new XA(()=>new Set),q=new Set,e=new Set,r=[],n=[],$=new XA(()=>new Set);function i(o,c,p={},C=0){if(o.kind===\"declaration\"){if(o.property===\"--tw-sort\"||o.value===void 0||o.value===null)return;if(p.theme&&o.property[0]===\"-\"&&o.property[1]===\"-\"){if(o.value===\"initial\"){o.value=void 0;return}p.keyframes||G.get(c).add(o)}if(o.value.includes(\"var(\"))if(p.theme&&o.property[0]===\"-\"&&o.property[1]===\"-\")for(let h of Dt(o.value))$.get(h).add(o.property);else j.trackUsedVariables(o.value);if(o.property===\"animation\")for(let h of UG(o.value))e.add(h);F&2&&o.value.includes(\"color-mix(\")&&t.get(c).add(o),c.push(o)}else if(o.kind===\"rule\")if(o.selector===\"&\")for(let h of o.nodes){let L=[];i(h,L,p,C+1),L.length>0&&c.push(...L)}else{let h={...o,nodes:[]};for(let L of o.nodes)i(L,h.nodes,p,C+1);h.nodes.length>0&&c.push(h)}else if(o.kind===\"at-rule\"&&o.name===\"@property\"&&C===0){if(k.has(o.params))return;if(F&1){let L=o.params,K=null,w=!1;for(let R of o.nodes)R.kind===\"declaration\"&&(R.property===\"initial-value\"?K=R.value:R.property===\"inherits\"&&(w=R.value===\"true\"));w?r.push(l(L,K??\"initial\")):n.push(l(L,K??\"initial\"))}k.add(o.params);let h={...o,nodes:[]};for(let L of o.nodes)i(L,h.nodes,p,C+1);c.push(h)}else if(o.kind===\"at-rule\"){o.name===\"@keyframes\"&&(p={...p,keyframes:!0});let h={...o,nodes:[]};for(let L of o.nodes)i(L,h.nodes,p,C+1);o.name===\"@keyframes\"&&p.theme&&q.add(h),(h.nodes.length>0||h.name===\"@layer\"||h.name===\"@charset\"||h.name===\"@custom-media\"||h.name===\"@namespace\"||h.name===\"@import\")&&c.push(h)}else if(o.kind===\"at-root\")for(let h of o.nodes){let L=[];i(h,L,p,0);for(let K of L)E.push(K)}else if(o.kind===\"context\"){if(o.context.reference)return;for(let h of o.nodes)i(h,c,{...p,...o.context},C)}else o.kind===\"comment\"&&c.push(o)}let s=[];for(let o of A)i(o,s,{},0);A:for(let[o,c]of G)for(let p of c){if(vt(p.property,j.theme,$)){if(p.property.startsWith(j.theme.prefixKey(\"--animate-\")))for(let h of UG(p.value))e.add(h);continue}let C=o.indexOf(p);if(o.splice(C,1),o.length===0){let h=y8(s,L=>L.kind===\"rule\"&&L.nodes===o);if(!h||h.length===0)continue A;h.unshift({kind:\"at-root\",nodes:s});do{let L=h.pop();if(!L)break;let K=h[h.length-1];if(!K||K.kind!==\"at-root\"&&K.kind!==\"at-rule\")break;let w=K.nodes.indexOf(L);if(w===-1)break;K.nodes.splice(w,1)}while(!0);continue A}}for(let o of q)if(!e.has(o.params)){let c=E.indexOf(o);E.splice(c,1)}if(s=s.concat(E),F&2)for(let[o,c]of t)for(let p of c){let C=o.indexOf(p);if(C===-1||p.value==null)continue;let h=cA(p.value),L=!1;if(RA(h,(R,{replaceWith:H})=>{if(R.kind!==\"function\"||R.value!==\"color-mix\")return;let z=!1,Z=!1;if(RA(R.nodes,(U,{replaceWith:aA})=>{if(U.kind==\"word\"&&U.value.toLowerCase()===\"currentcolor\"){Z=!0,L=!0;return}let vA=U,Aj=null,x=new Set;do{if(vA.kind!==\"function\"||vA.value!==\"var\")return;let a=vA.nodes[0];if(!a||a.kind!==\"word\")return;let B=a.value;if(x.has(B)){z=!0;return}if(x.add(B),L=!0,Aj=j.theme.resolveValue(null,[a.value]),!Aj){z=!0;return}if(Aj.toLowerCase()===\"currentcolor\"){Z=!0;return}Aj.startsWith(\"var(\")?vA=cA(Aj)[0]:vA=null}while(vA);aA({kind:\"word\",value:Aj})}),z||Z){let U=R.nodes.findIndex(vA=>vA.kind===\"separator\"&&vA.value.trim().includes(\",\"));if(U===-1)return;let aA=R.nodes.length>U?R.nodes[U+1]:null;if(!aA)return;H(aA)}else if(L){let U=R.nodes[2];U.kind===\"word\"&&(U.value===\"oklab\"||U.value===\"oklch\"||U.value===\"lab\"||U.value===\"lch\")&&(U.value=\"srgb\")}}),!L)continue;let K={...p,value:PA(h)},w=pA(\"@supports (color: color-mix(in lab, red, red))\",[p]);o.splice(C,1,K,w)}if(F&1){let o=[];if(r.length>0&&o.push(pA(\":root, :host\",r)),n.length>0&&o.push(pA(\"*, ::before, ::after, ::backdrop\",n)),o.length>0){let c=s.findIndex(p=>!(p.kind===\"comment\"||p.kind===\"at-rule\"&&(p.name===\"@charset\"||p.name===\"@import\")));s.splice(c<0?s.length:c,0,AA(\"@layer\",\"properties\",[])),s.push(pA(\"@layer properties\",[AA(\"@supports\",\"((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b))))\",o)]))}}return s}function Dj(A){function j(E,k=0){let G=\"\",t=\" \".repeat(k);if(E.kind===\"declaration\")G+=`${t}${E.property}: ${E.value}${E.important?\" !important\":\"\"};\n`;else if(E.kind===\"rule\"){G+=`${t}${E.selector} {\n`;for(let q of E.nodes)G+=j(q,k+1);G+=`${t}}\n`}else if(E.kind===\"at-rule\"){if(E.nodes.length===0)return`${t}${E.name} ${E.params};\n`;G+=`${t}${E.name}${E.params?` ${E.params} `:\" \"}{\n`;for(let q of E.nodes)G+=j(q,k+1);G+=`${t}}\n`}else if(E.kind===\"comment\")G+=`${t}/*${E.value}*/\n`;else if(E.kind===\"context\"||E.kind===\"at-root\")return\"\";return G}let F=\"\";for(let E of A){let k=j(E);k!==\"\"&&(F+=k)}return F}function y8(A,j){let F=[];return jA(A,(E,{path:k})=>{if(j(E))return F=[...k],2}),F}function vt(A,j,F,E=new Set){if(E.has(A)||(E.add(A),j.getOptions(A)&24))return!0;{let k=F.get(A)??[];for(let G of k)if(vt(G,j,F,E))return!0}return!1}function UG(A){return A.split(/[\\s,]+/)}function uj(A){if(A.indexOf(\"(\")===-1)return Lj(A);let j=cA(A);return jF(j),A=PA(j),A=mG(A),A}function Lj(A,j=!1){let F=\"\";for(let E=0;E<A.length;E++){let k=A[E];k===\"\\\\\"&&A[E+1]===\"_\"?(F+=\"_\",E+=1):k===\"_\"&&!j?F+=\" \":F+=k}return F}function jF(A){for(let j of A)switch(j.kind){case\"function\":{if(j.value===\"url\"||j.value.endsWith(\"_url\")){j.value=Lj(j.value);break}if(j.value===\"var\"||j.value.endsWith(\"_var\")||j.value===\"theme\"||j.value.endsWith(\"_theme\")){j.value=Lj(j.value);for(let F=0;F<j.nodes.length;F++){if(F==0&&j.nodes[F].kind===\"word\"){j.nodes[F].value=Lj(j.nodes[F].value,!0);continue}jF([j.nodes[F]])}break}j.value=Lj(j.value),jF(j.nodes);break}case\"separator\":case\"word\":{j.value=Lj(j.value);break}default:_8(j)}}function _8(A){throw new Error(`Unexpected value: ${A}`)}var YE=new Uint8Array(256);function dj(A){let j=0,F=A.length;for(let E=0;E<F;E++){let k=A.charCodeAt(E);switch(k){case 92:E+=1;break;case 39:case 34:for(;++E<F;){let G=A.charCodeAt(E);if(G===92){E+=1;continue}if(G===k)break}break;case 40:YE[j]=41,j++;break;case 91:YE[j]=93,j++;break;case 123:break;case 93:case 125:case 41:if(j===0)return!1;j>0&&k===YE[j-1]&&j--;break;case 59:if(j===0)return!1;break}}return!0}var M8=58,VG=45,QG=97,WG=122;function*R8(A,j){let F=J(A,\":\");if(j.theme.prefix){if(F.length===1||F[0]!==j.theme.prefix)return null;F.shift()}let E=F.pop(),k=[];for(let $=F.length-1;$>=0;--$){let i=j.parseVariant(F[$]);if(i===null)return;k.push(i)}let G=!1;E[E.length-1]===\"!\"?(G=!0,E=E.slice(0,-1)):E[0]===\"!\"&&(G=!0,E=E.slice(1)),j.utilities.has(E,\"static\")&&!E.includes(\"[\")&&(yield{kind:\"static\",root:E,variants:k,important:G,raw:A});let[t,q=null,e]=J(E,\"/\");if(e)return;let r=q===null?null:EF(q);if(q!==null&&r===null)return;if(t[0]===\"[\"){if(t[t.length-1]!==\"]\")return;let $=t.charCodeAt(1);if($!==VG&&!($>=QG&&$<=WG))return;t=t.slice(1,-1);let i=t.indexOf(\":\");if(i===-1||i===0||i===t.length-1)return;let s=t.slice(0,i),o=uj(t.slice(i+1));if(!dj(o))return;yield{kind:\"arbitrary\",property:s,value:o,modifier:r,variants:k,important:G,raw:A};return}let n;if(t[t.length-1]===\"]\"){let $=t.indexOf(\"-[\");if($===-1)return;let i=t.slice(0,$);if(!j.utilities.has(i,\"functional\"))return;let s=t.slice($+1);n=[[i,s]]}else if(t[t.length-1]===\")\"){let $=t.indexOf(\"-(\");if($===-1)return;let i=t.slice(0,$);if(!j.utilities.has(i,\"functional\"))return;let s=t.slice($+2,-1),o=J(s,\":\"),c=null;if(o.length===2&&(c=o[0],s=o[1]),s[0]!==\"-\"&&s[1]!==\"-\")return;n=[[i,c===null?`[var(${s})]`:`[${c}:var(${s})]`]]}else n=mt(t,$=>j.utilities.has($,\"functional\"));for(let[$,i]of n){let s={kind:\"functional\",root:$,modifier:r,value:null,variants:k,important:G,raw:A};if(i===null){yield s;continue}{let o=i.indexOf(\"[\");if(o!==-1){if(i[i.length-1]!==\"]\")return;let c=uj(i.slice(o+1,-1));if(!dj(c))continue;let p=\"\";for(let C=0;C<c.length;C++){let h=c.charCodeAt(C);if(h===M8){p=c.slice(0,C),c=c.slice(C+1);break}if(!(h===VG||h>=QG&&h<=WG))break}if(c.length===0||c.trim().length===0)continue;s.value={kind:\"arbitrary\",dataType:p||null,value:c}}else{let c=q===null||s.modifier?.kind===\"arbitrary\"?null:`${i}/${q}`;s.value={kind:\"named\",value:i,fraction:c}}}yield s}}function EF(A){if(A[0]===\"[\"&&A[A.length-1]===\"]\"){let j=uj(A.slice(1,-1));return!dj(j)||j.length===0||j.trim().length===0?null:{kind:\"arbitrary\",value:j}}if(A[0]===\"(\"&&A[A.length-1]===\")\"){let j=uj(A.slice(1,-1));return!dj(j)||j.length===0||j.trim().length===0||j[0]!==\"-\"&&j[1]!==\"-\"?null:{kind:\"arbitrary\",value:`var(${j})`}}return{kind:\"named\",value:A}}function S8(A,j){if(A[0]===\"[\"&&A[A.length-1]===\"]\"){if(A[1]===\"@\"&&A.includes(\"&\"))return null;let F=uj(A.slice(1,-1));if(!dj(F)||F.length===0||F.trim().length===0)return null;let E=F[0]===\">\"||F[0]===\"+\"||F[0]===\"~\";return!E&&F[0]!==\"@\"&&!F.includes(\"&\")&&(F=`&:is(${F})`),{kind:\"arbitrary\",selector:F,relative:E}}{let[F,E=null,k]=J(A,\"/\");if(k)return null;let G=mt(F,t=>j.variants.has(t));for(let[t,q]of G)switch(j.variants.kind(t)){case\"static\":return q!==null||E!==null?null:{kind:\"static\",root:t};case\"functional\":{let e=E===null?null:EF(E);if(E!==null&&e===null)return null;if(q===null)return{kind:\"functional\",root:t,modifier:e,value:null};if(q[q.length-1]===\"]\"){if(q[0]!==\"[\")continue;let r=uj(q.slice(1,-1));return!dj(r)||r.length===0||r.trim().length===0?null:{kind:\"functional\",root:t,modifier:e,value:{kind:\"arbitrary\",value:r}}}if(q[q.length-1]===\")\"){if(q[0]!==\"(\")continue;let r=uj(q.slice(1,-1));return!dj(r)||r.length===0||r.trim().length===0||r[0]!==\"-\"&&r[1]!==\"-\"?null:{kind:\"functional\",root:t,modifier:e,value:{kind:\"arbitrary\",value:`var(${r})`}}}return{kind:\"functional\",root:t,modifier:e,value:{kind:\"named\",value:q}}}case\"compound\":{if(q===null)return null;let e=j.parseVariant(q);if(e===null||!j.variants.compoundsWith(t,e))return null;let r=E===null?null:EF(E);return E!==null&&r===null?null:{kind:\"compound\",root:t,modifier:r,variant:e}}}}return null}function*mt(A,j){j(A)&&(yield[A,null]);let F=A.lastIndexOf(\"-\");for(;F>0;){let E=A.slice(0,F);if(j(E)){let k=[E,A.slice(F+1)];if(k[1]===\"\")break;yield k}F=A.lastIndexOf(\"-\",F-1)}A[0]===\"@\"&&j(\"@\")&&(yield[\"@\",A.slice(1)])}function Q6(A,j,F){if(A===j)return 0;let E=A.indexOf(\"(\"),k=j.indexOf(\"(\"),G=E===-1?A.replace(/[\\d.]+/g,\"\"):A.slice(0,E),t=k===-1?j.replace(/[\\d.]+/g,\"\"):j.slice(0,k),q=(G===t?0:G<t?-1:1)||(F===\"asc\"?parseInt(A)-parseInt(j):parseInt(j)-parseInt(A));return Number.isNaN(q)?A<j?-1:1:q}var N8=new Set([\"inset\",\"inherit\",\"initial\",\"revert\",\"unset\"]),YG=/^-?(\\d+|\\.\\d+)(.*?)$/g;function W6(A,j){return J(A,\",\").map(F=>{F=F.trim();let E=J(F,\" \").filter(e=>e.trim()!==\"\"),k=null,G=null,t=null;for(let e of E)N8.has(e)||(YG.test(e)?(G===null?G=e:t===null&&(t=e),YG.lastIndex=0):k===null&&(k=e));if(G===null||t===null)return F;let q=j(k??\"currentcolor\");return k!==null?F.replace(k,q):`${F} ${q}`}).join(\", \")}var z8=/^-?[a-z][a-zA-Z0-9/%._-]*$/,J8=/^-?[a-z][a-zA-Z0-9/%._-]*-\\*$/,Y6=[\"0\",\"0.5\",\"1\",\"1.5\",\"2\",\"2.5\",\"3\",\"3.5\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"14\",\"16\",\"20\",\"24\",\"28\",\"32\",\"36\",\"40\",\"44\",\"48\",\"52\",\"56\",\"60\",\"64\",\"72\",\"80\",\"96\"],U8=class{utilities=new XA(()=>[]);completions=new Map;static(A,j){this.utilities.get(A).push({kind:\"static\",compileFn:j})}functional(A,j,F){this.utilities.get(A).push({kind:\"functional\",compileFn:j,options:F})}has(A,j){return this.utilities.has(A)&&this.utilities.get(A).some(F=>F.kind===j)}get(A){return this.utilities.has(A)?this.utilities.get(A):[]}getCompletions(A){return this.completions.get(A)?.()??[]}suggest(A,j){this.completions.set(A,j)}keys(A){let j=[];for(let[F,E]of this.utilities.entries())for(let k of E)if(k.kind===A){j.push(F);break}return j}};function d(A,j,F){return AA(\"@property\",A,[l(\"syntax\",F?`\"${F}\"`:'\"*\"'),l(\"inherits\",\"false\"),...j?[l(\"initial-value\",j)]:[]])}function DA(A,j){if(j===null)return A;let F=Number(j);return Number.isNaN(F)||(j=`${F*100}%`),`color-mix(in oklab, ${A} ${j}, transparent)`}function ft(A,j){let F=Number(j);return Number.isNaN(F)||(j=`${F*100}%`),`oklab(from ${A} l a b / ${j})`}function sA(A,j,F){if(!j)return A;if(j.kind===\"arbitrary\")return DA(A,j.value);let E=F.resolve(j.value,[\"--opacity\"]);return E?DA(A,E):M6(j.value)?DA(A,`${j.value}%`):null}function dA(A,j,F){let E=null;switch(A.value.value){case\"inherit\":{E=\"inherit\";break}case\"transparent\":{E=\"transparent\";break}case\"current\":{E=\"currentcolor\";break}default:{E=j.resolve(A.value.value,F);break}}return E?sA(E,A.modifier,j):null}function V8(A){let j=new U8;function F(x,a){let B=/(\\d+)_(\\d+)/g;function*u(v){for(let X of A.keysInNamespaces(v))yield X.replace(B,(f,g,S)=>`${g}.${S}`)}let I=[\"1/2\",\"1/3\",\"2/3\",\"1/4\",\"2/4\",\"3/4\",\"1/5\",\"2/5\",\"3/5\",\"4/5\",\"1/6\",\"2/6\",\"3/6\",\"4/6\",\"5/6\",\"1/12\",\"2/12\",\"3/12\",\"4/12\",\"5/12\",\"6/12\",\"7/12\",\"8/12\",\"9/12\",\"10/12\",\"11/12\"];j.suggest(x,()=>{let v=[];for(let X of a()){if(typeof X==\"string\"){v.push({values:[X],modifiers:[]});continue}let f=[...X.values??[],...u(X.valueThemeKeys??[])],g=[...X.modifiers??[],...u(X.modifierThemeKeys??[])];X.supportsFractions&&f.push(...I),X.hasDefaultValue&&f.unshift(null),v.push({supportsNegative:X.supportsNegative,values:f,modifiers:g})}return v})}function E(x,a){j.static(x,()=>a.map(B=>typeof B==\"function\"?B():l(B[0],B[1])))}function k(x,a){function B({negative:u}){return I=>{let v=null,X=null;if(I.value)if(I.value.kind===\"arbitrary\"){if(I.modifier)return;v=I.value.value,X=I.value.dataType}else{if(v=A.resolve(I.value.fraction??I.value.value,a.themeKeys??[]),v===null&&a.supportsFractions&&I.value.fraction){let[f,g]=J(I.value.fraction,\"/\");if(!P(f)||!P(g))return;v=`calc(${I.value.fraction} * 100%)`}if(v===null&&u&&a.handleNegativeBareValue){if(v=a.handleNegativeBareValue(I.value),!v?.includes(\"/\")&&I.modifier)return;if(v!==null)return a.handle(v,null)}if(v===null&&a.handleBareValue&&(v=a.handleBareValue(I.value),!v?.includes(\"/\")&&I.modifier))return}else{if(I.modifier)return;v=a.defaultValue!==void 0?a.defaultValue:A.resolve(null,a.themeKeys??[])}if(v!==null)return a.handle(u?`calc(${v} * -1)`:v,X)}}a.supportsNegative&&j.functional(`-${x}`,B({negative:!0})),j.functional(x,B({negative:!1})),F(x,()=>[{supportsNegative:a.supportsNegative,valueThemeKeys:a.themeKeys??[],hasDefaultValue:a.defaultValue!==void 0&&a.defaultValue!==null,supportsFractions:a.supportsFractions}])}function G(x,a){j.functional(x,B=>{if(!B.value)return;let u=null;if(B.value.kind===\"arbitrary\"?(u=B.value.value,u=sA(u,B.modifier,A)):u=dA(B,A,a.themeKeys),u!==null)return a.handle(u)}),F(x,()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:a.themeKeys,modifiers:Array.from({length:21},(B,u)=>`${u*5}`)}])}function t(x,a,B,{supportsNegative:u=!1,supportsFractions:I=!1}={}){u&&j.static(`-${x}-px`,()=>B(\"-1px\")),j.static(`${x}-px`,()=>B(\"1px\")),k(x,{themeKeys:a,supportsFractions:I,supportsNegative:u,defaultValue:null,handleBareValue:({value:v})=>{let X=A.resolve(null,[\"--spacing\"]);return!X||!Cj(v)?null:`calc(${X} * ${v})`},handleNegativeBareValue:({value:v})=>{let X=A.resolve(null,[\"--spacing\"]);return!X||!Cj(v)?null:`calc(${X} * -${v})`},handle:B}),F(x,()=>[{values:A.get([\"--spacing\"])?Y6:[],supportsNegative:u,supportsFractions:I,valueThemeKeys:a}])}E(\"sr-only\",[[\"position\",\"absolute\"],[\"width\",\"1px\"],[\"height\",\"1px\"],[\"padding\",\"0\"],[\"margin\",\"-1px\"],[\"overflow\",\"hidden\"],[\"clip\",\"rect(0, 0, 0, 0)\"],[\"white-space\",\"nowrap\"],[\"border-width\",\"0\"]]),E(\"not-sr-only\",[[\"position\",\"static\"],[\"width\",\"auto\"],[\"height\",\"auto\"],[\"padding\",\"0\"],[\"margin\",\"0\"],[\"overflow\",\"visible\"],[\"clip\",\"auto\"],[\"white-space\",\"normal\"]]),E(\"pointer-events-none\",[[\"pointer-events\",\"none\"]]),E(\"pointer-events-auto\",[[\"pointer-events\",\"auto\"]]),E(\"visible\",[[\"visibility\",\"visible\"]]),E(\"invisible\",[[\"visibility\",\"hidden\"]]),E(\"collapse\",[[\"visibility\",\"collapse\"]]),E(\"static\",[[\"position\",\"static\"]]),E(\"fixed\",[[\"position\",\"fixed\"]]),E(\"absolute\",[[\"position\",\"absolute\"]]),E(\"relative\",[[\"position\",\"relative\"]]),E(\"sticky\",[[\"position\",\"sticky\"]]);for(let[x,a]of[[\"inset\",\"inset\"],[\"inset-x\",\"inset-inline\"],[\"inset-y\",\"inset-block\"],[\"start\",\"inset-inline-start\"],[\"end\",\"inset-inline-end\"],[\"top\",\"top\"],[\"right\",\"right\"],[\"bottom\",\"bottom\"],[\"left\",\"left\"]])E(`${x}-auto`,[[a,\"auto\"]]),E(`${x}-full`,[[a,\"100%\"]]),E(`-${x}-full`,[[a,\"-100%\"]]),t(x,[\"--inset\",\"--spacing\"],B=>[l(a,B)],{supportsNegative:!0,supportsFractions:!0});E(\"isolate\",[[\"isolation\",\"isolate\"]]),E(\"isolation-auto\",[[\"isolation\",\"auto\"]]),E(\"z-auto\",[[\"z-index\",\"auto\"]]),k(\"z\",{supportsNegative:!0,handleBareValue:({value:x})=>P(x)?x:null,themeKeys:[\"--z-index\"],handle:x=>[l(\"z-index\",x)]}),F(\"z\",()=>[{supportsNegative:!0,values:[\"0\",\"10\",\"20\",\"30\",\"40\",\"50\"],valueThemeKeys:[\"--z-index\"]}]),E(\"order-first\",[[\"order\",\"-9999\"]]),E(\"order-last\",[[\"order\",\"9999\"]]),E(\"order-none\",[[\"order\",\"0\"]]),k(\"order\",{supportsNegative:!0,handleBareValue:({value:x})=>P(x)?x:null,themeKeys:[\"--order\"],handle:x=>[l(\"order\",x)]}),F(\"order\",()=>[{supportsNegative:!0,values:Array.from({length:12},(x,a)=>`${a+1}`),valueThemeKeys:[\"--order\"]}]),E(\"col-auto\",[[\"grid-column\",\"auto\"]]),k(\"col\",{supportsNegative:!0,handleBareValue:({value:x})=>P(x)?x:null,themeKeys:[\"--grid-column\"],handle:x=>[l(\"grid-column\",x)]}),E(\"col-span-full\",[[\"grid-column\",\"1 / -1\"]]),k(\"col-span\",{handleBareValue:({value:x})=>P(x)?x:null,handle:x=>[l(\"grid-column\",`span ${x} / span ${x}`)]}),E(\"col-start-auto\",[[\"grid-column-start\",\"auto\"]]),k(\"col-start\",{supportsNegative:!0,handleBareValue:({value:x})=>P(x)?x:null,themeKeys:[\"--grid-column-start\"],handle:x=>[l(\"grid-column-start\",x)]}),E(\"col-end-auto\",[[\"grid-column-end\",\"auto\"]]),k(\"col-end\",{supportsNegative:!0,handleBareValue:({value:x})=>P(x)?x:null,themeKeys:[\"--grid-column-end\"],handle:x=>[l(\"grid-column-end\",x)]}),F(\"col-span\",()=>[{values:Array.from({length:12},(x,a)=>`${a+1}`),valueThemeKeys:[]}]),F(\"col-start\",()=>[{supportsNegative:!0,values:Array.from({length:13},(x,a)=>`${a+1}`),valueThemeKeys:[\"--grid-column-start\"]}]),F(\"col-end\",()=>[{supportsNegative:!0,values:Array.from({length:13},(x,a)=>`${a+1}`),valueThemeKeys:[\"--grid-column-end\"]}]),E(\"row-auto\",[[\"grid-row\",\"auto\"]]),k(\"row\",{supportsNegative:!0,handleBareValue:({value:x})=>P(x)?x:null,themeKeys:[\"--grid-row\"],handle:x=>[l(\"grid-row\",x)]}),E(\"row-span-full\",[[\"grid-row\",\"1 / -1\"]]),k(\"row-span\",{themeKeys:[],handleBareValue:({value:x})=>P(x)?x:null,handle:x=>[l(\"grid-row\",`span ${x} / span ${x}`)]}),E(\"row-start-auto\",[[\"grid-row-start\",\"auto\"]]),k(\"row-start\",{supportsNegative:!0,handleBareValue:({value:x})=>P(x)?x:null,themeKeys:[\"--grid-row-start\"],handle:x=>[l(\"grid-row-start\",x)]}),E(\"row-end-auto\",[[\"grid-row-end\",\"auto\"]]),k(\"row-end\",{supportsNegative:!0,handleBareValue:({value:x})=>P(x)?x:null,themeKeys:[\"--grid-row-end\"],handle:x=>[l(\"grid-row-end\",x)]}),F(\"row-span\",()=>[{values:Array.from({length:12},(x,a)=>`${a+1}`),valueThemeKeys:[]}]),F(\"row-start\",()=>[{supportsNegative:!0,values:Array.from({length:13},(x,a)=>`${a+1}`),valueThemeKeys:[\"--grid-row-start\"]}]),F(\"row-end\",()=>[{supportsNegative:!0,values:Array.from({length:13},(x,a)=>`${a+1}`),valueThemeKeys:[\"--grid-row-end\"]}]),E(\"float-start\",[[\"float\",\"inline-start\"]]),E(\"float-end\",[[\"float\",\"inline-end\"]]),E(\"float-right\",[[\"float\",\"right\"]]),E(\"float-left\",[[\"float\",\"left\"]]),E(\"float-none\",[[\"float\",\"none\"]]),E(\"clear-start\",[[\"clear\",\"inline-start\"]]),E(\"clear-end\",[[\"clear\",\"inline-end\"]]),E(\"clear-right\",[[\"clear\",\"right\"]]),E(\"clear-left\",[[\"clear\",\"left\"]]),E(\"clear-both\",[[\"clear\",\"both\"]]),E(\"clear-none\",[[\"clear\",\"none\"]]);for(let[x,a]of[[\"m\",\"margin\"],[\"mx\",\"margin-inline\"],[\"my\",\"margin-block\"],[\"ms\",\"margin-inline-start\"],[\"me\",\"margin-inline-end\"],[\"mt\",\"margin-top\"],[\"mr\",\"margin-right\"],[\"mb\",\"margin-bottom\"],[\"ml\",\"margin-left\"]])E(`${x}-auto`,[[a,\"auto\"]]),t(x,[\"--margin\",\"--spacing\"],B=>[l(a,B)],{supportsNegative:!0});E(\"box-border\",[[\"box-sizing\",\"border-box\"]]),E(\"box-content\",[[\"box-sizing\",\"content-box\"]]),E(\"line-clamp-none\",[[\"overflow\",\"visible\"],[\"display\",\"block\"],[\"-webkit-box-orient\",\"horizontal\"],[\"-webkit-line-clamp\",\"unset\"]]),k(\"line-clamp\",{themeKeys:[\"--line-clamp\"],handleBareValue:({value:x})=>P(x)?x:null,handle:x=>[l(\"overflow\",\"hidden\"),l(\"display\",\"-webkit-box\"),l(\"-webkit-box-orient\",\"vertical\"),l(\"-webkit-line-clamp\",x)]}),F(\"line-clamp\",()=>[{values:[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\"],valueThemeKeys:[\"--line-clamp\"]}]),E(\"block\",[[\"display\",\"block\"]]),E(\"inline-block\",[[\"display\",\"inline-block\"]]),E(\"inline\",[[\"display\",\"inline\"]]),E(\"hidden\",[[\"display\",\"none\"]]),E(\"inline-flex\",[[\"display\",\"inline-flex\"]]),E(\"table\",[[\"display\",\"table\"]]),E(\"inline-table\",[[\"display\",\"inline-table\"]]),E(\"table-caption\",[[\"display\",\"table-caption\"]]),E(\"table-cell\",[[\"display\",\"table-cell\"]]),E(\"table-column\",[[\"display\",\"table-column\"]]),E(\"table-column-group\",[[\"display\",\"table-column-group\"]]),E(\"table-footer-group\",[[\"display\",\"table-footer-group\"]]),E(\"table-header-group\",[[\"display\",\"table-header-group\"]]),E(\"table-row-group\",[[\"display\",\"table-row-group\"]]),E(\"table-row\",[[\"display\",\"table-row\"]]),E(\"flow-root\",[[\"display\",\"flow-root\"]]),E(\"flex\",[[\"display\",\"flex\"]]),E(\"grid\",[[\"display\",\"grid\"]]),E(\"inline-grid\",[[\"display\",\"inline-grid\"]]),E(\"contents\",[[\"display\",\"contents\"]]),E(\"list-item\",[[\"display\",\"list-item\"]]),E(\"field-sizing-content\",[[\"field-sizing\",\"content\"]]),E(\"field-sizing-fixed\",[[\"field-sizing\",\"fixed\"]]),E(\"aspect-auto\",[[\"aspect-ratio\",\"auto\"]]),E(\"aspect-square\",[[\"aspect-ratio\",\"1 / 1\"]]),k(\"aspect\",{themeKeys:[\"--aspect\"],handleBareValue:({fraction:x})=>{if(x===null)return null;let[a,B]=J(x,\"/\");return!P(a)||!P(B)?null:x},handle:x=>[l(\"aspect-ratio\",x)]});for(let[x,a]of[[\"auto\",\"auto\"],[\"full\",\"100%\"],[\"svw\",\"100svw\"],[\"lvw\",\"100lvw\"],[\"dvw\",\"100dvw\"],[\"svh\",\"100svh\"],[\"lvh\",\"100lvh\"],[\"dvh\",\"100dvh\"],[\"min\",\"min-content\"],[\"max\",\"max-content\"],[\"fit\",\"fit-content\"]])E(`size-${x}`,[[\"--tw-sort\",\"size\"],[\"width\",a],[\"height\",a]]),E(`w-${x}`,[[\"width\",a]]),E(`h-${x}`,[[\"height\",a]]),E(`min-w-${x}`,[[\"min-width\",a]]),E(`min-h-${x}`,[[\"min-height\",a]]),x!==\"auto\"&&(E(`max-w-${x}`,[[\"max-width\",a]]),E(`max-h-${x}`,[[\"max-height\",a]]));E(\"w-screen\",[[\"width\",\"100vw\"]]),E(\"min-w-screen\",[[\"min-width\",\"100vw\"]]),E(\"max-w-screen\",[[\"max-width\",\"100vw\"]]),E(\"h-screen\",[[\"height\",\"100vh\"]]),E(\"min-h-screen\",[[\"min-height\",\"100vh\"]]),E(\"max-h-screen\",[[\"max-height\",\"100vh\"]]),E(\"max-w-none\",[[\"max-width\",\"none\"]]),E(\"max-h-none\",[[\"max-height\",\"none\"]]),t(\"size\",[\"--size\",\"--spacing\"],x=>[l(\"--tw-sort\",\"size\"),l(\"width\",x),l(\"height\",x)],{supportsFractions:!0});for(let[x,a,B]of[[\"w\",[\"--width\",\"--spacing\",\"--container\"],\"width\"],[\"min-w\",[\"--min-width\",\"--spacing\",\"--container\"],\"min-width\"],[\"max-w\",[\"--max-width\",\"--spacing\",\"--container\"],\"max-width\"],[\"h\",[\"--height\",\"--spacing\"],\"height\"],[\"min-h\",[\"--min-height\",\"--height\",\"--spacing\"],\"min-height\"],[\"max-h\",[\"--max-height\",\"--height\",\"--spacing\"],\"max-height\"]])t(x,a,u=>[l(B,u)],{supportsFractions:!0});j.static(\"container\",()=>{let x=[...A.namespace(\"--breakpoint\").values()];x.sort((B,u)=>Q6(B,u,\"asc\"));let a=[l(\"--tw-sort\",\"--tw-container-component\"),l(\"width\",\"100%\")];for(let B of x)a.push(AA(\"@media\",`(width >= ${B})`,[l(\"max-width\",B)]));return a}),E(\"flex-auto\",[[\"flex\",\"auto\"]]),E(\"flex-initial\",[[\"flex\",\"0 auto\"]]),E(\"flex-none\",[[\"flex\",\"none\"]]),j.functional(\"flex\",x=>{if(x.value){if(x.value.kind===\"arbitrary\")return x.modifier?void 0:[l(\"flex\",x.value.value)];if(x.value.fraction){let[a,B]=J(x.value.fraction,\"/\");return!P(a)||!P(B)?void 0:[l(\"flex\",`calc(${x.value.fraction} * 100%)`)]}if(P(x.value.value))return x.modifier?void 0:[l(\"flex\",x.value.value)]}}),F(\"flex\",()=>[{supportsFractions:!0}]),k(\"shrink\",{defaultValue:\"1\",handleBareValue:({value:x})=>P(x)?x:null,handle:x=>[l(\"flex-shrink\",x)]}),k(\"grow\",{defaultValue:\"1\",handleBareValue:({value:x})=>P(x)?x:null,handle:x=>[l(\"flex-grow\",x)]}),F(\"shrink\",()=>[{values:[\"0\"],valueThemeKeys:[],hasDefaultValue:!0}]),F(\"grow\",()=>[{values:[\"0\"],valueThemeKeys:[],hasDefaultValue:!0}]),E(\"basis-auto\",[[\"flex-basis\",\"auto\"]]),E(\"basis-full\",[[\"flex-basis\",\"100%\"]]),t(\"basis\",[\"--flex-basis\",\"--spacing\",\"--container\"],x=>[l(\"flex-basis\",x)],{supportsFractions:!0}),E(\"table-auto\",[[\"table-layout\",\"auto\"]]),E(\"table-fixed\",[[\"table-layout\",\"fixed\"]]),E(\"caption-top\",[[\"caption-side\",\"top\"]]),E(\"caption-bottom\",[[\"caption-side\",\"bottom\"]]),E(\"border-collapse\",[[\"border-collapse\",\"collapse\"]]),E(\"border-separate\",[[\"border-collapse\",\"separate\"]]);let q=()=>V([d(\"--tw-border-spacing-x\",\"0\",\"<length>\"),d(\"--tw-border-spacing-y\",\"0\",\"<length>\")]);t(\"border-spacing\",[\"--border-spacing\",\"--spacing\"],x=>[q(),l(\"--tw-border-spacing-x\",x),l(\"--tw-border-spacing-y\",x),l(\"border-spacing\",\"var(--tw-border-spacing-x) var(--tw-border-spacing-y)\")]),t(\"border-spacing-x\",[\"--border-spacing\",\"--spacing\"],x=>[q(),l(\"--tw-border-spacing-x\",x),l(\"border-spacing\",\"var(--tw-border-spacing-x) var(--tw-border-spacing-y)\")]),t(\"border-spacing-y\",[\"--border-spacing\",\"--spacing\"],x=>[q(),l(\"--tw-border-spacing-y\",x),l(\"border-spacing\",\"var(--tw-border-spacing-x) var(--tw-border-spacing-y)\")]),E(\"origin-center\",[[\"transform-origin\",\"center\"]]),E(\"origin-top\",[[\"transform-origin\",\"top\"]]),E(\"origin-top-right\",[[\"transform-origin\",\"top right\"]]),E(\"origin-right\",[[\"transform-origin\",\"right\"]]),E(\"origin-bottom-right\",[[\"transform-origin\",\"bottom right\"]]),E(\"origin-bottom\",[[\"transform-origin\",\"bottom\"]]),E(\"origin-bottom-left\",[[\"transform-origin\",\"bottom left\"]]),E(\"origin-left\",[[\"transform-origin\",\"left\"]]),E(\"origin-top-left\",[[\"transform-origin\",\"top left\"]]),k(\"origin\",{themeKeys:[\"--transform-origin\"],handle:x=>[l(\"transform-origin\",x)]}),E(\"perspective-origin-center\",[[\"perspective-origin\",\"center\"]]),E(\"perspective-origin-top\",[[\"perspective-origin\",\"top\"]]),E(\"perspective-origin-top-right\",[[\"perspective-origin\",\"top right\"]]),E(\"perspective-origin-right\",[[\"perspective-origin\",\"right\"]]),E(\"perspective-origin-bottom-right\",[[\"perspective-origin\",\"bottom right\"]]),E(\"perspective-origin-bottom\",[[\"perspective-origin\",\"bottom\"]]),E(\"perspective-origin-bottom-left\",[[\"perspective-origin\",\"bottom left\"]]),E(\"perspective-origin-left\",[[\"perspective-origin\",\"left\"]]),E(\"perspective-origin-top-left\",[[\"perspective-origin\",\"top left\"]]),k(\"perspective-origin\",{themeKeys:[\"--perspective-origin\"],handle:x=>[l(\"perspective-origin\",x)]}),E(\"perspective-none\",[[\"perspective\",\"none\"]]),k(\"perspective\",{themeKeys:[\"--perspective\"],handle:x=>[l(\"perspective\",x)]});let e=()=>V([d(\"--tw-translate-x\",\"0\"),d(\"--tw-translate-y\",\"0\"),d(\"--tw-translate-z\",\"0\")]);E(\"translate-none\",[[\"translate\",\"none\"]]),E(\"-translate-full\",[e,[\"--tw-translate-x\",\"-100%\"],[\"--tw-translate-y\",\"-100%\"],[\"translate\",\"var(--tw-translate-x) var(--tw-translate-y)\"]]),E(\"translate-full\",[e,[\"--tw-translate-x\",\"100%\"],[\"--tw-translate-y\",\"100%\"],[\"translate\",\"var(--tw-translate-x) var(--tw-translate-y)\"]]),t(\"translate\",[\"--translate\",\"--spacing\"],x=>[e(),l(\"--tw-translate-x\",x),l(\"--tw-translate-y\",x),l(\"translate\",\"var(--tw-translate-x) var(--tw-translate-y)\")],{supportsNegative:!0,supportsFractions:!0});for(let x of[\"x\",\"y\"])E(`-translate-${x}-full`,[e,[`--tw-translate-${x}`,\"-100%\"],[\"translate\",\"var(--tw-translate-x) var(--tw-translate-y)\"]]),E(`translate-${x}-full`,[e,[`--tw-translate-${x}`,\"100%\"],[\"translate\",\"var(--tw-translate-x) var(--tw-translate-y)\"]]),t(`translate-${x}`,[\"--translate\",\"--spacing\"],a=>[e(),l(`--tw-translate-${x}`,a),l(\"translate\",\"var(--tw-translate-x) var(--tw-translate-y)\")],{supportsNegative:!0,supportsFractions:!0});t(\"translate-z\",[\"--translate\",\"--spacing\"],x=>[e(),l(\"--tw-translate-z\",x),l(\"translate\",\"var(--tw-translate-x) var(--tw-translate-y) var(--tw-translate-z)\")],{supportsNegative:!0}),E(\"translate-3d\",[e,[\"translate\",\"var(--tw-translate-x) var(--tw-translate-y) var(--tw-translate-z)\"]]);let r=()=>V([d(\"--tw-scale-x\",\"1\"),d(\"--tw-scale-y\",\"1\"),d(\"--tw-scale-z\",\"1\")]);E(\"scale-none\",[[\"scale\",\"none\"]]);function n({negative:x}){return a=>{if(!a.value||a.modifier)return;let B;return a.value.kind===\"arbitrary\"?(B=a.value.value,[l(\"scale\",B)]):(B=A.resolve(a.value.value,[\"--scale\"]),!B&&P(a.value.value)&&(B=`${a.value.value}%`),B?(B=x?`calc(${B} * -1)`:B,[r(),l(\"--tw-scale-x\",B),l(\"--tw-scale-y\",B),l(\"--tw-scale-z\",B),l(\"scale\",\"var(--tw-scale-x) var(--tw-scale-y)\")]):void 0)}}j.functional(\"-scale\",n({negative:!0})),j.functional(\"scale\",n({negative:!1})),F(\"scale\",()=>[{supportsNegative:!0,values:[\"0\",\"50\",\"75\",\"90\",\"95\",\"100\",\"105\",\"110\",\"125\",\"150\",\"200\"],valueThemeKeys:[\"--scale\"]}]);for(let x of[\"x\",\"y\",\"z\"])k(`scale-${x}`,{supportsNegative:!0,themeKeys:[\"--scale\"],handleBareValue:({value:a})=>P(a)?`${a}%`:null,handle:a=>[r(),l(`--tw-scale-${x}`,a),l(\"scale\",`var(--tw-scale-x) var(--tw-scale-y)${x===\"z\"?\" var(--tw-scale-z)\":\"\"}`)]}),F(`scale-${x}`,()=>[{supportsNegative:!0,values:[\"0\",\"50\",\"75\",\"90\",\"95\",\"100\",\"105\",\"110\",\"125\",\"150\",\"200\"],valueThemeKeys:[\"--scale\"]}]);E(\"scale-3d\",[r,[\"scale\",\"var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)\"]]),E(\"rotate-none\",[[\"rotate\",\"none\"]]);function $({negative:x}){return a=>{if(!a.value||a.modifier)return;let B;if(a.value.kind===\"arbitrary\"){B=a.value.value;let u=a.value.dataType??qA(B,[\"angle\",\"vector\"]);if(u===\"vector\")return[l(\"rotate\",`${B} var(--tw-rotate)`)];if(u!==\"angle\")return[l(\"rotate\",B)]}else if(B=A.resolve(a.value.value,[\"--rotate\"]),!B&&P(a.value.value)&&(B=`${a.value.value}deg`),!B)return;return[l(\"rotate\",x?`calc(${B} * -1)`:B)]}}j.functional(\"-rotate\",$({negative:!0})),j.functional(\"rotate\",$({negative:!1})),F(\"rotate\",()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"3\",\"6\",\"12\",\"45\",\"90\",\"180\"],valueThemeKeys:[\"--rotate\"]}]);{let x=[\"var(--tw-rotate-x,)\",\"var(--tw-rotate-y,)\",\"var(--tw-rotate-z,)\",\"var(--tw-skew-x,)\",\"var(--tw-skew-y,)\"].join(\" \"),a=()=>V([d(\"--tw-rotate-x\"),d(\"--tw-rotate-y\"),d(\"--tw-rotate-z\"),d(\"--tw-skew-x\"),d(\"--tw-skew-y\")]);for(let B of[\"x\",\"y\",\"z\"])k(`rotate-${B}`,{supportsNegative:!0,themeKeys:[\"--rotate\"],handleBareValue:({value:u})=>P(u)?`${u}deg`:null,handle:u=>[a(),l(`--tw-rotate-${B}`,`rotate${B.toUpperCase()}(${u})`),l(\"transform\",x)]}),F(`rotate-${B}`,()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"3\",\"6\",\"12\",\"45\",\"90\",\"180\"],valueThemeKeys:[\"--rotate\"]}]);k(\"skew\",{supportsNegative:!0,themeKeys:[\"--skew\"],handleBareValue:({value:B})=>P(B)?`${B}deg`:null,handle:B=>[a(),l(\"--tw-skew-x\",`skewX(${B})`),l(\"--tw-skew-y\",`skewY(${B})`),l(\"transform\",x)]}),k(\"skew-x\",{supportsNegative:!0,themeKeys:[\"--skew\"],handleBareValue:({value:B})=>P(B)?`${B}deg`:null,handle:B=>[a(),l(\"--tw-skew-x\",`skewX(${B})`),l(\"transform\",x)]}),k(\"skew-y\",{supportsNegative:!0,themeKeys:[\"--skew\"],handleBareValue:({value:B})=>P(B)?`${B}deg`:null,handle:B=>[a(),l(\"--tw-skew-y\",`skewY(${B})`),l(\"transform\",x)]}),F(\"skew\",()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"3\",\"6\",\"12\"],valueThemeKeys:[\"--skew\"]}]),F(\"skew-x\",()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"3\",\"6\",\"12\"],valueThemeKeys:[\"--skew\"]}]),F(\"skew-y\",()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"3\",\"6\",\"12\"],valueThemeKeys:[\"--skew\"]}]),j.functional(\"transform\",B=>{if(B.modifier)return;let u=null;if(B.value?B.value.kind===\"arbitrary\"&&(u=B.value.value):u=x,u!==null)return[a(),l(\"transform\",u)]}),F(\"transform\",()=>[{hasDefaultValue:!0}]),E(\"transform-cpu\",[[\"transform\",x]]),E(\"transform-gpu\",[[\"transform\",`translateZ(0) ${x}`]]),E(\"transform-none\",[[\"transform\",\"none\"]])}E(\"transform-flat\",[[\"transform-style\",\"flat\"]]),E(\"transform-3d\",[[\"transform-style\",\"preserve-3d\"]]),E(\"transform-content\",[[\"transform-box\",\"content-box\"]]),E(\"transform-border\",[[\"transform-box\",\"border-box\"]]),E(\"transform-fill\",[[\"transform-box\",\"fill-box\"]]),E(\"transform-stroke\",[[\"transform-box\",\"stroke-box\"]]),E(\"transform-view\",[[\"transform-box\",\"view-box\"]]),E(\"backface-visible\",[[\"backface-visibility\",\"visible\"]]),E(\"backface-hidden\",[[\"backface-visibility\",\"hidden\"]]);for(let x of[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\"])E(`cursor-${x}`,[[\"cursor\",x]]);k(\"cursor\",{themeKeys:[\"--cursor\"],handle:x=>[l(\"cursor\",x)]});for(let x of[\"auto\",\"none\",\"manipulation\"])E(`touch-${x}`,[[\"touch-action\",x]]);let i=()=>V([d(\"--tw-pan-x\"),d(\"--tw-pan-y\"),d(\"--tw-pinch-zoom\")]);for(let x of[\"x\",\"left\",\"right\"])E(`touch-pan-${x}`,[i,[\"--tw-pan-x\",`pan-${x}`],[\"touch-action\",\"var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)\"]]);for(let x of[\"y\",\"up\",\"down\"])E(`touch-pan-${x}`,[i,[\"--tw-pan-y\",`pan-${x}`],[\"touch-action\",\"var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)\"]]);E(\"touch-pinch-zoom\",[i,[\"--tw-pinch-zoom\",\"pinch-zoom\"],[\"touch-action\",\"var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)\"]]);for(let x of[\"none\",\"text\",\"all\",\"auto\"])E(`select-${x}`,[[\"-webkit-user-select\",x],[\"user-select\",x]]);E(\"resize-none\",[[\"resize\",\"none\"]]),E(\"resize-x\",[[\"resize\",\"horizontal\"]]),E(\"resize-y\",[[\"resize\",\"vertical\"]]),E(\"resize\",[[\"resize\",\"both\"]]),E(\"snap-none\",[[\"scroll-snap-type\",\"none\"]]);let s=()=>V([d(\"--tw-scroll-snap-strictness\",\"proximity\",\"*\")]);for(let x of[\"x\",\"y\",\"both\"])E(`snap-${x}`,[s,[\"scroll-snap-type\",`${x} var(--tw-scroll-snap-strictness)`]]);E(\"snap-mandatory\",[s,[\"--tw-scroll-snap-strictness\",\"mandatory\"]]),E(\"snap-proximity\",[s,[\"--tw-scroll-snap-strictness\",\"proximity\"]]),E(\"snap-align-none\",[[\"scroll-snap-align\",\"none\"]]),E(\"snap-start\",[[\"scroll-snap-align\",\"start\"]]),E(\"snap-end\",[[\"scroll-snap-align\",\"end\"]]),E(\"snap-center\",[[\"scroll-snap-align\",\"center\"]]),E(\"snap-normal\",[[\"scroll-snap-stop\",\"normal\"]]),E(\"snap-always\",[[\"scroll-snap-stop\",\"always\"]]);for(let[x,a]of[[\"scroll-m\",\"scroll-margin\"],[\"scroll-mx\",\"scroll-margin-inline\"],[\"scroll-my\",\"scroll-margin-block\"],[\"scroll-ms\",\"scroll-margin-inline-start\"],[\"scroll-me\",\"scroll-margin-inline-end\"],[\"scroll-mt\",\"scroll-margin-top\"],[\"scroll-mr\",\"scroll-margin-right\"],[\"scroll-mb\",\"scroll-margin-bottom\"],[\"scroll-ml\",\"scroll-margin-left\"]])t(x,[\"--scroll-margin\",\"--spacing\"],B=>[l(a,B)],{supportsNegative:!0});for(let[x,a]of[[\"scroll-p\",\"scroll-padding\"],[\"scroll-px\",\"scroll-padding-inline\"],[\"scroll-py\",\"scroll-padding-block\"],[\"scroll-ps\",\"scroll-padding-inline-start\"],[\"scroll-pe\",\"scroll-padding-inline-end\"],[\"scroll-pt\",\"scroll-padding-top\"],[\"scroll-pr\",\"scroll-padding-right\"],[\"scroll-pb\",\"scroll-padding-bottom\"],[\"scroll-pl\",\"scroll-padding-left\"]])t(x,[\"--scroll-padding\",\"--spacing\"],B=>[l(a,B)]);E(\"list-inside\",[[\"list-style-position\",\"inside\"]]),E(\"list-outside\",[[\"list-style-position\",\"outside\"]]),E(\"list-none\",[[\"list-style-type\",\"none\"]]),E(\"list-disc\",[[\"list-style-type\",\"disc\"]]),E(\"list-decimal\",[[\"list-style-type\",\"decimal\"]]),k(\"list\",{themeKeys:[\"--list-style-type\"],handle:x=>[l(\"list-style-type\",x)]}),E(\"list-image-none\",[[\"list-style-image\",\"none\"]]),k(\"list-image\",{themeKeys:[\"--list-style-image\"],handle:x=>[l(\"list-style-image\",x)]}),E(\"appearance-none\",[[\"appearance\",\"none\"]]),E(\"appearance-auto\",[[\"appearance\",\"auto\"]]),E(\"scheme-normal\",[[\"color-scheme\",\"normal\"]]),E(\"scheme-dark\",[[\"color-scheme\",\"dark\"]]),E(\"scheme-light\",[[\"color-scheme\",\"light\"]]),E(\"scheme-light-dark\",[[\"color-scheme\",\"light dark\"]]),E(\"scheme-only-dark\",[[\"color-scheme\",\"only dark\"]]),E(\"scheme-only-light\",[[\"color-scheme\",\"only light\"]]),E(\"columns-auto\",[[\"columns\",\"auto\"]]),k(\"columns\",{themeKeys:[\"--columns\",\"--container\"],handleBareValue:({value:x})=>P(x)?x:null,handle:x=>[l(\"columns\",x)]}),F(\"columns\",()=>[{values:Array.from({length:12},(x,a)=>`${a+1}`),valueThemeKeys:[\"--columns\",\"--container\"]}]);for(let x of[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"])E(`break-before-${x}`,[[\"break-before\",x]]);for(let x of[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"])E(`break-inside-${x}`,[[\"break-inside\",x]]);for(let x of[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"])E(`break-after-${x}`,[[\"break-after\",x]]);E(\"grid-flow-row\",[[\"grid-auto-flow\",\"row\"]]),E(\"grid-flow-col\",[[\"grid-auto-flow\",\"column\"]]),E(\"grid-flow-dense\",[[\"grid-auto-flow\",\"dense\"]]),E(\"grid-flow-row-dense\",[[\"grid-auto-flow\",\"row dense\"]]),E(\"grid-flow-col-dense\",[[\"grid-auto-flow\",\"column dense\"]]),E(\"auto-cols-auto\",[[\"grid-auto-columns\",\"auto\"]]),E(\"auto-cols-min\",[[\"grid-auto-columns\",\"min-content\"]]),E(\"auto-cols-max\",[[\"grid-auto-columns\",\"max-content\"]]),E(\"auto-cols-fr\",[[\"grid-auto-columns\",\"minmax(0, 1fr)\"]]),k(\"auto-cols\",{themeKeys:[\"--grid-auto-columns\"],handle:x=>[l(\"grid-auto-columns\",x)]}),E(\"auto-rows-auto\",[[\"grid-auto-rows\",\"auto\"]]),E(\"auto-rows-min\",[[\"grid-auto-rows\",\"min-content\"]]),E(\"auto-rows-max\",[[\"grid-auto-rows\",\"max-content\"]]),E(\"auto-rows-fr\",[[\"grid-auto-rows\",\"minmax(0, 1fr)\"]]),k(\"auto-rows\",{themeKeys:[\"--grid-auto-rows\"],handle:x=>[l(\"grid-auto-rows\",x)]}),E(\"grid-cols-none\",[[\"grid-template-columns\",\"none\"]]),E(\"grid-cols-subgrid\",[[\"grid-template-columns\",\"subgrid\"]]),k(\"grid-cols\",{themeKeys:[\"--grid-template-columns\"],handleBareValue:({value:x})=>JE(x)?`repeat(${x}, minmax(0, 1fr))`:null,handle:x=>[l(\"grid-template-columns\",x)]}),E(\"grid-rows-none\",[[\"grid-template-rows\",\"none\"]]),E(\"grid-rows-subgrid\",[[\"grid-template-rows\",\"subgrid\"]]),k(\"grid-rows\",{themeKeys:[\"--grid-template-rows\"],handleBareValue:({value:x})=>JE(x)?`repeat(${x}, minmax(0, 1fr))`:null,handle:x=>[l(\"grid-template-rows\",x)]}),F(\"grid-cols\",()=>[{values:Array.from({length:12},(x,a)=>`${a+1}`),valueThemeKeys:[\"--grid-template-columns\"]}]),F(\"grid-rows\",()=>[{values:Array.from({length:12},(x,a)=>`${a+1}`),valueThemeKeys:[\"--grid-template-rows\"]}]),E(\"flex-row\",[[\"flex-direction\",\"row\"]]),E(\"flex-row-reverse\",[[\"flex-direction\",\"row-reverse\"]]),E(\"flex-col\",[[\"flex-direction\",\"column\"]]),E(\"flex-col-reverse\",[[\"flex-direction\",\"column-reverse\"]]),E(\"flex-wrap\",[[\"flex-wrap\",\"wrap\"]]),E(\"flex-nowrap\",[[\"flex-wrap\",\"nowrap\"]]),E(\"flex-wrap-reverse\",[[\"flex-wrap\",\"wrap-reverse\"]]),E(\"place-content-center\",[[\"place-content\",\"center\"]]),E(\"place-content-start\",[[\"place-content\",\"start\"]]),E(\"place-content-end\",[[\"place-content\",\"end\"]]),E(\"place-content-center-safe\",[[\"place-content\",\"safe center\"]]),E(\"place-content-end-safe\",[[\"place-content\",\"safe end\"]]),E(\"place-content-between\",[[\"place-content\",\"space-between\"]]),E(\"place-content-around\",[[\"place-content\",\"space-around\"]]),E(\"place-content-evenly\",[[\"place-content\",\"space-evenly\"]]),E(\"place-content-baseline\",[[\"place-content\",\"baseline\"]]),E(\"place-content-stretch\",[[\"place-content\",\"stretch\"]]),E(\"place-items-center\",[[\"place-items\",\"center\"]]),E(\"place-items-start\",[[\"place-items\",\"start\"]]),E(\"place-items-end\",[[\"place-items\",\"end\"]]),E(\"place-items-center-safe\",[[\"place-items\",\"safe center\"]]),E(\"place-items-end-safe\",[[\"place-items\",\"safe end\"]]),E(\"place-items-baseline\",[[\"place-items\",\"baseline\"]]),E(\"place-items-stretch\",[[\"place-items\",\"stretch\"]]),E(\"content-normal\",[[\"align-content\",\"normal\"]]),E(\"content-center\",[[\"align-content\",\"center\"]]),E(\"content-start\",[[\"align-content\",\"flex-start\"]]),E(\"content-end\",[[\"align-content\",\"flex-end\"]]),E(\"content-center-safe\",[[\"align-content\",\"safe center\"]]),E(\"content-end-safe\",[[\"align-content\",\"safe flex-end\"]]),E(\"content-between\",[[\"align-content\",\"space-between\"]]),E(\"content-around\",[[\"align-content\",\"space-around\"]]),E(\"content-evenly\",[[\"align-content\",\"space-evenly\"]]),E(\"content-baseline\",[[\"align-content\",\"baseline\"]]),E(\"content-stretch\",[[\"align-content\",\"stretch\"]]),E(\"items-center\",[[\"align-items\",\"center\"]]),E(\"items-start\",[[\"align-items\",\"flex-start\"]]),E(\"items-end\",[[\"align-items\",\"flex-end\"]]),E(\"items-center-safe\",[[\"align-items\",\"safe center\"]]),E(\"items-end-safe\",[[\"align-items\",\"safe flex-end\"]]),E(\"items-baseline\",[[\"align-items\",\"baseline\"]]),E(\"items-baseline-last\",[[\"align-items\",\"last baseline\"]]),E(\"items-stretch\",[[\"align-items\",\"stretch\"]]),E(\"justify-normal\",[[\"justify-content\",\"normal\"]]),E(\"justify-center\",[[\"justify-content\",\"center\"]]),E(\"justify-start\",[[\"justify-content\",\"flex-start\"]]),E(\"justify-end\",[[\"justify-content\",\"flex-end\"]]),E(\"justify-center-safe\",[[\"justify-content\",\"safe center\"]]),E(\"justify-end-safe\",[[\"justify-content\",\"safe flex-end\"]]),E(\"justify-between\",[[\"justify-content\",\"space-between\"]]),E(\"justify-around\",[[\"justify-content\",\"space-around\"]]),E(\"justify-evenly\",[[\"justify-content\",\"space-evenly\"]]),E(\"justify-baseline\",[[\"justify-content\",\"baseline\"]]),E(\"justify-stretch\",[[\"justify-content\",\"stretch\"]]),E(\"justify-items-normal\",[[\"justify-items\",\"normal\"]]),E(\"justify-items-center\",[[\"justify-items\",\"center\"]]),E(\"justify-items-start\",[[\"justify-items\",\"start\"]]),E(\"justify-items-end\",[[\"justify-items\",\"end\"]]),E(\"justify-items-center-safe\",[[\"justify-items\",\"safe center\"]]),E(\"justify-items-end-safe\",[[\"justify-items\",\"safe end\"]]),E(\"justify-items-stretch\",[[\"justify-items\",\"stretch\"]]),t(\"gap\",[\"--gap\",\"--spacing\"],x=>[l(\"gap\",x)]),t(\"gap-x\",[\"--gap\",\"--spacing\"],x=>[l(\"column-gap\",x)]),t(\"gap-y\",[\"--gap\",\"--spacing\"],x=>[l(\"row-gap\",x)]),t(\"space-x\",[\"--space\",\"--spacing\"],x=>[V([d(\"--tw-space-x-reverse\",\"0\")]),EA(\":where(& > :not(:last-child))\",[l(\"--tw-sort\",\"row-gap\"),l(\"--tw-space-x-reverse\",\"0\"),l(\"margin-inline-start\",`calc(${x} * var(--tw-space-x-reverse))`),l(\"margin-inline-end\",`calc(${x} * calc(1 - var(--tw-space-x-reverse)))`)])],{supportsNegative:!0}),t(\"space-y\",[\"--space\",\"--spacing\"],x=>[V([d(\"--tw-space-y-reverse\",\"0\")]),EA(\":where(& > :not(:last-child))\",[l(\"--tw-sort\",\"column-gap\"),l(\"--tw-space-y-reverse\",\"0\"),l(\"margin-block-start\",`calc(${x} * var(--tw-space-y-reverse))`),l(\"margin-block-end\",`calc(${x} * calc(1 - var(--tw-space-y-reverse)))`)])],{supportsNegative:!0}),E(\"space-x-reverse\",[()=>V([d(\"--tw-space-x-reverse\",\"0\")]),()=>EA(\":where(& > :not(:last-child))\",[l(\"--tw-sort\",\"row-gap\"),l(\"--tw-space-x-reverse\",\"1\")])]),E(\"space-y-reverse\",[()=>V([d(\"--tw-space-y-reverse\",\"0\")]),()=>EA(\":where(& > :not(:last-child))\",[l(\"--tw-sort\",\"column-gap\"),l(\"--tw-space-y-reverse\",\"1\")])]),E(\"accent-auto\",[[\"accent-color\",\"auto\"]]),G(\"accent\",{themeKeys:[\"--accent-color\",\"--color\"],handle:x=>[l(\"accent-color\",x)]}),G(\"caret\",{themeKeys:[\"--caret-color\",\"--color\"],handle:x=>[l(\"caret-color\",x)]}),G(\"divide\",{themeKeys:[\"--divide-color\",\"--color\"],handle:x=>[EA(\":where(& > :not(:last-child))\",[l(\"--tw-sort\",\"divide-color\"),l(\"border-color\",x)])]}),E(\"place-self-auto\",[[\"place-self\",\"auto\"]]),E(\"place-self-start\",[[\"place-self\",\"start\"]]),E(\"place-self-end\",[[\"place-self\",\"end\"]]),E(\"place-self-center\",[[\"place-self\",\"center\"]]),E(\"place-self-end-safe\",[[\"place-self\",\"safe end\"]]),E(\"place-self-center-safe\",[[\"place-self\",\"safe center\"]]),E(\"place-self-stretch\",[[\"place-self\",\"stretch\"]]),E(\"self-auto\",[[\"align-self\",\"auto\"]]),E(\"self-start\",[[\"align-self\",\"flex-start\"]]),E(\"self-end\",[[\"align-self\",\"flex-end\"]]),E(\"self-center\",[[\"align-self\",\"center\"]]),E(\"self-end-safe\",[[\"align-self\",\"safe flex-end\"]]),E(\"self-center-safe\",[[\"align-self\",\"safe center\"]]),E(\"self-stretch\",[[\"align-self\",\"stretch\"]]),E(\"self-baseline\",[[\"align-self\",\"baseline\"]]),E(\"self-baseline-last\",[[\"align-self\",\"last baseline\"]]),E(\"justify-self-auto\",[[\"justify-self\",\"auto\"]]),E(\"justify-self-start\",[[\"justify-self\",\"flex-start\"]]),E(\"justify-self-end\",[[\"justify-self\",\"flex-end\"]]),E(\"justify-self-center\",[[\"justify-self\",\"center\"]]),E(\"justify-self-end-safe\",[[\"justify-self\",\"safe flex-end\"]]),E(\"justify-self-center-safe\",[[\"justify-self\",\"safe center\"]]),E(\"justify-self-stretch\",[[\"justify-self\",\"stretch\"]]);for(let x of[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"])E(`overflow-${x}`,[[\"overflow\",x]]),E(`overflow-x-${x}`,[[\"overflow-x\",x]]),E(`overflow-y-${x}`,[[\"overflow-y\",x]]);for(let x of[\"auto\",\"contain\",\"none\"])E(`overscroll-${x}`,[[\"overscroll-behavior\",x]]),E(`overscroll-x-${x}`,[[\"overscroll-behavior-x\",x]]),E(`overscroll-y-${x}`,[[\"overscroll-behavior-y\",x]]);E(\"scroll-auto\",[[\"scroll-behavior\",\"auto\"]]),E(\"scroll-smooth\",[[\"scroll-behavior\",\"smooth\"]]),E(\"truncate\",[[\"overflow\",\"hidden\"],[\"text-overflow\",\"ellipsis\"],[\"white-space\",\"nowrap\"]]),E(\"text-ellipsis\",[[\"text-overflow\",\"ellipsis\"]]),E(\"text-clip\",[[\"text-overflow\",\"clip\"]]),E(\"hyphens-none\",[[\"-webkit-hyphens\",\"none\"],[\"hyphens\",\"none\"]]),E(\"hyphens-manual\",[[\"-webkit-hyphens\",\"manual\"],[\"hyphens\",\"manual\"]]),E(\"hyphens-auto\",[[\"-webkit-hyphens\",\"auto\"],[\"hyphens\",\"auto\"]]),E(\"whitespace-normal\",[[\"white-space\",\"normal\"]]),E(\"whitespace-nowrap\",[[\"white-space\",\"nowrap\"]]),E(\"whitespace-pre\",[[\"white-space\",\"pre\"]]),E(\"whitespace-pre-line\",[[\"white-space\",\"pre-line\"]]),E(\"whitespace-pre-wrap\",[[\"white-space\",\"pre-wrap\"]]),E(\"whitespace-break-spaces\",[[\"white-space\",\"break-spaces\"]]),E(\"text-wrap\",[[\"text-wrap\",\"wrap\"]]),E(\"text-nowrap\",[[\"text-wrap\",\"nowrap\"]]),E(\"text-balance\",[[\"text-wrap\",\"balance\"]]),E(\"text-pretty\",[[\"text-wrap\",\"pretty\"]]),E(\"break-normal\",[[\"overflow-wrap\",\"normal\"],[\"word-break\",\"normal\"]]),E(\"break-words\",[[\"overflow-wrap\",\"break-word\"]]),E(\"break-all\",[[\"word-break\",\"break-all\"]]),E(\"break-keep\",[[\"word-break\",\"keep-all\"]]),E(\"wrap-anywhere\",[[\"overflow-wrap\",\"anywhere\"]]),E(\"wrap-break-word\",[[\"overflow-wrap\",\"break-word\"]]),E(\"wrap-normal\",[[\"overflow-wrap\",\"normal\"]]);for(let[x,a]of[[\"rounded\",[\"border-radius\"]],[\"rounded-s\",[\"border-start-start-radius\",\"border-end-start-radius\"]],[\"rounded-e\",[\"border-start-end-radius\",\"border-end-end-radius\"]],[\"rounded-t\",[\"border-top-left-radius\",\"border-top-right-radius\"]],[\"rounded-r\",[\"border-top-right-radius\",\"border-bottom-right-radius\"]],[\"rounded-b\",[\"border-bottom-right-radius\",\"border-bottom-left-radius\"]],[\"rounded-l\",[\"border-top-left-radius\",\"border-bottom-left-radius\"]],[\"rounded-ss\",[\"border-start-start-radius\"]],[\"rounded-se\",[\"border-start-end-radius\"]],[\"rounded-ee\",[\"border-end-end-radius\"]],[\"rounded-es\",[\"border-end-start-radius\"]],[\"rounded-tl\",[\"border-top-left-radius\"]],[\"rounded-tr\",[\"border-top-right-radius\"]],[\"rounded-br\",[\"border-bottom-right-radius\"]],[\"rounded-bl\",[\"border-bottom-left-radius\"]]])E(`${x}-none`,a.map(B=>[B,\"0\"])),E(`${x}-full`,a.map(B=>[B,\"calc(infinity * 1px)\"])),k(x,{themeKeys:[\"--radius\"],handle:B=>a.map(u=>l(u,B))});E(\"border-solid\",[[\"--tw-border-style\",\"solid\"],[\"border-style\",\"solid\"]]),E(\"border-dashed\",[[\"--tw-border-style\",\"dashed\"],[\"border-style\",\"dashed\"]]),E(\"border-dotted\",[[\"--tw-border-style\",\"dotted\"],[\"border-style\",\"dotted\"]]),E(\"border-double\",[[\"--tw-border-style\",\"double\"],[\"border-style\",\"double\"]]),E(\"border-hidden\",[[\"--tw-border-style\",\"hidden\"],[\"border-style\",\"hidden\"]]),E(\"border-none\",[[\"--tw-border-style\",\"none\"],[\"border-style\",\"none\"]]);{let x=function(B,u){j.functional(B,I=>{if(!I.value){if(I.modifier)return;let v=A.get([\"--default-border-width\"])??\"1px\",X=u.width(v);return X?[a(),...X]:void 0}if(I.value.kind===\"arbitrary\"){let v=I.value.value;switch(I.value.dataType??qA(v,[\"color\",\"line-width\",\"length\"])){case\"line-width\":case\"length\":{if(I.modifier)return;let X=u.width(v);return X?[a(),...X]:void 0}default:return v=sA(v,I.modifier,A),v===null?void 0:u.color(v)}}{let v=dA(I,A,[\"--border-color\",\"--color\"]);if(v)return u.color(v)}{if(I.modifier)return;let v=A.resolve(I.value.value,[\"--border-width\"]);if(v){let X=u.width(v);return X?[a(),...X]:void 0}if(P(I.value.value)){let X=u.width(`${I.value.value}px`);return X?[a(),...X]:void 0}}}),F(B,()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--border-color\",\"--color\"],modifiers:Array.from({length:21},(I,v)=>`${v*5}`),hasDefaultValue:!0},{values:[\"0\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--border-width\"]}])};var o=x;let a=()=>V([d(\"--tw-border-style\",\"solid\")]);x(\"border\",{width:B=>[l(\"border-style\",\"var(--tw-border-style)\"),l(\"border-width\",B)],color:B=>[l(\"border-color\",B)]}),x(\"border-x\",{width:B=>[l(\"border-inline-style\",\"var(--tw-border-style)\"),l(\"border-inline-width\",B)],color:B=>[l(\"border-inline-color\",B)]}),x(\"border-y\",{width:B=>[l(\"border-block-style\",\"var(--tw-border-style)\"),l(\"border-block-width\",B)],color:B=>[l(\"border-block-color\",B)]}),x(\"border-s\",{width:B=>[l(\"border-inline-start-style\",\"var(--tw-border-style)\"),l(\"border-inline-start-width\",B)],color:B=>[l(\"border-inline-start-color\",B)]}),x(\"border-e\",{width:B=>[l(\"border-inline-end-style\",\"var(--tw-border-style)\"),l(\"border-inline-end-width\",B)],color:B=>[l(\"border-inline-end-color\",B)]}),x(\"border-t\",{width:B=>[l(\"border-top-style\",\"var(--tw-border-style)\"),l(\"border-top-width\",B)],color:B=>[l(\"border-top-color\",B)]}),x(\"border-r\",{width:B=>[l(\"border-right-style\",\"var(--tw-border-style)\"),l(\"border-right-width\",B)],color:B=>[l(\"border-right-color\",B)]}),x(\"border-b\",{width:B=>[l(\"border-bottom-style\",\"var(--tw-border-style)\"),l(\"border-bottom-width\",B)],color:B=>[l(\"border-bottom-color\",B)]}),x(\"border-l\",{width:B=>[l(\"border-left-style\",\"var(--tw-border-style)\"),l(\"border-left-width\",B)],color:B=>[l(\"border-left-color\",B)]}),k(\"divide-x\",{defaultValue:A.get([\"--default-border-width\"])??\"1px\",themeKeys:[\"--divide-width\",\"--border-width\"],handleBareValue:({value:B})=>P(B)?`${B}px`:null,handle:B=>[V([d(\"--tw-divide-x-reverse\",\"0\")]),EA(\":where(& > :not(:last-child))\",[l(\"--tw-sort\",\"divide-x-width\"),a(),l(\"--tw-divide-x-reverse\",\"0\"),l(\"border-inline-style\",\"var(--tw-border-style)\"),l(\"border-inline-start-width\",`calc(${B} * var(--tw-divide-x-reverse))`),l(\"border-inline-end-width\",`calc(${B} * calc(1 - var(--tw-divide-x-reverse)))`)])]}),k(\"divide-y\",{defaultValue:A.get([\"--default-border-width\"])??\"1px\",themeKeys:[\"--divide-width\",\"--border-width\"],handleBareValue:({value:B})=>P(B)?`${B}px`:null,handle:B=>[V([d(\"--tw-divide-y-reverse\",\"0\")]),EA(\":where(& > :not(:last-child))\",[l(\"--tw-sort\",\"divide-y-width\"),a(),l(\"--tw-divide-y-reverse\",\"0\"),l(\"border-bottom-style\",\"var(--tw-border-style)\"),l(\"border-top-style\",\"var(--tw-border-style)\"),l(\"border-top-width\",`calc(${B} * var(--tw-divide-y-reverse))`),l(\"border-bottom-width\",`calc(${B} * calc(1 - var(--tw-divide-y-reverse)))`)])]}),F(\"divide-x\",()=>[{values:[\"0\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--divide-width\",\"--border-width\"],hasDefaultValue:!0}]),F(\"divide-y\",()=>[{values:[\"0\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--divide-width\",\"--border-width\"],hasDefaultValue:!0}]),E(\"divide-x-reverse\",[()=>V([d(\"--tw-divide-x-reverse\",\"0\")]),()=>EA(\":where(& > :not(:last-child))\",[l(\"--tw-divide-x-reverse\",\"1\")])]),E(\"divide-y-reverse\",[()=>V([d(\"--tw-divide-y-reverse\",\"0\")]),()=>EA(\":where(& > :not(:last-child))\",[l(\"--tw-divide-y-reverse\",\"1\")])]);for(let B of[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"])E(`divide-${B}`,[()=>EA(\":where(& > :not(:last-child))\",[l(\"--tw-sort\",\"divide-style\"),l(\"--tw-border-style\",B),l(\"border-style\",B)])])}E(\"bg-auto\",[[\"background-size\",\"auto\"]]),E(\"bg-cover\",[[\"background-size\",\"cover\"]]),E(\"bg-contain\",[[\"background-size\",\"contain\"]]),k(\"bg-size\",{handle(x){if(x)return[l(\"background-size\",x)]}}),E(\"bg-fixed\",[[\"background-attachment\",\"fixed\"]]),E(\"bg-local\",[[\"background-attachment\",\"local\"]]),E(\"bg-scroll\",[[\"background-attachment\",\"scroll\"]]),E(\"bg-top\",[[\"background-position\",\"top\"]]),E(\"bg-top-left\",[[\"background-position\",\"left top\"]]),E(\"bg-top-right\",[[\"background-position\",\"right top\"]]),E(\"bg-bottom\",[[\"background-position\",\"bottom\"]]),E(\"bg-bottom-left\",[[\"background-position\",\"left bottom\"]]),E(\"bg-bottom-right\",[[\"background-position\",\"right bottom\"]]),E(\"bg-left\",[[\"background-position\",\"left\"]]),E(\"bg-right\",[[\"background-position\",\"right\"]]),E(\"bg-center\",[[\"background-position\",\"center\"]]),k(\"bg-position\",{handle(x){if(x)return[l(\"background-position\",x)]}}),E(\"bg-repeat\",[[\"background-repeat\",\"repeat\"]]),E(\"bg-no-repeat\",[[\"background-repeat\",\"no-repeat\"]]),E(\"bg-repeat-x\",[[\"background-repeat\",\"repeat-x\"]]),E(\"bg-repeat-y\",[[\"background-repeat\",\"repeat-y\"]]),E(\"bg-repeat-round\",[[\"background-repeat\",\"round\"]]),E(\"bg-repeat-space\",[[\"background-repeat\",\"space\"]]),E(\"bg-none\",[[\"background-image\",\"none\"]]);{let x=function(v){let X=\"in oklab\";if(v?.kind===\"named\")switch(v.value){case\"longer\":case\"shorter\":case\"increasing\":case\"decreasing\":X=`in oklch ${v.value} hue`;break;default:X=`in ${v.value}`}else v?.kind===\"arbitrary\"&&(X=v.value);return X},a=function({negative:v}){return X=>{if(!X.value)return;if(X.value.kind===\"arbitrary\"){if(X.modifier)return;let S=X.value.value;switch(X.value.dataType??qA(S,[\"angle\"])){case\"angle\":return S=v?`calc(${S} * -1)`:`${S}`,[l(\"--tw-gradient-position\",S),l(\"background-image\",`linear-gradient(var(--tw-gradient-stops,${S}))`)];default:return v?void 0:[l(\"--tw-gradient-position\",S),l(\"background-image\",`linear-gradient(var(--tw-gradient-stops,${S}))`)]}}let f=X.value.value;if(!v&&I.has(f))f=I.get(f);else if(P(f))f=v?`calc(${f}deg * -1)`:`${f}deg`;else return;let g=x(X.modifier);return[l(\"--tw-gradient-position\",`${f}`),pA(\"@supports (background-image: linear-gradient(in lab, red, red))\",[l(\"--tw-gradient-position\",`${f} ${g}`)]),l(\"background-image\",\"linear-gradient(var(--tw-gradient-stops))\")]}},B=function({negative:v}){return X=>{if(X.value?.kind===\"arbitrary\"){if(X.modifier)return;let S=X.value.value;return[l(\"--tw-gradient-position\",S),l(\"background-image\",`conic-gradient(var(--tw-gradient-stops,${S}))`)]}let f=x(X.modifier);if(!X.value)return[l(\"--tw-gradient-position\",f),l(\"background-image\",\"conic-gradient(var(--tw-gradient-stops))\")];let g=X.value.value;if(P(g))return g=v?`calc(${g}deg * -1)`:`${g}deg`,[l(\"--tw-gradient-position\",`from ${g} ${f}`),l(\"background-image\",\"conic-gradient(var(--tw-gradient-stops))\")]}};var c=x,p=a,C=B;let u=[\"oklab\",\"oklch\",\"srgb\",\"hsl\",\"longer\",\"shorter\",\"increasing\",\"decreasing\"],I=new Map([[\"to-t\",\"to top\"],[\"to-tr\",\"to top right\"],[\"to-r\",\"to right\"],[\"to-br\",\"to bottom right\"],[\"to-b\",\"to bottom\"],[\"to-bl\",\"to bottom left\"],[\"to-l\",\"to left\"],[\"to-tl\",\"to top left\"]]);j.functional(\"-bg-linear\",a({negative:!0})),j.functional(\"bg-linear\",a({negative:!1})),F(\"bg-linear\",()=>[{values:[...I.keys()],modifiers:u},{values:[\"0\",\"30\",\"60\",\"90\",\"120\",\"150\",\"180\",\"210\",\"240\",\"270\",\"300\",\"330\"],supportsNegative:!0,modifiers:u}]),j.functional(\"-bg-conic\",B({negative:!0})),j.functional(\"bg-conic\",B({negative:!1})),F(\"bg-conic\",()=>[{hasDefaultValue:!0,modifiers:u},{values:[\"0\",\"30\",\"60\",\"90\",\"120\",\"150\",\"180\",\"210\",\"240\",\"270\",\"300\",\"330\"],supportsNegative:!0,modifiers:u}]),j.functional(\"bg-radial\",v=>{if(!v.value){let X=x(v.modifier);return[l(\"--tw-gradient-position\",X),l(\"background-image\",\"radial-gradient(var(--tw-gradient-stops))\")]}if(v.value.kind===\"arbitrary\"){if(v.modifier)return;let X=v.value.value;return[l(\"--tw-gradient-position\",X),l(\"background-image\",`radial-gradient(var(--tw-gradient-stops,${X}))`)]}}),F(\"bg-radial\",()=>[{hasDefaultValue:!0,modifiers:u}])}j.functional(\"bg\",x=>{if(x.value){if(x.value.kind===\"arbitrary\"){let a=x.value.value;switch(x.value.dataType??qA(a,[\"image\",\"color\",\"percentage\",\"position\",\"bg-size\",\"length\",\"url\"])){case\"percentage\":case\"position\":return x.modifier?void 0:[l(\"background-position\",a)];case\"bg-size\":case\"length\":case\"size\":return x.modifier?void 0:[l(\"background-size\",a)];case\"image\":case\"url\":return x.modifier?void 0:[l(\"background-image\",a)];default:return a=sA(a,x.modifier,A),a===null?void 0:[l(\"background-color\",a)]}}{let a=dA(x,A,[\"--background-color\",\"--color\"]);if(a)return[l(\"background-color\",a)]}{if(x.modifier)return;let a=A.resolve(x.value.value,[\"--background-image\"]);if(a)return[l(\"background-image\",a)]}}}),F(\"bg\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--background-color\",\"--color\"],modifiers:Array.from({length:21},(x,a)=>`${a*5}`)},{values:[],valueThemeKeys:[\"--background-image\"]}]);let h=()=>V([d(\"--tw-gradient-position\"),d(\"--tw-gradient-from\",\"#0000\",\"<color>\"),d(\"--tw-gradient-via\",\"#0000\",\"<color>\"),d(\"--tw-gradient-to\",\"#0000\",\"<color>\"),d(\"--tw-gradient-stops\"),d(\"--tw-gradient-via-stops\"),d(\"--tw-gradient-from-position\",\"0%\",\"<length-percentage>\"),d(\"--tw-gradient-via-position\",\"50%\",\"<length-percentage>\"),d(\"--tw-gradient-to-position\",\"100%\",\"<length-percentage>\")]);function L(x,a){j.functional(x,B=>{if(B.value){if(B.value.kind===\"arbitrary\"){let u=B.value.value;switch(B.value.dataType??qA(u,[\"color\",\"length\",\"percentage\"])){case\"length\":case\"percentage\":return B.modifier?void 0:a.position(u);default:return u=sA(u,B.modifier,A),u===null?void 0:a.color(u)}}{let u=dA(B,A,[\"--background-color\",\"--color\"]);if(u)return a.color(u)}{if(B.modifier)return;let u=A.resolve(B.value.value,[\"--gradient-color-stop-positions\"]);if(u)return a.position(u);if(B.value.value[B.value.value.length-1]===\"%\"&&P(B.value.value.slice(0,-1)))return a.position(B.value.value)}}}),F(x,()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--background-color\",\"--color\"],modifiers:Array.from({length:21},(B,u)=>`${u*5}`)},{values:Array.from({length:21},(B,u)=>`${u*5}%`),valueThemeKeys:[\"--gradient-color-stop-positions\"]}])}L(\"from\",{color:x=>[h(),l(\"--tw-sort\",\"--tw-gradient-from\"),l(\"--tw-gradient-from\",x),l(\"--tw-gradient-stops\",\"var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))\")],position:x=>[h(),l(\"--tw-gradient-from-position\",x)]}),E(\"via-none\",[[\"--tw-gradient-via-stops\",\"initial\"]]),L(\"via\",{color:x=>[h(),l(\"--tw-sort\",\"--tw-gradient-via\"),l(\"--tw-gradient-via\",x),l(\"--tw-gradient-via-stops\",\"var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position)\"),l(\"--tw-gradient-stops\",\"var(--tw-gradient-via-stops)\")],position:x=>[h(),l(\"--tw-gradient-via-position\",x)]}),L(\"to\",{color:x=>[h(),l(\"--tw-sort\",\"--tw-gradient-to\"),l(\"--tw-gradient-to\",x),l(\"--tw-gradient-stops\",\"var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))\")],position:x=>[h(),l(\"--tw-gradient-to-position\",x)]}),E(\"mask-none\",[[\"mask-image\",\"none\"]]),j.functional(\"mask\",x=>{if(!x.value||x.modifier||x.value.kind!==\"arbitrary\")return;let a=x.value.value;switch(x.value.dataType??qA(a,[\"image\",\"percentage\",\"position\",\"bg-size\",\"length\",\"url\"])){case\"percentage\":case\"position\":return x.modifier?void 0:[l(\"mask-position\",a)];case\"bg-size\":case\"length\":case\"size\":return[l(\"mask-size\",a)];case\"image\":case\"url\":default:return[l(\"mask-image\",a)]}}),E(\"mask-add\",[[\"mask-composite\",\"add\"]]),E(\"mask-subtract\",[[\"mask-composite\",\"subtract\"]]),E(\"mask-intersect\",[[\"mask-composite\",\"intersect\"]]),E(\"mask-exclude\",[[\"mask-composite\",\"exclude\"]]),E(\"mask-alpha\",[[\"mask-mode\",\"alpha\"]]),E(\"mask-luminance\",[[\"mask-mode\",\"luminance\"]]),E(\"mask-match\",[[\"mask-mode\",\"match-source\"]]),E(\"mask-type-alpha\",[[\"mask-type\",\"alpha\"]]),E(\"mask-type-luminance\",[[\"mask-type\",\"luminance\"]]),E(\"mask-auto\",[[\"mask-size\",\"auto\"]]),E(\"mask-cover\",[[\"mask-size\",\"cover\"]]),E(\"mask-contain\",[[\"mask-size\",\"contain\"]]),k(\"mask-size\",{handle(x){if(x)return[l(\"mask-size\",x)]}}),E(\"mask-top\",[[\"mask-position\",\"top\"]]),E(\"mask-top-left\",[[\"mask-position\",\"left top\"]]),E(\"mask-top-right\",[[\"mask-position\",\"right top\"]]),E(\"mask-bottom\",[[\"mask-position\",\"bottom\"]]),E(\"mask-bottom-left\",[[\"mask-position\",\"left bottom\"]]),E(\"mask-bottom-right\",[[\"mask-position\",\"right bottom\"]]),E(\"mask-left\",[[\"mask-position\",\"left\"]]),E(\"mask-right\",[[\"mask-position\",\"right\"]]),E(\"mask-center\",[[\"mask-position\",\"center\"]]),k(\"mask-position\",{handle(x){if(x)return[l(\"mask-position\",x)]}}),E(\"mask-repeat\",[[\"mask-repeat\",\"repeat\"]]),E(\"mask-no-repeat\",[[\"mask-repeat\",\"no-repeat\"]]),E(\"mask-repeat-x\",[[\"mask-repeat\",\"repeat-x\"]]),E(\"mask-repeat-y\",[[\"mask-repeat\",\"repeat-y\"]]),E(\"mask-repeat-round\",[[\"mask-repeat\",\"round\"]]),E(\"mask-repeat-space\",[[\"mask-repeat\",\"space\"]]),E(\"mask-clip-border\",[[\"mask-clip\",\"border-box\"]]),E(\"mask-clip-padding\",[[\"mask-clip\",\"padding-box\"]]),E(\"mask-clip-content\",[[\"mask-clip\",\"content-box\"]]),E(\"mask-clip-fill\",[[\"mask-clip\",\"fill-box\"]]),E(\"mask-clip-stroke\",[[\"mask-clip\",\"stroke-box\"]]),E(\"mask-clip-view\",[[\"mask-clip\",\"view-box\"]]),E(\"mask-no-clip\",[[\"mask-clip\",\"no-clip\"]]),E(\"mask-origin-border\",[[\"mask-origin\",\"border-box\"]]),E(\"mask-origin-padding\",[[\"mask-origin\",\"padding-box\"]]),E(\"mask-origin-content\",[[\"mask-origin\",\"content-box\"]]),E(\"mask-origin-fill\",[[\"mask-origin\",\"fill-box\"]]),E(\"mask-origin-stroke\",[[\"mask-origin\",\"stroke-box\"]]),E(\"mask-origin-view\",[[\"mask-origin\",\"view-box\"]]);let K=()=>V([d(\"--tw-mask-linear\",\"linear-gradient(#fff, #fff)\"),d(\"--tw-mask-radial\",\"linear-gradient(#fff, #fff)\"),d(\"--tw-mask-conic\",\"linear-gradient(#fff, #fff)\")]);function w(x,a){j.functional(x,B=>{if(B.value){if(B.value.kind===\"arbitrary\"){let u=B.value.value;switch(B.value.dataType??qA(u,[\"length\",\"percentage\",\"color\"])){case\"color\":return u=sA(u,B.modifier,A),u===null?void 0:a.color(u);case\"percentage\":return B.modifier||!P(u.slice(0,-1))?void 0:a.position(u);default:return B.modifier?void 0:a.position(u)}}{let u=dA(B,A,[\"--background-color\",\"--color\"]);if(u)return a.color(u)}{if(B.modifier)return;let u=qA(B.value.value,[\"number\",\"percentage\"]);if(!u)return;switch(u){case\"number\":{let I=A.resolve(null,[\"--spacing\"]);return!I||!Cj(B.value.value)?void 0:a.position(`calc(${I} * ${B.value.value})`)}case\"percentage\":return P(B.value.value.slice(0,-1))?a.position(B.value.value):void 0;default:return}}}}),F(x,()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--background-color\",\"--color\"],modifiers:Array.from({length:21},(B,u)=>`${u*5}`)},{values:Array.from({length:21},(B,u)=>`${u*5}%`),valueThemeKeys:[\"--gradient-color-stop-positions\"]}]),F(x,()=>[{values:Array.from({length:21},(B,u)=>`${u*5}%`)},{values:A.get([\"--spacing\"])?Y6:[]},{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--background-color\",\"--color\"],modifiers:Array.from({length:21},(B,u)=>`${u*5}`)}])}let R=()=>V([d(\"--tw-mask-left\",\"linear-gradient(#fff, #fff)\"),d(\"--tw-mask-right\",\"linear-gradient(#fff, #fff)\"),d(\"--tw-mask-bottom\",\"linear-gradient(#fff, #fff)\"),d(\"--tw-mask-top\",\"linear-gradient(#fff, #fff)\")]);function H(x,a,B){w(x,{color(u){let I=[K(),R(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-linear\",\"var(--tw-mask-left), var(--tw-mask-right), var(--tw-mask-bottom), var(--tw-mask-top)\")];for(let v of[\"top\",\"right\",\"bottom\",\"left\"])B[v]&&(I.push(l(`--tw-mask-${v}`,`linear-gradient(to ${v}, var(--tw-mask-${v}-from-color) var(--tw-mask-${v}-from-position), var(--tw-mask-${v}-to-color) var(--tw-mask-${v}-to-position))`)),I.push(V([d(`--tw-mask-${v}-from-position`,\"0%\"),d(`--tw-mask-${v}-to-position`,\"100%\"),d(`--tw-mask-${v}-from-color`,\"black\"),d(`--tw-mask-${v}-to-color`,\"transparent\")])),I.push(l(`--tw-mask-${v}-${a}-color`,u)));return I},position(u){let I=[K(),R(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-linear\",\"var(--tw-mask-left), var(--tw-mask-right), var(--tw-mask-bottom), var(--tw-mask-top)\")];for(let v of[\"top\",\"right\",\"bottom\",\"left\"])B[v]&&(I.push(l(`--tw-mask-${v}`,`linear-gradient(to ${v}, var(--tw-mask-${v}-from-color) var(--tw-mask-${v}-from-position), var(--tw-mask-${v}-to-color) var(--tw-mask-${v}-to-position))`)),I.push(V([d(`--tw-mask-${v}-from-position`,\"0%\"),d(`--tw-mask-${v}-to-position`,\"100%\"),d(`--tw-mask-${v}-from-color`,\"black\"),d(`--tw-mask-${v}-to-color`,\"transparent\")])),I.push(l(`--tw-mask-${v}-${a}-position`,u)));return I}})}H(\"mask-x-from\",\"from\",{top:!1,right:!0,bottom:!1,left:!0}),H(\"mask-x-to\",\"to\",{top:!1,right:!0,bottom:!1,left:!0}),H(\"mask-y-from\",\"from\",{top:!0,right:!1,bottom:!0,left:!1}),H(\"mask-y-to\",\"to\",{top:!0,right:!1,bottom:!0,left:!1}),H(\"mask-t-from\",\"from\",{top:!0,right:!1,bottom:!1,left:!1}),H(\"mask-t-to\",\"to\",{top:!0,right:!1,bottom:!1,left:!1}),H(\"mask-r-from\",\"from\",{top:!1,right:!0,bottom:!1,left:!1}),H(\"mask-r-to\",\"to\",{top:!1,right:!0,bottom:!1,left:!1}),H(\"mask-b-from\",\"from\",{top:!1,right:!1,bottom:!0,left:!1}),H(\"mask-b-to\",\"to\",{top:!1,right:!1,bottom:!0,left:!1}),H(\"mask-l-from\",\"from\",{top:!1,right:!1,bottom:!1,left:!0}),H(\"mask-l-to\",\"to\",{top:!1,right:!1,bottom:!1,left:!0});let z=()=>V([d(\"--tw-mask-linear-position\",\"0deg\"),d(\"--tw-mask-linear-from-position\",\"0%\"),d(\"--tw-mask-linear-to-position\",\"100%\"),d(\"--tw-mask-linear-from-color\",\"black\"),d(\"--tw-mask-linear-to-color\",\"transparent\")]);k(\"mask-linear\",{defaultValue:null,supportsNegative:!0,supportsFractions:!1,handleBareValue(x){return P(x.value)?`calc(1deg * ${x.value})`:null},handleNegativeBareValue(x){return P(x.value)?`calc(1deg * -${x.value})`:null},handle:x=>[K(),z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-linear\",\"linear-gradient(var(--tw-mask-linear-stops, var(--tw-mask-linear-position)))\"),l(\"--tw-mask-linear-position\",x)]}),F(\"mask-linear\",()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"3\",\"6\",\"12\",\"45\",\"90\",\"180\"]}]),w(\"mask-linear-from\",{color:x=>[K(),z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-linear-stops\",\"var(--tw-mask-linear-position), var(--tw-mask-linear-from-color) var(--tw-mask-linear-from-position), var(--tw-mask-linear-to-color) var(--tw-mask-linear-to-position)\"),l(\"--tw-mask-linear\",\"linear-gradient(var(--tw-mask-linear-stops))\"),l(\"--tw-mask-linear-from-color\",x)],position:x=>[K(),z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-linear-stops\",\"var(--tw-mask-linear-position), var(--tw-mask-linear-from-color) var(--tw-mask-linear-from-position), var(--tw-mask-linear-to-color) var(--tw-mask-linear-to-position)\"),l(\"--tw-mask-linear\",\"linear-gradient(var(--tw-mask-linear-stops))\"),l(\"--tw-mask-linear-from-position\",x)]}),w(\"mask-linear-to\",{color:x=>[K(),z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-linear-stops\",\"var(--tw-mask-linear-position), var(--tw-mask-linear-from-color) var(--tw-mask-linear-from-position), var(--tw-mask-linear-to-color) var(--tw-mask-linear-to-position)\"),l(\"--tw-mask-linear\",\"linear-gradient(var(--tw-mask-linear-stops))\"),l(\"--tw-mask-linear-to-color\",x)],position:x=>[K(),z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-linear-stops\",\"var(--tw-mask-linear-position), var(--tw-mask-linear-from-color) var(--tw-mask-linear-from-position), var(--tw-mask-linear-to-color) var(--tw-mask-linear-to-position)\"),l(\"--tw-mask-linear\",\"linear-gradient(var(--tw-mask-linear-stops))\"),l(\"--tw-mask-linear-to-position\",x)]});let Z=()=>V([d(\"--tw-mask-radial-from-position\",\"0%\"),d(\"--tw-mask-radial-to-position\",\"100%\"),d(\"--tw-mask-radial-from-color\",\"black\"),d(\"--tw-mask-radial-to-color\",\"transparent\"),d(\"--tw-mask-radial-shape\",\"ellipse\"),d(\"--tw-mask-radial-size\",\"farthest-corner\"),d(\"--tw-mask-radial-position\",\"center\")]);E(\"mask-circle\",[[\"--tw-mask-radial-shape\",\"circle\"]]),E(\"mask-ellipse\",[[\"--tw-mask-radial-shape\",\"ellipse\"]]),E(\"mask-radial-closest-side\",[[\"--tw-mask-radial-size\",\"closest-side\"]]),E(\"mask-radial-farthest-side\",[[\"--tw-mask-radial-size\",\"farthest-side\"]]),E(\"mask-radial-closest-corner\",[[\"--tw-mask-radial-size\",\"closest-corner\"]]),E(\"mask-radial-farthest-corner\",[[\"--tw-mask-radial-size\",\"farthest-corner\"]]),E(\"mask-radial-at-top\",[[\"--tw-mask-radial-position\",\"top\"]]),E(\"mask-radial-at-top-left\",[[\"--tw-mask-radial-position\",\"top left\"]]),E(\"mask-radial-at-top-right\",[[\"--tw-mask-radial-position\",\"top right\"]]),E(\"mask-radial-at-bottom\",[[\"--tw-mask-radial-position\",\"bottom\"]]),E(\"mask-radial-at-bottom-left\",[[\"--tw-mask-radial-position\",\"bottom left\"]]),E(\"mask-radial-at-bottom-right\",[[\"--tw-mask-radial-position\",\"bottom right\"]]),E(\"mask-radial-at-left\",[[\"--tw-mask-radial-position\",\"left\"]]),E(\"mask-radial-at-right\",[[\"--tw-mask-radial-position\",\"right\"]]),E(\"mask-radial-at-center\",[[\"--tw-mask-radial-position\",\"center\"]]),k(\"mask-radial-at\",{defaultValue:null,supportsNegative:!1,supportsFractions:!1,handle:x=>[l(\"--tw-mask-radial-position\",x)]}),k(\"mask-radial\",{defaultValue:null,supportsNegative:!1,supportsFractions:!1,handle:x=>[K(),Z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-radial\",\"radial-gradient(var(--tw-mask-radial-stops, var(--tw-mask-radial-size)))\"),l(\"--tw-mask-radial-size\",x)]}),w(\"mask-radial-from\",{color:x=>[K(),Z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-radial-stops\",\"var(--tw-mask-radial-shape) var(--tw-mask-radial-size) at var(--tw-mask-radial-position), var(--tw-mask-radial-from-color) var(--tw-mask-radial-from-position), var(--tw-mask-radial-to-color) var(--tw-mask-radial-to-position)\"),l(\"--tw-mask-radial\",\"radial-gradient(var(--tw-mask-radial-stops))\"),l(\"--tw-mask-radial-from-color\",x)],position:x=>[K(),Z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-radial-stops\",\"var(--tw-mask-radial-shape) var(--tw-mask-radial-size) at var(--tw-mask-radial-position), var(--tw-mask-radial-from-color) var(--tw-mask-radial-from-position), var(--tw-mask-radial-to-color) var(--tw-mask-radial-to-position)\"),l(\"--tw-mask-radial\",\"radial-gradient(var(--tw-mask-radial-stops))\"),l(\"--tw-mask-radial-from-position\",x)]}),w(\"mask-radial-to\",{color:x=>[K(),Z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-radial-stops\",\"var(--tw-mask-radial-shape) var(--tw-mask-radial-size) at var(--tw-mask-radial-position), var(--tw-mask-radial-from-color) var(--tw-mask-radial-from-position), var(--tw-mask-radial-to-color) var(--tw-mask-radial-to-position)\"),l(\"--tw-mask-radial\",\"radial-gradient(var(--tw-mask-radial-stops))\"),l(\"--tw-mask-radial-to-color\",x)],position:x=>[K(),Z(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-radial-stops\",\"var(--tw-mask-radial-shape) var(--tw-mask-radial-size) at var(--tw-mask-radial-position), var(--tw-mask-radial-from-color) var(--tw-mask-radial-from-position), var(--tw-mask-radial-to-color) var(--tw-mask-radial-to-position)\"),l(\"--tw-mask-radial\",\"radial-gradient(var(--tw-mask-radial-stops))\"),l(\"--tw-mask-radial-to-position\",x)]});let U=()=>V([d(\"--tw-mask-conic-position\",\"0deg\"),d(\"--tw-mask-conic-from-position\",\"0%\"),d(\"--tw-mask-conic-to-position\",\"100%\"),d(\"--tw-mask-conic-from-color\",\"black\"),d(\"--tw-mask-conic-to-color\",\"transparent\")]);k(\"mask-conic\",{defaultValue:null,supportsNegative:!0,supportsFractions:!1,handleBareValue(x){return P(x.value)?`calc(1deg * ${x.value})`:null},handleNegativeBareValue(x){return P(x.value)?`calc(1deg * -${x.value})`:null},handle:x=>[K(),U(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-conic\",\"conic-gradient(var(--tw-mask-conic-stops, var(--tw-mask-conic-position)))\"),l(\"--tw-mask-conic-position\",x)]}),F(\"mask-conic\",()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"3\",\"6\",\"12\",\"45\",\"90\",\"180\"]}]),w(\"mask-conic-from\",{color:x=>[K(),U(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-conic-stops\",\"from var(--tw-mask-conic-position), var(--tw-mask-conic-from-color) var(--tw-mask-conic-from-position), var(--tw-mask-conic-to-color) var(--tw-mask-conic-to-position)\"),l(\"--tw-mask-conic\",\"conic-gradient(var(--tw-mask-conic-stops))\"),l(\"--tw-mask-conic-from-color\",x)],position:x=>[K(),U(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-conic-stops\",\"from var(--tw-mask-conic-position), var(--tw-mask-conic-from-color) var(--tw-mask-conic-from-position), var(--tw-mask-conic-to-color) var(--tw-mask-conic-to-position)\"),l(\"--tw-mask-conic\",\"conic-gradient(var(--tw-mask-conic-stops))\"),l(\"--tw-mask-conic-from-position\",x)]}),w(\"mask-conic-to\",{color:x=>[K(),U(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-conic-stops\",\"from var(--tw-mask-conic-position), var(--tw-mask-conic-from-color) var(--tw-mask-conic-from-position), var(--tw-mask-conic-to-color) var(--tw-mask-conic-to-position)\"),l(\"--tw-mask-conic\",\"conic-gradient(var(--tw-mask-conic-stops))\"),l(\"--tw-mask-conic-to-color\",x)],position:x=>[K(),U(),l(\"mask-image\",\"var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic)\"),l(\"mask-composite\",\"intersect\"),l(\"--tw-mask-conic-stops\",\"from var(--tw-mask-conic-position), var(--tw-mask-conic-from-color) var(--tw-mask-conic-from-position), var(--tw-mask-conic-to-color) var(--tw-mask-conic-to-position)\"),l(\"--tw-mask-conic\",\"conic-gradient(var(--tw-mask-conic-stops))\"),l(\"--tw-mask-conic-to-position\",x)]}),E(\"box-decoration-slice\",[[\"-webkit-box-decoration-break\",\"slice\"],[\"box-decoration-break\",\"slice\"]]),E(\"box-decoration-clone\",[[\"-webkit-box-decoration-break\",\"clone\"],[\"box-decoration-break\",\"clone\"]]),E(\"bg-clip-text\",[[\"background-clip\",\"text\"]]),E(\"bg-clip-border\",[[\"background-clip\",\"border-box\"]]),E(\"bg-clip-padding\",[[\"background-clip\",\"padding-box\"]]),E(\"bg-clip-content\",[[\"background-clip\",\"content-box\"]]),E(\"bg-origin-border\",[[\"background-origin\",\"border-box\"]]),E(\"bg-origin-padding\",[[\"background-origin\",\"padding-box\"]]),E(\"bg-origin-content\",[[\"background-origin\",\"content-box\"]]);for(let x of[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"])E(`bg-blend-${x}`,[[\"background-blend-mode\",x]]),E(`mix-blend-${x}`,[[\"mix-blend-mode\",x]]);E(\"mix-blend-plus-darker\",[[\"mix-blend-mode\",\"plus-darker\"]]),E(\"mix-blend-plus-lighter\",[[\"mix-blend-mode\",\"plus-lighter\"]]),E(\"fill-none\",[[\"fill\",\"none\"]]),j.functional(\"fill\",x=>{if(!x.value)return;if(x.value.kind===\"arbitrary\"){let B=sA(x.value.value,x.modifier,A);return B===null?void 0:[l(\"fill\",B)]}let a=dA(x,A,[\"--fill\",\"--color\"]);if(a)return[l(\"fill\",a)]}),F(\"fill\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--fill\",\"--color\"],modifiers:Array.from({length:21},(x,a)=>`${a*5}`)}]),E(\"stroke-none\",[[\"stroke\",\"none\"]]),j.functional(\"stroke\",x=>{if(x.value){if(x.value.kind===\"arbitrary\"){let a=x.value.value;switch(x.value.dataType??qA(a,[\"color\",\"number\",\"length\",\"percentage\"])){case\"number\":case\"length\":case\"percentage\":return x.modifier?void 0:[l(\"stroke-width\",a)];default:return a=sA(x.value.value,x.modifier,A),a===null?void 0:[l(\"stroke\",a)]}}{let a=dA(x,A,[\"--stroke\",\"--color\"]);if(a)return[l(\"stroke\",a)]}{let a=A.resolve(x.value.value,[\"--stroke-width\"]);if(a)return[l(\"stroke-width\",a)];if(P(x.value.value))return[l(\"stroke-width\",x.value.value)]}}}),F(\"stroke\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--stroke\",\"--color\"],modifiers:Array.from({length:21},(x,a)=>`${a*5}`)},{values:[\"0\",\"1\",\"2\",\"3\"],valueThemeKeys:[\"--stroke-width\"]}]),E(\"object-contain\",[[\"object-fit\",\"contain\"]]),E(\"object-cover\",[[\"object-fit\",\"cover\"]]),E(\"object-fill\",[[\"object-fit\",\"fill\"]]),E(\"object-none\",[[\"object-fit\",\"none\"]]),E(\"object-scale-down\",[[\"object-fit\",\"scale-down\"]]),E(\"object-top\",[[\"object-position\",\"top\"]]),E(\"object-top-left\",[[\"object-position\",\"left top\"]]),E(\"object-top-right\",[[\"object-position\",\"right top\"]]),E(\"object-bottom\",[[\"object-position\",\"bottom\"]]),E(\"object-bottom-left\",[[\"object-position\",\"left bottom\"]]),E(\"object-bottom-right\",[[\"object-position\",\"right bottom\"]]),E(\"object-left\",[[\"object-position\",\"left\"]]),E(\"object-right\",[[\"object-position\",\"right\"]]),E(\"object-center\",[[\"object-position\",\"center\"]]),k(\"object\",{themeKeys:[\"--object-position\"],handle:x=>[l(\"object-position\",x)]});for(let[x,a]of[[\"p\",\"padding\"],[\"px\",\"padding-inline\"],[\"py\",\"padding-block\"],[\"ps\",\"padding-inline-start\"],[\"pe\",\"padding-inline-end\"],[\"pt\",\"padding-top\"],[\"pr\",\"padding-right\"],[\"pb\",\"padding-bottom\"],[\"pl\",\"padding-left\"]])t(x,[\"--padding\",\"--spacing\"],B=>[l(a,B)]);E(\"text-left\",[[\"text-align\",\"left\"]]),E(\"text-center\",[[\"text-align\",\"center\"]]),E(\"text-right\",[[\"text-align\",\"right\"]]),E(\"text-justify\",[[\"text-align\",\"justify\"]]),E(\"text-start\",[[\"text-align\",\"start\"]]),E(\"text-end\",[[\"text-align\",\"end\"]]),t(\"indent\",[\"--text-indent\",\"--spacing\"],x=>[l(\"text-indent\",x)],{supportsNegative:!0}),E(\"align-baseline\",[[\"vertical-align\",\"baseline\"]]),E(\"align-top\",[[\"vertical-align\",\"top\"]]),E(\"align-middle\",[[\"vertical-align\",\"middle\"]]),E(\"align-bottom\",[[\"vertical-align\",\"bottom\"]]),E(\"align-text-top\",[[\"vertical-align\",\"text-top\"]]),E(\"align-text-bottom\",[[\"vertical-align\",\"text-bottom\"]]),E(\"align-sub\",[[\"vertical-align\",\"sub\"]]),E(\"align-super\",[[\"vertical-align\",\"super\"]]),k(\"align\",{themeKeys:[],handle:x=>[l(\"vertical-align\",x)]}),j.functional(\"font\",x=>{if(!(!x.value||x.modifier)){if(x.value.kind===\"arbitrary\"){let a=x.value.value;switch(x.value.dataType??qA(a,[\"number\",\"generic-name\",\"family-name\"])){case\"generic-name\":case\"family-name\":return[l(\"font-family\",a)];default:return[V([d(\"--tw-font-weight\")]),l(\"--tw-font-weight\",a),l(\"font-weight\",a)]}}{let a=A.resolveWith(x.value.value,[\"--font\"],[\"--font-feature-settings\",\"--font-variation-settings\"]);if(a){let[B,u={}]=a;return[l(\"font-family\",B),l(\"font-feature-settings\",u[\"--font-feature-settings\"]),l(\"font-variation-settings\",u[\"--font-variation-settings\"])]}}{let a=A.resolve(x.value.value,[\"--font-weight\"]);if(a)return[V([d(\"--tw-font-weight\")]),l(\"--tw-font-weight\",a),l(\"font-weight\",a)]}}}),F(\"font\",()=>[{values:[],valueThemeKeys:[\"--font\"]},{values:[],valueThemeKeys:[\"--font-weight\"]}]),E(\"uppercase\",[[\"text-transform\",\"uppercase\"]]),E(\"lowercase\",[[\"text-transform\",\"lowercase\"]]),E(\"capitalize\",[[\"text-transform\",\"capitalize\"]]),E(\"normal-case\",[[\"text-transform\",\"none\"]]),E(\"italic\",[[\"font-style\",\"italic\"]]),E(\"not-italic\",[[\"font-style\",\"normal\"]]),E(\"underline\",[[\"text-decoration-line\",\"underline\"]]),E(\"overline\",[[\"text-decoration-line\",\"overline\"]]),E(\"line-through\",[[\"text-decoration-line\",\"line-through\"]]),E(\"no-underline\",[[\"text-decoration-line\",\"none\"]]),E(\"font-stretch-normal\",[[\"font-stretch\",\"normal\"]]),E(\"font-stretch-ultra-condensed\",[[\"font-stretch\",\"ultra-condensed\"]]),E(\"font-stretch-extra-condensed\",[[\"font-stretch\",\"extra-condensed\"]]),E(\"font-stretch-condensed\",[[\"font-stretch\",\"condensed\"]]),E(\"font-stretch-semi-condensed\",[[\"font-stretch\",\"semi-condensed\"]]),E(\"font-stretch-semi-expanded\",[[\"font-stretch\",\"semi-expanded\"]]),E(\"font-stretch-expanded\",[[\"font-stretch\",\"expanded\"]]),E(\"font-stretch-extra-expanded\",[[\"font-stretch\",\"extra-expanded\"]]),E(\"font-stretch-ultra-expanded\",[[\"font-stretch\",\"ultra-expanded\"]]),k(\"font-stretch\",{handleBareValue:({value:x})=>{if(!x.endsWith(\"%\"))return null;let a=Number(x.slice(0,-1));return!P(a)||Number.isNaN(a)||a<50||a>200?null:x},handle:x=>[l(\"font-stretch\",x)]}),F(\"font-stretch\",()=>[{values:[\"50%\",\"75%\",\"90%\",\"95%\",\"100%\",\"105%\",\"110%\",\"125%\",\"150%\",\"200%\"]}]),G(\"placeholder\",{themeKeys:[\"--background-color\",\"--color\"],handle:x=>[EA(\"&::placeholder\",[l(\"--tw-sort\",\"placeholder-color\"),l(\"color\",x)])]}),E(\"decoration-solid\",[[\"text-decoration-style\",\"solid\"]]),E(\"decoration-double\",[[\"text-decoration-style\",\"double\"]]),E(\"decoration-dotted\",[[\"text-decoration-style\",\"dotted\"]]),E(\"decoration-dashed\",[[\"text-decoration-style\",\"dashed\"]]),E(\"decoration-wavy\",[[\"text-decoration-style\",\"wavy\"]]),E(\"decoration-auto\",[[\"text-decoration-thickness\",\"auto\"]]),E(\"decoration-from-font\",[[\"text-decoration-thickness\",\"from-font\"]]),j.functional(\"decoration\",x=>{if(x.value){if(x.value.kind===\"arbitrary\"){let a=x.value.value;switch(x.value.dataType??qA(a,[\"color\",\"length\",\"percentage\"])){case\"length\":case\"percentage\":return x.modifier?void 0:[l(\"text-decoration-thickness\",a)];default:return a=sA(a,x.modifier,A),a===null?void 0:[l(\"text-decoration-color\",a)]}}{let a=A.resolve(x.value.value,[\"--text-decoration-thickness\"]);if(a)return x.modifier?void 0:[l(\"text-decoration-thickness\",a)];if(P(x.value.value))return x.modifier?void 0:[l(\"text-decoration-thickness\",`${x.value.value}px`)]}{let a=dA(x,A,[\"--text-decoration-color\",\"--color\"]);if(a)return[l(\"text-decoration-color\",a)]}}}),F(\"decoration\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--text-decoration-color\",\"--color\"],modifiers:Array.from({length:21},(x,a)=>`${a*5}`)},{values:[\"0\",\"1\",\"2\"],valueThemeKeys:[\"--text-decoration-thickness\"]}]),E(\"animate-none\",[[\"animation\",\"none\"]]),k(\"animate\",{themeKeys:[\"--animate\"],handle:x=>[l(\"animation\",x)]});{let x=[\"var(--tw-blur,)\",\"var(--tw-brightness,)\",\"var(--tw-contrast,)\",\"var(--tw-grayscale,)\",\"var(--tw-hue-rotate,)\",\"var(--tw-invert,)\",\"var(--tw-saturate,)\",\"var(--tw-sepia,)\",\"var(--tw-drop-shadow,)\"].join(\" \"),a=[\"var(--tw-backdrop-blur,)\",\"var(--tw-backdrop-brightness,)\",\"var(--tw-backdrop-contrast,)\",\"var(--tw-backdrop-grayscale,)\",\"var(--tw-backdrop-hue-rotate,)\",\"var(--tw-backdrop-invert,)\",\"var(--tw-backdrop-opacity,)\",\"var(--tw-backdrop-saturate,)\",\"var(--tw-backdrop-sepia,)\"].join(\" \"),B=()=>V([d(\"--tw-blur\"),d(\"--tw-brightness\"),d(\"--tw-contrast\"),d(\"--tw-grayscale\"),d(\"--tw-hue-rotate\"),d(\"--tw-invert\"),d(\"--tw-opacity\"),d(\"--tw-saturate\"),d(\"--tw-sepia\"),d(\"--tw-drop-shadow\"),d(\"--tw-drop-shadow-color\"),d(\"--tw-drop-shadow-alpha\",\"100%\",\"<percentage>\"),d(\"--tw-drop-shadow-size\")]),u=()=>V([d(\"--tw-backdrop-blur\"),d(\"--tw-backdrop-brightness\"),d(\"--tw-backdrop-contrast\"),d(\"--tw-backdrop-grayscale\"),d(\"--tw-backdrop-hue-rotate\"),d(\"--tw-backdrop-invert\"),d(\"--tw-backdrop-opacity\"),d(\"--tw-backdrop-saturate\"),d(\"--tw-backdrop-sepia\")]);j.functional(\"filter\",I=>{if(!I.modifier){if(I.value===null)return[B(),l(\"filter\",x)];if(I.value.kind===\"arbitrary\")return[l(\"filter\",I.value.value)];switch(I.value.value){case\"none\":return[l(\"filter\",\"none\")]}}}),j.functional(\"backdrop-filter\",I=>{if(!I.modifier){if(I.value===null)return[u(),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)];if(I.value.kind===\"arbitrary\")return[l(\"-webkit-backdrop-filter\",I.value.value),l(\"backdrop-filter\",I.value.value)];switch(I.value.value){case\"none\":return[l(\"-webkit-backdrop-filter\",\"none\"),l(\"backdrop-filter\",\"none\")]}}}),k(\"blur\",{themeKeys:[\"--blur\"],handle:I=>[B(),l(\"--tw-blur\",`blur(${I})`),l(\"filter\",x)]}),E(\"blur-none\",[B,[\"--tw-blur\",\" \"],[\"filter\",x]]),k(\"backdrop-blur\",{themeKeys:[\"--backdrop-blur\",\"--blur\"],handle:I=>[u(),l(\"--tw-backdrop-blur\",`blur(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),E(\"backdrop-blur-none\",[u,[\"--tw-backdrop-blur\",\" \"],[\"-webkit-backdrop-filter\",a],[\"backdrop-filter\",a]]),k(\"brightness\",{themeKeys:[\"--brightness\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,handle:I=>[B(),l(\"--tw-brightness\",`brightness(${I})`),l(\"filter\",x)]}),k(\"backdrop-brightness\",{themeKeys:[\"--backdrop-brightness\",\"--brightness\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,handle:I=>[u(),l(\"--tw-backdrop-brightness\",`brightness(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),F(\"brightness\",()=>[{values:[\"0\",\"50\",\"75\",\"90\",\"95\",\"100\",\"105\",\"110\",\"125\",\"150\",\"200\"],valueThemeKeys:[\"--brightness\"]}]),F(\"backdrop-brightness\",()=>[{values:[\"0\",\"50\",\"75\",\"90\",\"95\",\"100\",\"105\",\"110\",\"125\",\"150\",\"200\"],valueThemeKeys:[\"--backdrop-brightness\",\"--brightness\"]}]),k(\"contrast\",{themeKeys:[\"--contrast\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,handle:I=>[B(),l(\"--tw-contrast\",`contrast(${I})`),l(\"filter\",x)]}),k(\"backdrop-contrast\",{themeKeys:[\"--backdrop-contrast\",\"--contrast\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,handle:I=>[u(),l(\"--tw-backdrop-contrast\",`contrast(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),F(\"contrast\",()=>[{values:[\"0\",\"50\",\"75\",\"100\",\"125\",\"150\",\"200\"],valueThemeKeys:[\"--contrast\"]}]),F(\"backdrop-contrast\",()=>[{values:[\"0\",\"50\",\"75\",\"100\",\"125\",\"150\",\"200\"],valueThemeKeys:[\"--backdrop-contrast\",\"--contrast\"]}]),k(\"grayscale\",{themeKeys:[\"--grayscale\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,defaultValue:\"100%\",handle:I=>[B(),l(\"--tw-grayscale\",`grayscale(${I})`),l(\"filter\",x)]}),k(\"backdrop-grayscale\",{themeKeys:[\"--backdrop-grayscale\",\"--grayscale\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,defaultValue:\"100%\",handle:I=>[u(),l(\"--tw-backdrop-grayscale\",`grayscale(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),F(\"grayscale\",()=>[{values:[\"0\",\"25\",\"50\",\"75\",\"100\"],valueThemeKeys:[\"--grayscale\"],hasDefaultValue:!0}]),F(\"backdrop-grayscale\",()=>[{values:[\"0\",\"25\",\"50\",\"75\",\"100\"],valueThemeKeys:[\"--backdrop-grayscale\",\"--grayscale\"],hasDefaultValue:!0}]),k(\"hue-rotate\",{supportsNegative:!0,themeKeys:[\"--hue-rotate\"],handleBareValue:({value:I})=>P(I)?`${I}deg`:null,handle:I=>[B(),l(\"--tw-hue-rotate\",`hue-rotate(${I})`),l(\"filter\",x)]}),k(\"backdrop-hue-rotate\",{supportsNegative:!0,themeKeys:[\"--backdrop-hue-rotate\",\"--hue-rotate\"],handleBareValue:({value:I})=>P(I)?`${I}deg`:null,handle:I=>[u(),l(\"--tw-backdrop-hue-rotate\",`hue-rotate(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),F(\"hue-rotate\",()=>[{values:[\"0\",\"15\",\"30\",\"60\",\"90\",\"180\"],valueThemeKeys:[\"--hue-rotate\"]}]),F(\"backdrop-hue-rotate\",()=>[{values:[\"0\",\"15\",\"30\",\"60\",\"90\",\"180\"],valueThemeKeys:[\"--backdrop-hue-rotate\",\"--hue-rotate\"]}]),k(\"invert\",{themeKeys:[\"--invert\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,defaultValue:\"100%\",handle:I=>[B(),l(\"--tw-invert\",`invert(${I})`),l(\"filter\",x)]}),k(\"backdrop-invert\",{themeKeys:[\"--backdrop-invert\",\"--invert\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,defaultValue:\"100%\",handle:I=>[u(),l(\"--tw-backdrop-invert\",`invert(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),F(\"invert\",()=>[{values:[\"0\",\"25\",\"50\",\"75\",\"100\"],valueThemeKeys:[\"--invert\"],hasDefaultValue:!0}]),F(\"backdrop-invert\",()=>[{values:[\"0\",\"25\",\"50\",\"75\",\"100\"],valueThemeKeys:[\"--backdrop-invert\",\"--invert\"],hasDefaultValue:!0}]),k(\"saturate\",{themeKeys:[\"--saturate\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,handle:I=>[B(),l(\"--tw-saturate\",`saturate(${I})`),l(\"filter\",x)]}),k(\"backdrop-saturate\",{themeKeys:[\"--backdrop-saturate\",\"--saturate\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,handle:I=>[u(),l(\"--tw-backdrop-saturate\",`saturate(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),F(\"saturate\",()=>[{values:[\"0\",\"50\",\"100\",\"150\",\"200\"],valueThemeKeys:[\"--saturate\"]}]),F(\"backdrop-saturate\",()=>[{values:[\"0\",\"50\",\"100\",\"150\",\"200\"],valueThemeKeys:[\"--backdrop-saturate\",\"--saturate\"]}]),k(\"sepia\",{themeKeys:[\"--sepia\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,defaultValue:\"100%\",handle:I=>[B(),l(\"--tw-sepia\",`sepia(${I})`),l(\"filter\",x)]}),k(\"backdrop-sepia\",{themeKeys:[\"--backdrop-sepia\",\"--sepia\"],handleBareValue:({value:I})=>P(I)?`${I}%`:null,defaultValue:\"100%\",handle:I=>[u(),l(\"--tw-backdrop-sepia\",`sepia(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),F(\"sepia\",()=>[{values:[\"0\",\"50\",\"100\"],valueThemeKeys:[\"--sepia\"],hasDefaultValue:!0}]),F(\"backdrop-sepia\",()=>[{values:[\"0\",\"50\",\"100\"],valueThemeKeys:[\"--backdrop-sepia\",\"--sepia\"],hasDefaultValue:!0}]),E(\"drop-shadow-none\",[B,[\"--tw-drop-shadow\",\" \"],[\"filter\",x]]),j.functional(\"drop-shadow\",I=>{let v;if(I.modifier&&(I.modifier.kind===\"arbitrary\"?v=I.modifier.value:P(I.modifier.value)&&(v=`${I.modifier.value}%`)),!I.value){let X=A.get([\"--drop-shadow\"]),f=A.resolve(null,[\"--drop-shadow\"]);return X===null||f===null?void 0:[B(),l(\"--tw-drop-shadow-alpha\",v),...J6(\"--tw-drop-shadow-size\",X,v,g=>`var(--tw-drop-shadow-color, ${g})`),l(\"--tw-drop-shadow\",J(f,\",\").map(g=>`drop-shadow(${g})`).join(\" \")),l(\"filter\",x)]}if(I.value.kind===\"arbitrary\"){let X=I.value.value;switch(I.value.dataType??qA(X,[\"color\"])){case\"color\":return X=sA(X,I.modifier,A),X===null?void 0:[B(),l(\"--tw-drop-shadow-color\",DA(X,\"var(--tw-drop-shadow-alpha)\")),l(\"--tw-drop-shadow\",\"var(--tw-drop-shadow-size)\")];default:return I.modifier&&!v?void 0:[B(),l(\"--tw-drop-shadow-alpha\",v),...J6(\"--tw-drop-shadow-size\",X,v,f=>`var(--tw-drop-shadow-color, ${f})`),l(\"--tw-drop-shadow\",\"var(--tw-drop-shadow-size)\"),l(\"filter\",x)]}}{let X=A.get([`--drop-shadow-${I.value.value}`]),f=A.resolve(I.value.value,[\"--drop-shadow\"]);if(X&&f)return I.modifier&&!v?void 0:v?[B(),l(\"--tw-drop-shadow-alpha\",v),...J6(\"--tw-drop-shadow-size\",X,v,g=>`var(--tw-drop-shadow-color, ${g})`),l(\"--tw-drop-shadow\",\"var(--tw-drop-shadow-size)\"),l(\"filter\",x)]:[B(),l(\"--tw-drop-shadow-alpha\",v),...J6(\"--tw-drop-shadow-size\",X,v,g=>`var(--tw-drop-shadow-color, ${g})`),l(\"--tw-drop-shadow\",J(f,\",\").map(g=>`drop-shadow(${g})`).join(\" \")),l(\"filter\",x)]}{let X=dA(I,A,[\"--drop-shadow-color\",\"--color\"]);if(X)return X===\"inherit\"?[B(),l(\"--tw-drop-shadow-color\",\"inherit\"),l(\"--tw-drop-shadow\",\"var(--tw-drop-shadow-size)\")]:[B(),l(\"--tw-drop-shadow-color\",DA(X,\"var(--tw-drop-shadow-alpha)\")),l(\"--tw-drop-shadow\",\"var(--tw-drop-shadow-size)\")]}}),F(\"drop-shadow\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--drop-shadow-color\",\"--color\"],modifiers:Array.from({length:21},(I,v)=>`${v*5}`)},{valueThemeKeys:[\"--drop-shadow\"]}]),k(\"backdrop-opacity\",{themeKeys:[\"--backdrop-opacity\",\"--opacity\"],handleBareValue:({value:I})=>M6(I)?`${I}%`:null,handle:I=>[u(),l(\"--tw-backdrop-opacity\",`opacity(${I})`),l(\"-webkit-backdrop-filter\",a),l(\"backdrop-filter\",a)]}),F(\"backdrop-opacity\",()=>[{values:Array.from({length:21},(I,v)=>`${v*5}`),valueThemeKeys:[\"--backdrop-opacity\",\"--opacity\"]}])}{let x=`var(--tw-ease, ${A.resolve(null,[\"--default-transition-timing-function\"])??\"ease\"})`,a=`var(--tw-duration, ${A.resolve(null,[\"--default-transition-duration\"])??\"0s\"})`;E(\"transition-none\",[[\"transition-property\",\"none\"]]),E(\"transition-all\",[[\"transition-property\",\"all\"],[\"transition-timing-function\",x],[\"transition-duration\",a]]),E(\"transition-colors\",[[\"transition-property\",\"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to\"],[\"transition-timing-function\",x],[\"transition-duration\",a]]),E(\"transition-opacity\",[[\"transition-property\",\"opacity\"],[\"transition-timing-function\",x],[\"transition-duration\",a]]),E(\"transition-shadow\",[[\"transition-property\",\"box-shadow\"],[\"transition-timing-function\",x],[\"transition-duration\",a]]),E(\"transition-transform\",[[\"transition-property\",\"transform, translate, scale, rotate\"],[\"transition-timing-function\",x],[\"transition-duration\",a]]),k(\"transition\",{defaultValue:\"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter\",themeKeys:[\"--transition-property\"],handle:B=>[l(\"transition-property\",B),l(\"transition-timing-function\",x),l(\"transition-duration\",a)]}),E(\"transition-discrete\",[[\"transition-behavior\",\"allow-discrete\"]]),E(\"transition-normal\",[[\"transition-behavior\",\"normal\"]]),k(\"delay\",{handleBareValue:({value:B})=>P(B)?`${B}ms`:null,themeKeys:[\"--transition-delay\"],handle:B=>[l(\"transition-delay\",B)]});{let B=()=>V([d(\"--tw-duration\")]);E(\"duration-initial\",[B,[\"--tw-duration\",\"initial\"]]),j.functional(\"duration\",u=>{if(u.modifier||!u.value)return;let I=null;if(u.value.kind===\"arbitrary\"?I=u.value.value:(I=A.resolve(u.value.fraction??u.value.value,[\"--transition-duration\"]),I===null&&P(u.value.value)&&(I=`${u.value.value}ms`)),I!==null)return[B(),l(\"--tw-duration\",I),l(\"transition-duration\",I)]})}F(\"delay\",()=>[{values:[\"75\",\"100\",\"150\",\"200\",\"300\",\"500\",\"700\",\"1000\"],valueThemeKeys:[\"--transition-delay\"]}]),F(\"duration\",()=>[{values:[\"75\",\"100\",\"150\",\"200\",\"300\",\"500\",\"700\",\"1000\"],valueThemeKeys:[\"--transition-duration\"]}])}{let x=()=>V([d(\"--tw-ease\")]);E(\"ease-initial\",[x,[\"--tw-ease\",\"initial\"]]),E(\"ease-linear\",[x,[\"--tw-ease\",\"linear\"],[\"transition-timing-function\",\"linear\"]]),k(\"ease\",{themeKeys:[\"--ease\"],handle:a=>[x(),l(\"--tw-ease\",a),l(\"transition-timing-function\",a)]})}E(\"will-change-auto\",[[\"will-change\",\"auto\"]]),E(\"will-change-scroll\",[[\"will-change\",\"scroll-position\"]]),E(\"will-change-contents\",[[\"will-change\",\"contents\"]]),E(\"will-change-transform\",[[\"will-change\",\"transform\"]]),k(\"will-change\",{themeKeys:[],handle:x=>[l(\"will-change\",x)]}),E(\"content-none\",[[\"--tw-content\",\"none\"],[\"content\",\"none\"]]),k(\"content\",{themeKeys:[],handle:x=>[V([d(\"--tw-content\",'\"\"')]),l(\"--tw-content\",x),l(\"content\",\"var(--tw-content)\")]});{let x=\"var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)\",a=()=>V([d(\"--tw-contain-size\"),d(\"--tw-contain-layout\"),d(\"--tw-contain-paint\"),d(\"--tw-contain-style\")]);E(\"contain-none\",[[\"contain\",\"none\"]]),E(\"contain-content\",[[\"contain\",\"content\"]]),E(\"contain-strict\",[[\"contain\",\"strict\"]]),E(\"contain-size\",[a,[\"--tw-contain-size\",\"size\"],[\"contain\",x]]),E(\"contain-inline-size\",[a,[\"--tw-contain-size\",\"inline-size\"],[\"contain\",x]]),E(\"contain-layout\",[a,[\"--tw-contain-layout\",\"layout\"],[\"contain\",x]]),E(\"contain-paint\",[a,[\"--tw-contain-paint\",\"paint\"],[\"contain\",x]]),E(\"contain-style\",[a,[\"--tw-contain-style\",\"style\"],[\"contain\",x]]),k(\"contain\",{themeKeys:[],handle:B=>[l(\"contain\",B)]})}E(\"forced-color-adjust-none\",[[\"forced-color-adjust\",\"none\"]]),E(\"forced-color-adjust-auto\",[[\"forced-color-adjust\",\"auto\"]]),E(\"leading-none\",[()=>V([d(\"--tw-leading\")]),[\"--tw-leading\",\"1\"],[\"line-height\",\"1\"]]),t(\"leading\",[\"--leading\",\"--spacing\"],x=>[V([d(\"--tw-leading\")]),l(\"--tw-leading\",x),l(\"line-height\",x)]),k(\"tracking\",{supportsNegative:!0,themeKeys:[\"--tracking\"],handle:x=>[V([d(\"--tw-tracking\")]),l(\"--tw-tracking\",x),l(\"letter-spacing\",x)]}),E(\"antialiased\",[[\"-webkit-font-smoothing\",\"antialiased\"],[\"-moz-osx-font-smoothing\",\"grayscale\"]]),E(\"subpixel-antialiased\",[[\"-webkit-font-smoothing\",\"auto\"],[\"-moz-osx-font-smoothing\",\"auto\"]]);{let x=\"var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)\",a=()=>V([d(\"--tw-ordinal\"),d(\"--tw-slashed-zero\"),d(\"--tw-numeric-figure\"),d(\"--tw-numeric-spacing\"),d(\"--tw-numeric-fraction\")]);E(\"normal-nums\",[[\"font-variant-numeric\",\"normal\"]]),E(\"ordinal\",[a,[\"--tw-ordinal\",\"ordinal\"],[\"font-variant-numeric\",x]]),E(\"slashed-zero\",[a,[\"--tw-slashed-zero\",\"slashed-zero\"],[\"font-variant-numeric\",x]]),E(\"lining-nums\",[a,[\"--tw-numeric-figure\",\"lining-nums\"],[\"font-variant-numeric\",x]]),E(\"oldstyle-nums\",[a,[\"--tw-numeric-figure\",\"oldstyle-nums\"],[\"font-variant-numeric\",x]]),E(\"proportional-nums\",[a,[\"--tw-numeric-spacing\",\"proportional-nums\"],[\"font-variant-numeric\",x]]),E(\"tabular-nums\",[a,[\"--tw-numeric-spacing\",\"tabular-nums\"],[\"font-variant-numeric\",x]]),E(\"diagonal-fractions\",[a,[\"--tw-numeric-fraction\",\"diagonal-fractions\"],[\"font-variant-numeric\",x]]),E(\"stacked-fractions\",[a,[\"--tw-numeric-fraction\",\"stacked-fractions\"],[\"font-variant-numeric\",x]])}{let x=()=>V([d(\"--tw-outline-style\",\"solid\")]);j.static(\"outline-hidden\",()=>[l(\"--tw-outline-style\",\"none\"),l(\"outline-style\",\"none\"),AA(\"@media\",\"(forced-colors: active)\",[l(\"outline\",\"2px solid transparent\"),l(\"outline-offset\",\"2px\")])]),E(\"outline-none\",[[\"--tw-outline-style\",\"none\"],[\"outline-style\",\"none\"]]),E(\"outline-solid\",[[\"--tw-outline-style\",\"solid\"],[\"outline-style\",\"solid\"]]),E(\"outline-dashed\",[[\"--tw-outline-style\",\"dashed\"],[\"outline-style\",\"dashed\"]]),E(\"outline-dotted\",[[\"--tw-outline-style\",\"dotted\"],[\"outline-style\",\"dotted\"]]),E(\"outline-double\",[[\"--tw-outline-style\",\"double\"],[\"outline-style\",\"double\"]]),j.functional(\"outline\",a=>{if(a.value===null){if(a.modifier)return;let B=A.get([\"--default-outline-width\"])??\"1px\";return[x(),l(\"outline-style\",\"var(--tw-outline-style)\"),l(\"outline-width\",B)]}if(a.value.kind===\"arbitrary\"){let B=a.value.value;switch(a.value.dataType??qA(B,[\"color\",\"length\",\"number\",\"percentage\"])){case\"length\":case\"number\":case\"percentage\":return a.modifier?void 0:[x(),l(\"outline-style\",\"var(--tw-outline-style)\"),l(\"outline-width\",B)];default:return B=sA(B,a.modifier,A),B===null?void 0:[l(\"outline-color\",B)]}}{let B=dA(a,A,[\"--outline-color\",\"--color\"]);if(B)return[l(\"outline-color\",B)]}{if(a.modifier)return;let B=A.resolve(a.value.value,[\"--outline-width\"]);if(B)return[x(),l(\"outline-style\",\"var(--tw-outline-style)\"),l(\"outline-width\",B)];if(P(a.value.value))return[x(),l(\"outline-style\",\"var(--tw-outline-style)\"),l(\"outline-width\",`${a.value.value}px`)]}}),F(\"outline\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--outline-color\",\"--color\"],modifiers:Array.from({length:21},(a,B)=>`${B*5}`),hasDefaultValue:!0},{values:[\"0\",\"1\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--outline-width\"]}]),k(\"outline-offset\",{supportsNegative:!0,themeKeys:[\"--outline-offset\"],handleBareValue:({value:a})=>P(a)?`${a}px`:null,handle:a=>[l(\"outline-offset\",a)]}),F(\"outline-offset\",()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--outline-offset\"]}])}k(\"opacity\",{themeKeys:[\"--opacity\"],handleBareValue:({value:x})=>M6(x)?`${x}%`:null,handle:x=>[l(\"opacity\",x)]}),F(\"opacity\",()=>[{values:Array.from({length:21},(x,a)=>`${a*5}`),valueThemeKeys:[\"--opacity\"]}]),E(\"underline-offset-auto\",[[\"text-underline-offset\",\"auto\"]]),k(\"underline-offset\",{supportsNegative:!0,themeKeys:[\"--text-underline-offset\"],handleBareValue:({value:x})=>P(x)?`${x}px`:null,handle:x=>[l(\"text-underline-offset\",x)]}),F(\"underline-offset\",()=>[{supportsNegative:!0,values:[\"0\",\"1\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--text-underline-offset\"]}]),j.functional(\"text\",x=>{if(x.value){if(x.value.kind===\"arbitrary\"){let a=x.value.value;switch(x.value.dataType??qA(a,[\"color\",\"length\",\"percentage\",\"absolute-size\",\"relative-size\"])){case\"size\":case\"length\":case\"percentage\":case\"absolute-size\":case\"relative-size\":{if(x.modifier){let B=x.modifier.kind===\"arbitrary\"?x.modifier.value:A.resolve(x.modifier.value,[\"--leading\"]);if(!B&&Cj(x.modifier.value)){let u=A.resolve(null,[\"--spacing\"]);if(!u)return null;B=`calc(${u} * ${x.modifier.value})`}return!B&&x.modifier.value===\"none\"&&(B=\"1\"),B?[l(\"font-size\",a),l(\"line-height\",B)]:null}return[l(\"font-size\",a)]}default:return a=sA(a,x.modifier,A),a===null?void 0:[l(\"color\",a)]}}{let a=dA(x,A,[\"--text-color\",\"--color\"]);if(a)return[l(\"color\",a)]}{let a=A.resolveWith(x.value.value,[\"--text\"],[\"--line-height\",\"--letter-spacing\",\"--font-weight\"]);if(a){let[B,u={}]=Array.isArray(a)?a:[a];if(x.modifier){let I=x.modifier.kind===\"arbitrary\"?x.modifier.value:A.resolve(x.modifier.value,[\"--leading\"]);if(!I&&Cj(x.modifier.value)){let X=A.resolve(null,[\"--spacing\"]);if(!X)return null;I=`calc(${X} * ${x.modifier.value})`}if(!I&&x.modifier.value===\"none\"&&(I=\"1\"),!I)return null;let v=[l(\"font-size\",B)];return I&&v.push(l(\"line-height\",I)),v}return typeof u==\"string\"?[l(\"font-size\",B),l(\"line-height\",u)]:[l(\"font-size\",B),l(\"line-height\",u[\"--line-height\"]?`var(--tw-leading, ${u[\"--line-height\"]})`:void 0),l(\"letter-spacing\",u[\"--letter-spacing\"]?`var(--tw-tracking, ${u[\"--letter-spacing\"]})`:void 0),l(\"font-weight\",u[\"--font-weight\"]?`var(--tw-font-weight, ${u[\"--font-weight\"]})`:void 0)]}}}}),F(\"text\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--text-color\",\"--color\"],modifiers:Array.from({length:21},(x,a)=>`${a*5}`)},{values:[],valueThemeKeys:[\"--text\"],modifiers:[],modifierThemeKeys:[\"--leading\"]}]);let aA=()=>V([d(\"--tw-text-shadow-color\"),d(\"--tw-text-shadow-alpha\",\"100%\",\"<percentage>\")]);E(\"text-shadow-initial\",[aA,[\"--tw-text-shadow-color\",\"initial\"]]),j.functional(\"text-shadow\",x=>{let a;if(x.modifier&&(x.modifier.kind===\"arbitrary\"?a=x.modifier.value:P(x.modifier.value)&&(a=`${x.modifier.value}%`)),!x.value){let B=A.get([\"--text-shadow\"]);return B===null?void 0:[aA(),l(\"--tw-text-shadow-alpha\",a),...kj(\"text-shadow\",B,a,u=>`var(--tw-text-shadow-color, ${u})`)]}if(x.value.kind===\"arbitrary\"){let B=x.value.value;switch(x.value.dataType??qA(B,[\"color\"])){case\"color\":return B=sA(B,x.modifier,A),B===null?void 0:[aA(),l(\"--tw-text-shadow-color\",DA(B,\"var(--tw-text-shadow-alpha)\"))];default:return[aA(),l(\"--tw-text-shadow-alpha\",a),...kj(\"text-shadow\",B,a,u=>`var(--tw-text-shadow-color, ${u})`)]}}switch(x.value.value){case\"none\":return x.modifier?void 0:[aA(),l(\"text-shadow\",\"none\")];case\"inherit\":return x.modifier?void 0:[aA(),l(\"--tw-text-shadow-color\",\"inherit\")]}{let B=A.get([`--text-shadow-${x.value.value}`]);if(B)return[aA(),l(\"--tw-text-shadow-alpha\",a),...kj(\"text-shadow\",B,a,u=>`var(--tw-text-shadow-color, ${u})`)]}{let B=dA(x,A,[\"--text-shadow-color\",\"--color\"]);if(B)return[aA(),l(\"--tw-text-shadow-color\",DA(B,\"var(--tw-text-shadow-alpha)\"))]}}),F(\"text-shadow\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--text-shadow-color\",\"--color\"],modifiers:Array.from({length:21},(x,a)=>`${a*5}`)},{values:[\"none\"]},{valueThemeKeys:[\"--text-shadow\"],modifiers:Array.from({length:21},(x,a)=>`${a*5}`),hasDefaultValue:!0}]);{let x=function(f){return`var(--tw-ring-inset,) 0 0 0 calc(${f} + var(--tw-ring-offset-width)) var(--tw-ring-color, ${v})`},a=function(f){return`inset 0 0 0 ${f} var(--tw-inset-ring-color, currentcolor)`};var vA=x,Aj=a;let B=[\"var(--tw-inset-shadow)\",\"var(--tw-inset-ring-shadow)\",\"var(--tw-ring-offset-shadow)\",\"var(--tw-ring-shadow)\",\"var(--tw-shadow)\"].join(\", \"),u=\"0 0 #0000\",I=()=>V([d(\"--tw-shadow\",u),d(\"--tw-shadow-color\"),d(\"--tw-shadow-alpha\",\"100%\",\"<percentage>\"),d(\"--tw-inset-shadow\",u),d(\"--tw-inset-shadow-color\"),d(\"--tw-inset-shadow-alpha\",\"100%\",\"<percentage>\"),d(\"--tw-ring-color\"),d(\"--tw-ring-shadow\",u),d(\"--tw-inset-ring-color\"),d(\"--tw-inset-ring-shadow\",u),d(\"--tw-ring-inset\"),d(\"--tw-ring-offset-width\",\"0px\",\"<length>\"),d(\"--tw-ring-offset-color\",\"#fff\"),d(\"--tw-ring-offset-shadow\",u)]);E(\"shadow-initial\",[I,[\"--tw-shadow-color\",\"initial\"]]),j.functional(\"shadow\",f=>{let g;if(f.modifier&&(f.modifier.kind===\"arbitrary\"?g=f.modifier.value:P(f.modifier.value)&&(g=`${f.modifier.value}%`)),!f.value){let S=A.get([\"--shadow\"]);return S===null?void 0:[I(),l(\"--tw-shadow-alpha\",g),...kj(\"--tw-shadow\",S,g,_A=>`var(--tw-shadow-color, ${_A})`),l(\"box-shadow\",B)]}if(f.value.kind===\"arbitrary\"){let S=f.value.value;switch(f.value.dataType??qA(S,[\"color\"])){case\"color\":return S=sA(S,f.modifier,A),S===null?void 0:[I(),l(\"--tw-shadow-color\",DA(S,\"var(--tw-shadow-alpha)\"))];default:return[I(),l(\"--tw-shadow-alpha\",g),...kj(\"--tw-shadow\",S,g,_A=>`var(--tw-shadow-color, ${_A})`),l(\"box-shadow\",B)]}}switch(f.value.value){case\"none\":return f.modifier?void 0:[I(),l(\"--tw-shadow\",u),l(\"box-shadow\",B)];case\"inherit\":return f.modifier?void 0:[I(),l(\"--tw-shadow-color\",\"inherit\")]}{let S=A.get([`--shadow-${f.value.value}`]);if(S)return[I(),l(\"--tw-shadow-alpha\",g),...kj(\"--tw-shadow\",S,g,_A=>`var(--tw-shadow-color, ${_A})`),l(\"box-shadow\",B)]}{let S=dA(f,A,[\"--box-shadow-color\",\"--color\"]);if(S)return[I(),l(\"--tw-shadow-color\",DA(S,\"var(--tw-shadow-alpha)\"))]}}),F(\"shadow\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--box-shadow-color\",\"--color\"],modifiers:Array.from({length:21},(f,g)=>`${g*5}`)},{values:[\"none\"]},{valueThemeKeys:[\"--shadow\"],modifiers:Array.from({length:21},(f,g)=>`${g*5}`),hasDefaultValue:!0}]),E(\"inset-shadow-initial\",[I,[\"--tw-inset-shadow-color\",\"initial\"]]),j.functional(\"inset-shadow\",f=>{let g;if(f.modifier&&(f.modifier.kind===\"arbitrary\"?g=f.modifier.value:P(f.modifier.value)&&(g=`${f.modifier.value}%`)),!f.value){let S=A.get([\"--inset-shadow\"]);return S===null?void 0:[I(),l(\"--tw-inset-shadow-alpha\",g),...kj(\"--tw-inset-shadow\",S,g,_A=>`var(--tw-inset-shadow-color, ${_A})`),l(\"box-shadow\",B)]}if(f.value.kind===\"arbitrary\"){let S=f.value.value;switch(f.value.dataType??qA(S,[\"color\"])){case\"color\":return S=sA(S,f.modifier,A),S===null?void 0:[I(),l(\"--tw-inset-shadow-color\",DA(S,\"var(--tw-inset-shadow-alpha)\"))];default:return[I(),l(\"--tw-inset-shadow-alpha\",g),...kj(\"--tw-inset-shadow\",S,g,_A=>`var(--tw-inset-shadow-color, ${_A})`,\"inset \"),l(\"box-shadow\",B)]}}switch(f.value.value){case\"none\":return f.modifier?void 0:[I(),l(\"--tw-inset-shadow\",u),l(\"box-shadow\",B)];case\"inherit\":return f.modifier?void 0:[I(),l(\"--tw-inset-shadow-color\",\"inherit\")]}{let S=A.get([`--inset-shadow-${f.value.value}`]);if(S)return[I(),l(\"--tw-inset-shadow-alpha\",g),...kj(\"--tw-inset-shadow\",S,g,_A=>`var(--tw-inset-shadow-color, ${_A})`),l(\"box-shadow\",B)]}{let S=dA(f,A,[\"--box-shadow-color\",\"--color\"]);if(S)return[I(),l(\"--tw-inset-shadow-color\",DA(S,\"var(--tw-inset-shadow-alpha)\"))]}}),F(\"inset-shadow\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--box-shadow-color\",\"--color\"],modifiers:Array.from({length:21},(f,g)=>`${g*5}`)},{values:[\"none\"]},{valueThemeKeys:[\"--inset-shadow\"],modifiers:Array.from({length:21},(f,g)=>`${g*5}`),hasDefaultValue:!0}]),E(\"ring-inset\",[I,[\"--tw-ring-inset\",\"inset\"]]);let v=A.get([\"--default-ring-color\"])??\"currentcolor\";j.functional(\"ring\",f=>{if(!f.value){if(f.modifier)return;let g=A.get([\"--default-ring-width\"])??\"1px\";return[I(),l(\"--tw-ring-shadow\",x(g)),l(\"box-shadow\",B)]}if(f.value.kind===\"arbitrary\"){let g=f.value.value;switch(f.value.dataType??qA(g,[\"color\",\"length\"])){case\"length\":return f.modifier?void 0:[I(),l(\"--tw-ring-shadow\",x(g)),l(\"box-shadow\",B)];default:return g=sA(g,f.modifier,A),g===null?void 0:[l(\"--tw-ring-color\",g)]}}{let g=dA(f,A,[\"--ring-color\",\"--color\"]);if(g)return[l(\"--tw-ring-color\",g)]}{if(f.modifier)return;let g=A.resolve(f.value.value,[\"--ring-width\"]);if(g===null&&P(f.value.value)&&(g=`${f.value.value}px`),g)return[I(),l(\"--tw-ring-shadow\",x(g)),l(\"box-shadow\",B)]}}),F(\"ring\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--ring-color\",\"--color\"],modifiers:Array.from({length:21},(f,g)=>`${g*5}`)},{values:[\"0\",\"1\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--ring-width\"],hasDefaultValue:!0}]),j.functional(\"inset-ring\",f=>{if(!f.value)return f.modifier?void 0:[I(),l(\"--tw-inset-ring-shadow\",a(\"1px\")),l(\"box-shadow\",B)];if(f.value.kind===\"arbitrary\"){let g=f.value.value;switch(f.value.dataType??qA(g,[\"color\",\"length\"])){case\"length\":return f.modifier?void 0:[I(),l(\"--tw-inset-ring-shadow\",a(g)),l(\"box-shadow\",B)];default:return g=sA(g,f.modifier,A),g===null?void 0:[l(\"--tw-inset-ring-color\",g)]}}{let g=dA(f,A,[\"--ring-color\",\"--color\"]);if(g)return[l(\"--tw-inset-ring-color\",g)]}{if(f.modifier)return;let g=A.resolve(f.value.value,[\"--ring-width\"]);if(g===null&&P(f.value.value)&&(g=`${f.value.value}px`),g)return[I(),l(\"--tw-inset-ring-shadow\",a(g)),l(\"box-shadow\",B)]}}),F(\"inset-ring\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--ring-color\",\"--color\"],modifiers:Array.from({length:21},(f,g)=>`${g*5}`)},{values:[\"0\",\"1\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--ring-width\"],hasDefaultValue:!0}]);let X=\"var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)\";j.functional(\"ring-offset\",f=>{if(f.value){if(f.value.kind===\"arbitrary\"){let g=f.value.value;switch(f.value.dataType??qA(g,[\"color\",\"length\"])){case\"length\":return f.modifier?void 0:[l(\"--tw-ring-offset-width\",g),l(\"--tw-ring-offset-shadow\",X)];default:return g=sA(g,f.modifier,A),g===null?void 0:[l(\"--tw-ring-offset-color\",g)]}}{let g=A.resolve(f.value.value,[\"--ring-offset-width\"]);if(g)return f.modifier?void 0:[l(\"--tw-ring-offset-width\",g),l(\"--tw-ring-offset-shadow\",X)];if(P(f.value.value))return f.modifier?void 0:[l(\"--tw-ring-offset-width\",`${f.value.value}px`),l(\"--tw-ring-offset-shadow\",X)]}{let g=dA(f,A,[\"--ring-offset-color\",\"--color\"]);if(g)return[l(\"--tw-ring-offset-color\",g)]}}})}return F(\"ring-offset\",()=>[{values:[\"current\",\"inherit\",\"transparent\"],valueThemeKeys:[\"--ring-offset-color\",\"--color\"],modifiers:Array.from({length:21},(x,a)=>`${a*5}`)},{values:[\"0\",\"1\",\"2\",\"4\",\"8\"],valueThemeKeys:[\"--ring-offset-width\"]}]),j.functional(\"@container\",x=>{let a=null;if(x.value===null?a=\"inline-size\":x.value.kind===\"arbitrary\"?a=x.value.value:x.value.kind===\"named\"&&x.value.value===\"normal\"&&(a=\"normal\"),a!==null)return x.modifier?[l(\"container-type\",a),l(\"container-name\",x.modifier.value)]:[l(\"container-type\",a)]}),F(\"@container\",()=>[{values:[\"normal\"],valueThemeKeys:[],hasDefaultValue:!0}]),j}var FF=[\"number\",\"integer\",\"ratio\",\"percentage\"];function Q8(A){let j=A.params;return J8.test(j)?F=>{let E={\"--value\":{usedSpacingInteger:!1,usedSpacingNumber:!1,themeKeys:new Set,literals:new Set},\"--modifier\":{usedSpacingInteger:!1,usedSpacingNumber:!1,themeKeys:new Set,literals:new Set}};jA(A.nodes,k=>{if(k.kind!==\"declaration\"||!k.value||!k.value.includes(\"--value(\")&&!k.value.includes(\"--modifier(\"))return;let G=cA(k.value);RA(G,t=>{if(t.kind!==\"function\")return;if(t.value===\"--spacing\"&&!(E[\"--modifier\"].usedSpacingNumber&&E[\"--value\"].usedSpacingNumber))return RA(t.nodes,e=>{if(e.kind!==\"function\"||e.value!==\"--value\"&&e.value!==\"--modifier\")return;let r=e.value;for(let n of e.nodes)if(n.kind===\"word\"){if(n.value===\"integer\")E[r].usedSpacingInteger||=!0;else if(n.value===\"number\"&&(E[r].usedSpacingNumber||=!0,E[\"--modifier\"].usedSpacingNumber&&E[\"--value\"].usedSpacingNumber))return 2}}),0;if(t.value!==\"--value\"&&t.value!==\"--modifier\")return;let q=J(PA(t.nodes),\",\");for(let[e,r]of q.entries())r=r.replace(/\\\\\\*/g,\"*\"),r=r.replace(/--(.*?)\\s--(.*?)/g,\"--$1-*--$2\"),r=r.replace(/\\s+/g,\"\"),r=r.replace(/(-\\*){2,}/g,\"-*\"),r[0]===\"-\"&&r[1]===\"-\"&&!r.includes(\"-*\")&&(r+=\"-*\"),q[e]=r;t.nodes=cA(q.join(\",\"));for(let e of t.nodes)if(e.kind===\"word\"&&(e.value[0]==='\"'||e.value[0]===\"'\")&&e.value[0]===e.value[e.value.length-1]){let r=e.value.slice(1,-1);E[t.value].literals.add(r)}else if(e.kind===\"word\"&&e.value[0]===\"-\"&&e.value[1]===\"-\"){let r=e.value.replace(/-\\*.*$/g,\"\");E[t.value].themeKeys.add(r)}else if(e.kind===\"word\"&&!(e.value[0]===\"[\"&&e.value[e.value.length-1]===\"]\")&&!FF.includes(e.value)){console.warn(`Unsupported bare value data type: \"${e.value}\".\nOnly valid data types are: ${FF.map(c=>`\"${c}\"`).join(\", \")}.\n`);let r=e.value,n=structuredClone(t),$=\"\\xB6\";RA(n.nodes,(c,{replaceWith:p})=>{c.kind===\"word\"&&c.value===r&&p({kind:\"word\",value:$})});let i=\"^\".repeat(PA([e]).length),s=PA([n]).indexOf($),o=[\"```css\",PA([t]),\" \".repeat(s)+i,\"```\"].join(`\n`);console.warn(o)}}),k.value=PA(G)}),F.utilities.functional(j.slice(0,-2),k=>{let G=structuredClone(A),t=k.value,q=k.modifier;if(t===null)return;let e=!1,r=!1,n=!1,$=!1,i=new Map,s=!1;if(jA([G],(o,{parent:c,replaceWith:p})=>{if(c?.kind!==\"rule\"&&c?.kind!==\"at-rule\"||o.kind!==\"declaration\"||!o.value)return;let C=cA(o.value);(RA(C,(h,{replaceWith:L})=>{if(h.kind===\"function\"){if(h.value===\"--value\"){e=!0;let K=ZG(t,h,F);return K?(r=!0,K.ratio?s=!0:i.set(o,c),L(K.nodes),1):(e||=!1,p([]),2)}else if(h.value===\"--modifier\"){if(q===null)return p([]),2;n=!0;let K=ZG(q,h,F);return K?($=!0,L(K.nodes),1):(n||=!1,p([]),2)}}})??0)===0&&(o.value=PA(C))}),e&&!r||n&&!$||s&&$||q&&!s&&!$)return null;if(s)for(let[o,c]of i){let p=c.nodes.indexOf(o);p!==-1&&c.nodes.splice(p,1)}return G.nodes}),F.utilities.suggest(j.slice(0,-2),()=>{let k=[],G=[];for(let[t,{literals:q,usedSpacingNumber:e,usedSpacingInteger:r,themeKeys:n}]of[[k,E[\"--value\"]],[G,E[\"--modifier\"]]]){for(let $ of q)t.push($);if(e)t.push(...Y6);else if(r)for(let $ of Y6)P($)&&t.push($);for(let $ of F.theme.keysInNamespaces(n))t.push($)}return[{values:k,modifiers:G}]})}:z8.test(j)?F=>{F.utilities.static(j,()=>structuredClone(A.nodes))}:null}function ZG(A,j,F){for(let E of j.nodes){if(A.kind===\"named\"&&E.kind===\"word\"&&(E.value[0]===\"'\"||E.value[0]==='\"')&&E.value[E.value.length-1]===E.value[0]&&E.value.slice(1,-1)===A.value)return{nodes:cA(A.value)};if(A.kind===\"named\"&&E.kind===\"word\"&&E.value[0]===\"-\"&&E.value[1]===\"-\"){let k=E.value;if(k.endsWith(\"-*\")){k=k.slice(0,-2);let G=F.theme.resolve(A.value,[k]);if(G)return{nodes:cA(G)}}else{let G=k.split(\"-*\");if(G.length<=1)continue;let t=[G.shift()],q=F.theme.resolveWith(A.value,t,G);if(q){let[,e={}]=q;{let r=e[G.pop()];if(r)return{nodes:cA(r)}}}}}else if(A.kind===\"named\"&&E.kind===\"word\"){if(!FF.includes(E.value))continue;let k=E.value===\"ratio\"&&\"fraction\"in A?A.fraction:A.value;if(!k)continue;let G=qA(k,[E.value]);if(G===null)continue;if(G===\"ratio\"){let[t,q]=J(k,\"/\");if(!P(t)||!P(q))continue}else if(G===\"number\"&&!Cj(k)||G===\"percentage\"&&!P(k.slice(0,-1)))continue;return{nodes:cA(k),ratio:G===\"ratio\"}}else if(A.kind===\"arbitrary\"&&E.kind===\"word\"&&E.value[0]===\"[\"&&E.value[E.value.length-1]===\"]\"){let k=E.value.slice(1,-1);if(k===\"*\")return{nodes:cA(A.value)};if(\"dataType\"in A&&A.dataType&&A.dataType!==k)continue;if(\"dataType\"in A&&A.dataType)return{nodes:cA(A.value)};if(qA(A.value,[k])!==null)return{nodes:cA(A.value)}}}}function kj(A,j,F,E,k=\"\"){let G=!1,t=W6(j,e=>F==null?E(e):e.startsWith(\"current\")?E(DA(e,F)):((e.startsWith(\"var(\")||F.startsWith(\"var(\"))&&(G=!0),E(ft(e,F))));function q(e){return k?J(e,\",\").map(r=>k+r).join(\",\"):e}return G?[l(A,q(W6(j,E))),pA(\"@supports (color: lab(from red l a b))\",[l(A,q(t))])]:[l(A,q(t))]}function J6(A,j,F,E,k=\"\"){let G=!1,t=J(j,\",\").map(q=>W6(q,e=>F==null?E(e):e.startsWith(\"current\")?E(DA(e,F)):((e.startsWith(\"var(\")||F.startsWith(\"var(\"))&&(G=!0),E(ft(e,F))))).map(q=>`drop-shadow(${q})`).join(\" \");return G?[l(A,k+J(j,\",\").map(q=>`drop-shadow(${W6(q,E)})`).join(\" \")),pA(\"@supports (color: lab(from red l a b))\",[l(A,k+t)])]:[l(A,k+t)]}var kF={\"--alpha\":W8,\"--spacing\":Y8,\"--theme\":Z8,theme:Ax};function W8(A,j,F,...E){let[k,G]=J(F,\"/\").map(t=>t.trim());if(!k||!G)throw new Error(`The --alpha(\\u2026) function requires a color and an alpha value, e.g.: \\`--alpha(${k||\"var(--my-color)\"} / ${G||\"50%\"})\\``);if(E.length>0)throw new Error(`The --alpha(\\u2026) function only accepts one argument, e.g.: \\`--alpha(${k||\"var(--my-color)\"} / ${G||\"50%\"})\\``);return DA(k,G)}function Y8(A,j,F,...E){if(!F)throw new Error(\"The --spacing(\\u2026) function requires an argument, but received none.\");if(E.length>0)throw new Error(`The --spacing(\\u2026) function only accepts a single argument, but received ${E.length+1}.`);let k=A.theme.resolve(null,[\"--spacing\"]);if(!k)throw new Error(\"The --spacing(\\u2026) function requires that the `--spacing` theme variable exists, but it was not found.\");return`calc(${k} * ${F})`}function Z8(A,j,F,...E){if(!F.startsWith(\"--\"))throw new Error(\"The --theme(\\u2026) function can only be used with CSS variables from your theme.\");let k=!1;F.endsWith(\" inline\")&&(k=!0,F=F.slice(0,-7)),j.kind===\"at-rule\"&&(k=!0);let G=A.resolveThemeValue(F,k);if(!G){if(E.length>0)return E.join(\", \");throw new Error(`Could not resolve value for theme function: \\`theme(${F})\\`. Consider checking if the variable name is correct or provide a fallback value to silence this error.`)}if(E.length===0)return G;let t=E.join(\", \");if(t===\"initial\")return G;if(G===\"initial\")return t;if(G.startsWith(\"var(\")||G.startsWith(\"theme(\")||G.startsWith(\"--theme(\")){let q=cA(G);return Ex(q,t),PA(q)}return G}function Ax(A,j,F,...E){F=jx(F);let k=A.resolveThemeValue(F);if(!k&&E.length>0)return E.join(\", \");if(!k)throw new Error(`Could not resolve value for theme function: \\`theme(${F})\\`. Consider checking if the path is correct or provide a fallback value to silence this error.`);return k}var At=new RegExp(Object.keys(kF).map(A=>`${A}\\\\(`).join(\"|\"));function lF(A,j){let F=0;return jA(A,E=>{if(E.kind===\"declaration\"&&E.value&&At.test(E.value)){F|=8,E.value=jt(E.value,E,j);return}E.kind===\"at-rule\"&&(E.name===\"@media\"||E.name===\"@custom-media\"||E.name===\"@container\"||E.name===\"@supports\")&&At.test(E.params)&&(F|=8,E.params=jt(E.params,E,j))}),F}function jt(A,j,F){let E=cA(A);return RA(E,(k,{replaceWith:G})=>{if(k.kind===\"function\"&&k.value in kF){let t=J(PA(k.nodes).trim(),\",\").map(e=>e.trim()),q=kF[k.value](F,j,...t);return G(cA(q))}}),PA(E)}function jx(A){if(A[0]!==\"'\"&&A[0]!=='\"')return A;let j=\"\",F=A[0];for(let E=1;E<A.length-1;E++){let k=A[E],G=A[E+1];k===\"\\\\\"&&(G===F||G===\"\\\\\")?(j+=G,E++):j+=k}return j}function Ex(A,j){RA(A,F=>{if(F.kind===\"function\"&&!(F.value!==\"var\"&&F.value!==\"theme\"&&F.value!==\"--theme\"))if(F.nodes.length===1)F.nodes.push({kind:\"word\",value:`, ${j}`});else{let E=F.nodes[F.nodes.length-1];E.kind===\"word\"&&E.value===\"initial\"&&(E.value=j)}})}function gt(A,j){let F=A.length,E=j.length,k=F<E?F:E;for(let G=0;G<k;G++){let t=A.charCodeAt(G),q=j.charCodeAt(G);if(t>=48&&t<=57&&q>=48&&q<=57){let e=G,r=G+1,n=G,$=G+1;for(t=A.charCodeAt(r);t>=48&&t<=57;)t=A.charCodeAt(++r);for(q=j.charCodeAt($);q>=48&&q<=57;)q=j.charCodeAt(++$);let i=A.slice(e,r),s=j.slice(n,$),o=Number(i)-Number(s);if(o)return o;if(i<s)return-1;if(i>s)return 1;continue}if(t!==q)return t-q}return A.length-j.length}var Fx=/^\\d+\\/\\d+$/;function kx(A){let j=[];for(let F of A.utilities.keys(\"static\"))j.push({name:F,utility:F,fraction:!1,modifiers:[]});for(let F of A.utilities.keys(\"functional\")){let E=A.utilities.getCompletions(F);for(let k of E)for(let G of k.values){let t=G!==null&&Fx.test(G),q=G===null?F:`${F}-${G}`;j.push({name:q,utility:F,fraction:t,modifiers:k.modifiers}),k.supportsNegative&&j.push({name:`-${q}`,utility:`-${F}`,fraction:t,modifiers:k.modifiers})}}return j.length===0?[]:(j.sort((F,E)=>gt(F.name,E.name)),Gx(j))}function Gx(A){let j=[],F=null,E=new Map,k=new XA(()=>[]);for(let t of A){let{utility:q,fraction:e}=t;F||(F={utility:q,items:[]},E.set(q,F)),q!==F.utility&&(j.push(F),F={utility:q,items:[]},E.set(q,F)),e?k.get(q).push(t):F.items.push(t)}F&&j[j.length-1]!==F&&j.push(F);for(let[t,q]of k){let e=E.get(t);e&&e.items.push(...q)}let G=[];for(let t of j)for(let q of t.items)G.push([q.name,{modifiers:q.modifiers}]);return G}function tx(A){let j=[];for(let[E,k]of A.variants.entries()){let G=function({value:e,modifier:r}={}){let n=E;e&&(n+=t?`-${e}`:e),r&&(n+=`/${r}`);let $=A.parseVariant(n);if(!$)return[];let i=EA(\".__placeholder__\",[]);if(FE(i,$,A.variants)===null)return[];let s=[];return AF(i.nodes,(o,{path:c})=>{if(o.kind!==\"rule\"&&o.kind!==\"at-rule\"||o.nodes.length>0)return;c.sort((h,L)=>{let K=h.kind===\"at-rule\",w=L.kind===\"at-rule\";return K&&!w?-1:!K&&w?1:0});let p=c.flatMap(h=>h.kind===\"rule\"?h.selector===\"&\"?[]:[h.selector]:h.kind===\"at-rule\"?[`${h.name} ${h.params}`]:[]),C=\"\";for(let h=p.length-1;h>=0;h--)C=C===\"\"?p[h]:`${p[h]} { ${C} }`;s.push(C)}),s};var F=G;if(k.kind===\"arbitrary\")continue;let t=E!==\"@\",q=A.variants.getCompletions(E);switch(k.kind){case\"static\":{j.push({name:E,values:q,isArbitrary:!1,hasDash:t,selectors:G});break}case\"functional\":{j.push({name:E,values:q,isArbitrary:!0,hasDash:t,selectors:G});break}case\"compound\":{j.push({name:E,values:q,isArbitrary:!0,hasDash:t,selectors:G});break}}}return j}function rx(A,j){let{astNodes:F,nodeSorting:E}=EE(Array.from(j),A),k=new Map(j.map(t=>[t,null])),G=0n;for(let t of F){let q=E.get(t)?.candidate;q&&k.set(q,k.get(q)??G++)}return j.map(t=>[t,k.get(t)??null])}var Ht=/^@?[a-zA-Z0-9_-]*$/,ex=class{compareFns=new Map;variants=new Map;completions=new Map;groupOrder=null;lastOrder=0;static(A,j,{compounds:F,order:E}={}){this.set(A,{kind:\"static\",applyFn:j,compoundsWith:0,compounds:F??2,order:E})}fromAst(A,j){let F=[];jA(j,E=>{E.kind===\"rule\"?F.push(E.selector):E.kind===\"at-rule\"&&E.name!==\"@slot\"&&F.push(`${E.name} ${E.params}`)}),this.static(A,E=>{let k=structuredClone(j);Pt(k,E.nodes),E.nodes=k},{compounds:k6(F)})}functional(A,j,{compounds:F,order:E}={}){this.set(A,{kind:\"functional\",applyFn:j,compoundsWith:0,compounds:F??2,order:E})}compound(A,j,F,{compounds:E,order:k}={}){this.set(A,{kind:\"compound\",applyFn:F,compoundsWith:j,compounds:E??2,order:k})}group(A,j){this.groupOrder=this.nextOrder(),j&&this.compareFns.set(this.groupOrder,j),A(),this.groupOrder=null}has(A){return this.variants.has(A)}get(A){return this.variants.get(A)}kind(A){return this.variants.get(A)?.kind}compoundsWith(A,j){let F=this.variants.get(A),E=typeof j==\"string\"?this.variants.get(j):j.kind===\"arbitrary\"?{compounds:k6([j.selector])}:this.variants.get(j.root);return!(!F||!E||F.kind!==\"compound\"||E.compounds===0||F.compoundsWith===0||!(F.compoundsWith&E.compounds))}suggest(A,j){this.completions.set(A,j)}getCompletions(A){return this.completions.get(A)?.()??[]}compare(A,j){if(A===j)return 0;if(A===null)return-1;if(j===null)return 1;if(A.kind===\"arbitrary\"&&j.kind===\"arbitrary\")return A.selector<j.selector?-1:1;if(A.kind===\"arbitrary\")return 1;if(j.kind===\"arbitrary\")return-1;let F=this.variants.get(A.root).order,E=this.variants.get(j.root).order,k=F-E;if(k!==0)return k;if(A.kind===\"compound\"&&j.kind===\"compound\"){let e=this.compare(A.variant,j.variant);return e!==0?e:A.modifier&&j.modifier?A.modifier.value<j.modifier.value?-1:1:A.modifier?1:j.modifier?-1:0}let G=this.compareFns.get(F);if(G!==void 0)return G(A,j);if(A.root!==j.root)return A.root<j.root?-1:1;let t=A.value,q=j.value;return t===null?-1:q===null||t.kind===\"arbitrary\"&&q.kind!==\"arbitrary\"?1:t.kind!==\"arbitrary\"&&q.kind===\"arbitrary\"||t.value<q.value?-1:1}keys(){return this.variants.keys()}entries(){return this.variants.entries()}set(A,{kind:j,applyFn:F,compounds:E,compoundsWith:k,order:G}){let t=this.variants.get(A);t?Object.assign(t,{kind:j,applyFn:F,compounds:E}):(G===void 0&&(this.lastOrder=this.nextOrder(),G=this.lastOrder),this.variants.set(A,{kind:j,applyFn:F,order:G,compoundsWith:k,compounds:E}))}nextOrder(){return this.groupOrder??this.lastOrder+1}};function k6(A){let j=0;for(let F of A){if(F[0]===\"@\"){if(!F.startsWith(\"@media\")&&!F.startsWith(\"@supports\")&&!F.startsWith(\"@container\"))return 0;j|=1;continue}if(F.includes(\"::\"))return 0;j|=2}return j}function qx(A){let j=new ex;function F(r,n,{compounds:$}={}){$=$??k6(n),j.static(r,i=>{i.nodes=n.map(s=>pA(s,i.nodes))},{compounds:$})}F(\"*\",[\":is(& > *)\"],{compounds:0}),F(\"**\",[\":is(& *)\"],{compounds:0});function E(r,n){return n.map($=>{$=$.trim();let i=J($,\" \");return i[0]===\"not\"?i.slice(1).join(\" \"):r===\"@container\"?i[0][0]===\"(\"?`not ${$}`:i[1]===\"not\"?`${i[0]} ${i.slice(2).join(\" \")}`:`${i[0]} not ${i.slice(1).join(\" \")}`:`not ${$}`})}let k=[\"@media\",\"@supports\",\"@container\"];function G(r){for(let n of k){if(n!==r.name)continue;let $=J(r.params,\",\");return $.length>1?null:($=E(r.name,$),AA(r.name,$.join(\", \")))}return null}function t(r){return r.includes(\"::\")?null:`&:not(${J(r,\",\").map(n=>(n=n.replaceAll(\"&\",\"*\"),n)).join(\", \")})`}j.compound(\"not\",3,(r,n)=>{if(n.variant.kind===\"arbitrary\"&&n.variant.relative||n.modifier)return null;let $=!1;if(jA([r],(i,{path:s})=>{if(i.kind!==\"rule\"&&i.kind!==\"at-rule\"||i.nodes.length>0)return 0;let o=[],c=[];for(let C of s)C.kind===\"at-rule\"?o.push(C):C.kind===\"rule\"&&c.push(C);if(o.length>1||c.length>1)return 2;let p=[];for(let C of c){let h=t(C.selector);if(!h)return $=!1,2;p.push(EA(h,[]))}for(let C of o){let h=G(C);if(!h)return $=!1,2;p.push(h)}return Object.assign(r,EA(\"&\",p)),$=!0,1}),r.kind===\"rule\"&&r.selector===\"&\"&&r.nodes.length===1&&Object.assign(r,r.nodes[0]),!$)return null}),j.suggest(\"not\",()=>Array.from(j.keys()).filter(r=>j.compoundsWith(\"not\",r))),j.compound(\"group\",2,(r,n)=>{if(n.variant.kind===\"arbitrary\"&&n.variant.relative)return null;let $=n.modifier?`:where(.${A.prefix?`${A.prefix}\\\\:`:\"\"}group\\\\/${n.modifier.value})`:`:where(.${A.prefix?`${A.prefix}\\\\:`:\"\"}group)`,i=!1;if(jA([r],(s,{path:o})=>{if(s.kind!==\"rule\")return 0;for(let p of o.slice(0,-1))if(p.kind===\"rule\")return i=!1,2;let c=s.selector.replaceAll(\"&\",$);J(c,\",\").length>1&&(c=`:is(${c})`),s.selector=`&:is(${c} *)`,i=!0}),!i)return null}),j.suggest(\"group\",()=>Array.from(j.keys()).filter(r=>j.compoundsWith(\"group\",r))),j.compound(\"peer\",2,(r,n)=>{if(n.variant.kind===\"arbitrary\"&&n.variant.relative)return null;let $=n.modifier?`:where(.${A.prefix?`${A.prefix}\\\\:`:\"\"}peer\\\\/${n.modifier.value})`:`:where(.${A.prefix?`${A.prefix}\\\\:`:\"\"}peer)`,i=!1;if(jA([r],(s,{path:o})=>{if(s.kind!==\"rule\")return 0;for(let p of o.slice(0,-1))if(p.kind===\"rule\")return i=!1,2;let c=s.selector.replaceAll(\"&\",$);J(c,\",\").length>1&&(c=`:is(${c})`),s.selector=`&:is(${c} ~ *)`,i=!0}),!i)return null}),j.suggest(\"peer\",()=>Array.from(j.keys()).filter(r=>j.compoundsWith(\"peer\",r))),F(\"first-letter\",[\"&::first-letter\"]),F(\"first-line\",[\"&::first-line\"]),F(\"marker\",[\"& *::marker\",\"&::marker\",\"& *::-webkit-details-marker\",\"&::-webkit-details-marker\"]),F(\"selection\",[\"& *::selection\",\"&::selection\"]),F(\"file\",[\"&::file-selector-button\"]),F(\"placeholder\",[\"&::placeholder\"]),F(\"backdrop\",[\"&::backdrop\"]),F(\"details-content\",[\"&::details-content\"]);{let r=function(){return V([AA(\"@property\",\"--tw-content\",[l(\"syntax\",'\"*\"'),l(\"initial-value\",'\"\"'),l(\"inherits\",\"false\")])])};var q=r;j.static(\"before\",n=>{n.nodes=[EA(\"&::before\",[r(),l(\"content\",\"var(--tw-content)\"),...n.nodes])]},{compounds:0}),j.static(\"after\",n=>{n.nodes=[EA(\"&::after\",[r(),l(\"content\",\"var(--tw-content)\"),...n.nodes])]},{compounds:0})}F(\"first\",[\"&:first-child\"]),F(\"last\",[\"&:last-child\"]),F(\"only\",[\"&:only-child\"]),F(\"odd\",[\"&:nth-child(odd)\"]),F(\"even\",[\"&:nth-child(even)\"]),F(\"first-of-type\",[\"&:first-of-type\"]),F(\"last-of-type\",[\"&:last-of-type\"]),F(\"only-of-type\",[\"&:only-of-type\"]),F(\"visited\",[\"&:visited\"]),F(\"target\",[\"&:target\"]),F(\"open\",[\"&:is([open], :popover-open, :open)\"]),F(\"default\",[\"&:default\"]),F(\"checked\",[\"&:checked\"]),F(\"indeterminate\",[\"&:indeterminate\"]),F(\"placeholder-shown\",[\"&:placeholder-shown\"]),F(\"autofill\",[\"&:autofill\"]),F(\"optional\",[\"&:optional\"]),F(\"required\",[\"&:required\"]),F(\"valid\",[\"&:valid\"]),F(\"invalid\",[\"&:invalid\"]),F(\"user-valid\",[\"&:user-valid\"]),F(\"user-invalid\",[\"&:user-invalid\"]),F(\"in-range\",[\"&:in-range\"]),F(\"out-of-range\",[\"&:out-of-range\"]),F(\"read-only\",[\"&:read-only\"]),F(\"empty\",[\"&:empty\"]),F(\"focus-within\",[\"&:focus-within\"]),j.static(\"hover\",r=>{r.nodes=[EA(\"&:hover\",[AA(\"@media\",\"(hover: hover)\",r.nodes)])]}),F(\"focus\",[\"&:focus\"]),F(\"focus-visible\",[\"&:focus-visible\"]),F(\"active\",[\"&:active\"]),F(\"enabled\",[\"&:enabled\"]),F(\"disabled\",[\"&:disabled\"]),F(\"inert\",[\"&:is([inert], [inert] *)\"]),j.compound(\"in\",2,(r,n)=>{if(n.modifier)return null;let $=!1;if(jA([r],(i,{path:s})=>{if(i.kind!==\"rule\")return 0;for(let o of s.slice(0,-1))if(o.kind===\"rule\")return $=!1,2;i.selector=`:where(${i.selector.replaceAll(\"&\",\"*\")}) &`,$=!0}),!$)return null}),j.suggest(\"in\",()=>Array.from(j.keys()).filter(r=>j.compoundsWith(\"in\",r))),j.compound(\"has\",2,(r,n)=>{if(n.modifier)return null;let $=!1;if(jA([r],(i,{path:s})=>{if(i.kind!==\"rule\")return 0;for(let o of s.slice(0,-1))if(o.kind===\"rule\")return $=!1,2;i.selector=`&:has(${i.selector.replaceAll(\"&\",\"*\")})`,$=!0}),!$)return null}),j.suggest(\"has\",()=>Array.from(j.keys()).filter(r=>j.compoundsWith(\"has\",r))),j.functional(\"aria\",(r,n)=>{if(!n.value||n.modifier)return null;n.value.kind===\"arbitrary\"?r.nodes=[EA(`&[aria-${Et(n.value.value)}]`,r.nodes)]:r.nodes=[EA(`&[aria-${n.value.value}=\"true\"]`,r.nodes)]}),j.suggest(\"aria\",()=>[\"busy\",\"checked\",\"disabled\",\"expanded\",\"hidden\",\"pressed\",\"readonly\",\"required\",\"selected\"]),j.functional(\"data\",(r,n)=>{if(!n.value||n.modifier)return null;r.nodes=[EA(`&[data-${Et(n.value.value)}]`,r.nodes)]}),j.functional(\"nth\",(r,n)=>{if(!n.value||n.modifier||n.value.kind===\"named\"&&!P(n.value.value))return null;r.nodes=[EA(`&:nth-child(${n.value.value})`,r.nodes)]}),j.functional(\"nth-last\",(r,n)=>{if(!n.value||n.modifier||n.value.kind===\"named\"&&!P(n.value.value))return null;r.nodes=[EA(`&:nth-last-child(${n.value.value})`,r.nodes)]}),j.functional(\"nth-of-type\",(r,n)=>{if(!n.value||n.modifier||n.value.kind===\"named\"&&!P(n.value.value))return null;r.nodes=[EA(`&:nth-of-type(${n.value.value})`,r.nodes)]}),j.functional(\"nth-last-of-type\",(r,n)=>{if(!n.value||n.modifier||n.value.kind===\"named\"&&!P(n.value.value))return null;r.nodes=[EA(`&:nth-last-of-type(${n.value.value})`,r.nodes)]}),j.functional(\"supports\",(r,n)=>{if(!n.value||n.modifier)return null;let $=n.value.value;if($===null)return null;if(/^[\\w-]*\\s*\\(/.test($)){let i=$.replace(/\\b(and|or|not)\\b/g,\" $1 \");r.nodes=[AA(\"@supports\",i,r.nodes)];return}$.includes(\":\")||($=`${$}: var(--tw)`),($[0]!==\"(\"||$[$.length-1]!==\")\")&&($=`(${$})`),r.nodes=[AA(\"@supports\",$,r.nodes)]},{compounds:1}),F(\"motion-safe\",[\"@media (prefers-reduced-motion: no-preference)\"]),F(\"motion-reduce\",[\"@media (prefers-reduced-motion: reduce)\"]),F(\"contrast-more\",[\"@media (prefers-contrast: more)\"]),F(\"contrast-less\",[\"@media (prefers-contrast: less)\"]);{let r=function(n,$,i,s){if(n===$)return 0;let o=s.get(n);if(o===null)return i===\"asc\"?-1:1;let c=s.get($);return c===null?i===\"asc\"?1:-1:Q6(o,c,i)};var e=r;{let n=A.namespace(\"--breakpoint\"),$=new XA(i=>{switch(i.kind){case\"static\":return A.resolveValue(i.root,[\"--breakpoint\"])??null;case\"functional\":{if(!i.value||i.modifier)return null;let s=null;return i.value.kind===\"arbitrary\"?s=i.value.value:i.value.kind===\"named\"&&(s=A.resolveValue(i.value.value,[\"--breakpoint\"])),!s||s.includes(\"var(\")?null:s}case\"arbitrary\":case\"compound\":return null}});j.group(()=>{j.functional(\"max\",(i,s)=>{if(s.modifier)return null;let o=$.get(s);if(o===null)return null;i.nodes=[AA(\"@media\",`(width < ${o})`,i.nodes)]},{compounds:1})},(i,s)=>r(i,s,\"desc\",$)),j.suggest(\"max\",()=>Array.from(n.keys()).filter(i=>i!==null)),j.group(()=>{for(let[i,s]of A.namespace(\"--breakpoint\"))i!==null&&j.static(i,o=>{o.nodes=[AA(\"@media\",`(width >= ${s})`,o.nodes)]},{compounds:1});j.functional(\"min\",(i,s)=>{if(s.modifier)return null;let o=$.get(s);if(o===null)return null;i.nodes=[AA(\"@media\",`(width >= ${o})`,i.nodes)]},{compounds:1})},(i,s)=>r(i,s,\"asc\",$)),j.suggest(\"min\",()=>Array.from(n.keys()).filter(i=>i!==null))}{let n=A.namespace(\"--container\"),$=new XA(i=>{switch(i.kind){case\"functional\":{if(i.value===null)return null;let s=null;return i.value.kind===\"arbitrary\"?s=i.value.value:i.value.kind===\"named\"&&(s=A.resolveValue(i.value.value,[\"--container\"])),!s||s.includes(\"var(\")?null:s}case\"static\":case\"arbitrary\":case\"compound\":return null}});j.group(()=>{j.functional(\"@max\",(i,s)=>{let o=$.get(s);if(o===null)return null;i.nodes=[AA(\"@container\",s.modifier?`${s.modifier.value} (width < ${o})`:`(width < ${o})`,i.nodes)]},{compounds:1})},(i,s)=>r(i,s,\"desc\",$)),j.suggest(\"@max\",()=>Array.from(n.keys()).filter(i=>i!==null)),j.group(()=>{j.functional(\"@\",(i,s)=>{let o=$.get(s);if(o===null)return null;i.nodes=[AA(\"@container\",s.modifier?`${s.modifier.value} (width >= ${o})`:`(width >= ${o})`,i.nodes)]},{compounds:1}),j.functional(\"@min\",(i,s)=>{let o=$.get(s);if(o===null)return null;i.nodes=[AA(\"@container\",s.modifier?`${s.modifier.value} (width >= ${o})`:`(width >= ${o})`,i.nodes)]},{compounds:1})},(i,s)=>r(i,s,\"asc\",$)),j.suggest(\"@min\",()=>Array.from(n.keys()).filter(i=>i!==null)),j.suggest(\"@\",()=>Array.from(n.keys()).filter(i=>i!==null))}}return F(\"portrait\",[\"@media (orientation: portrait)\"]),F(\"landscape\",[\"@media (orientation: landscape)\"]),F(\"ltr\",['&:where(:dir(ltr), [dir=\"ltr\"], [dir=\"ltr\"] *)']),F(\"rtl\",['&:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *)']),F(\"dark\",[\"@media (prefers-color-scheme: dark)\"]),F(\"starting\",[\"@starting-style\"]),F(\"print\",[\"@media print\"]),F(\"forced-colors\",[\"@media (forced-colors: active)\"]),F(\"inverted-colors\",[\"@media (inverted-colors: inverted)\"]),F(\"pointer-none\",[\"@media (pointer: none)\"]),F(\"pointer-coarse\",[\"@media (pointer: coarse)\"]),F(\"pointer-fine\",[\"@media (pointer: fine)\"]),F(\"any-pointer-none\",[\"@media (any-pointer: none)\"]),F(\"any-pointer-coarse\",[\"@media (any-pointer: coarse)\"]),F(\"any-pointer-fine\",[\"@media (any-pointer: fine)\"]),F(\"noscript\",[\"@media (scripting: none)\"]),j}function Et(A){if(A.includes(\"=\")){let[j,...F]=J(A,\"=\"),E=F.join(\"=\").trim();if(E[0]===\"'\"||E[0]==='\"')return A;if(E.length>1){let k=E[E.length-1];if(E[E.length-2]===\" \"&&(k===\"i\"||k===\"I\"||k===\"s\"||k===\"S\"))return`${j}=\"${E.slice(0,-2)}\" ${k}`}return`${j}=\"${E}\"`}return A}function Pt(A,j){jA(A,(F,{replaceWith:E})=>{if(F.kind===\"at-rule\"&&F.name===\"@slot\")E(j);else if(F.kind===\"at-rule\"&&(F.name===\"@keyframes\"||F.name===\"@property\"))return Object.assign(F,V([AA(F.name,F.params,F.nodes)])),1})}function xx(A){let j=V8(A),F=qx(A),E=new XA(e=>S8(e,q)),k=new XA(e=>Array.from(R8(e,q))),G=new XA(e=>{let r=lx(e,q);try{lF(r.map(({node:n})=>n),q)}catch{return[]}return r}),t=new XA(e=>{for(let r of Dt(e))A.markUsedVariable(r)}),q={theme:A,utilities:j,variants:F,invalidCandidates:new Set,important:!1,candidatesToCss(e){let r=[];for(let n of e){let $=!1,{astNodes:i}=EE([n],this,{onInvalidCandidate(){$=!0}});i=E6(i,q,0),i.length===0||$?r.push(null):r.push(Dj(i))}return r},getClassOrder(e){return rx(this,e)},getClassList(){return kx(this)},getVariants(){return tx(this)},parseCandidate(e){return k.get(e)},parseVariant(e){return E.get(e)},compileAstNodes(e){return G.get(e)},getVariantOrder(){let e=Array.from(E.values());e.sort((i,s)=>this.variants.compare(i,s));let r=new Map,n,$=0;for(let i of e)i!==null&&(n!==void 0&&this.variants.compare(n,i)!==0&&$++,r.set(i,$),n=i);return r},resolveThemeValue(e,r=!0){let n=e.lastIndexOf(\"/\"),$=null;n!==-1&&($=e.slice(n+1).trim(),e=e.slice(0,n).trim());let i=A.resolve(null,[e],r?1:0)??void 0;return $&&i?DA(i,$):i},trackUsedVariables(e){t.get(e)}};return q}var Ft=[\"container-type\",\"pointer-events\",\"visibility\",\"position\",\"inset\",\"inset-inline\",\"inset-block\",\"inset-inline-start\",\"inset-inline-end\",\"top\",\"right\",\"bottom\",\"left\",\"isolation\",\"z-index\",\"order\",\"grid-column\",\"grid-column-start\",\"grid-column-end\",\"grid-row\",\"grid-row-start\",\"grid-row-end\",\"float\",\"clear\",\"--tw-container-component\",\"margin\",\"margin-inline\",\"margin-block\",\"margin-inline-start\",\"margin-inline-end\",\"margin-top\",\"margin-right\",\"margin-bottom\",\"margin-left\",\"box-sizing\",\"display\",\"field-sizing\",\"aspect-ratio\",\"height\",\"max-height\",\"min-height\",\"width\",\"max-width\",\"min-width\",\"flex\",\"flex-shrink\",\"flex-grow\",\"flex-basis\",\"table-layout\",\"caption-side\",\"border-collapse\",\"border-spacing\",\"transform-origin\",\"translate\",\"--tw-translate-x\",\"--tw-translate-y\",\"--tw-translate-z\",\"scale\",\"--tw-scale-x\",\"--tw-scale-y\",\"--tw-scale-z\",\"rotate\",\"--tw-rotate-x\",\"--tw-rotate-y\",\"--tw-rotate-z\",\"--tw-skew-x\",\"--tw-skew-y\",\"transform\",\"animation\",\"cursor\",\"touch-action\",\"--tw-pan-x\",\"--tw-pan-y\",\"--tw-pinch-zoom\",\"resize\",\"scroll-snap-type\",\"--tw-scroll-snap-strictness\",\"scroll-snap-align\",\"scroll-snap-stop\",\"scroll-margin\",\"scroll-margin-inline\",\"scroll-margin-block\",\"scroll-margin-inline-start\",\"scroll-margin-inline-end\",\"scroll-margin-top\",\"scroll-margin-right\",\"scroll-margin-bottom\",\"scroll-margin-left\",\"scroll-padding\",\"scroll-padding-inline\",\"scroll-padding-block\",\"scroll-padding-inline-start\",\"scroll-padding-inline-end\",\"scroll-padding-top\",\"scroll-padding-right\",\"scroll-padding-bottom\",\"scroll-padding-left\",\"list-style-position\",\"list-style-type\",\"list-style-image\",\"appearance\",\"columns\",\"break-before\",\"break-inside\",\"break-after\",\"grid-auto-columns\",\"grid-auto-flow\",\"grid-auto-rows\",\"grid-template-columns\",\"grid-template-rows\",\"flex-direction\",\"flex-wrap\",\"place-content\",\"place-items\",\"align-content\",\"align-items\",\"justify-content\",\"justify-items\",\"gap\",\"column-gap\",\"row-gap\",\"--tw-space-x-reverse\",\"--tw-space-y-reverse\",\"divide-x-width\",\"divide-y-width\",\"--tw-divide-y-reverse\",\"divide-style\",\"divide-color\",\"place-self\",\"align-self\",\"justify-self\",\"overflow\",\"overflow-x\",\"overflow-y\",\"overscroll-behavior\",\"overscroll-behavior-x\",\"overscroll-behavior-y\",\"scroll-behavior\",\"border-radius\",\"border-start-radius\",\"border-end-radius\",\"border-top-radius\",\"border-right-radius\",\"border-bottom-radius\",\"border-left-radius\",\"border-start-start-radius\",\"border-start-end-radius\",\"border-end-end-radius\",\"border-end-start-radius\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-bottom-right-radius\",\"border-bottom-left-radius\",\"border-width\",\"border-inline-width\",\"border-block-width\",\"border-inline-start-width\",\"border-inline-end-width\",\"border-top-width\",\"border-right-width\",\"border-bottom-width\",\"border-left-width\",\"border-style\",\"border-inline-style\",\"border-block-style\",\"border-inline-start-style\",\"border-inline-end-style\",\"border-top-style\",\"border-right-style\",\"border-bottom-style\",\"border-left-style\",\"border-color\",\"border-inline-color\",\"border-block-color\",\"border-inline-start-color\",\"border-inline-end-color\",\"border-top-color\",\"border-right-color\",\"border-bottom-color\",\"border-left-color\",\"background-color\",\"background-image\",\"--tw-gradient-position\",\"--tw-gradient-stops\",\"--tw-gradient-via-stops\",\"--tw-gradient-from\",\"--tw-gradient-from-position\",\"--tw-gradient-via\",\"--tw-gradient-via-position\",\"--tw-gradient-to\",\"--tw-gradient-to-position\",\"mask-image\",\"--tw-mask-top\",\"--tw-mask-top-from-color\",\"--tw-mask-top-from-position\",\"--tw-mask-top-to-color\",\"--tw-mask-top-to-position\",\"--tw-mask-right\",\"--tw-mask-right-from-color\",\"--tw-mask-right-from-position\",\"--tw-mask-right-to-color\",\"--tw-mask-right-to-position\",\"--tw-mask-bottom\",\"--tw-mask-bottom-from-color\",\"--tw-mask-bottom-from-position\",\"--tw-mask-bottom-to-color\",\"--tw-mask-bottom-to-position\",\"--tw-mask-left\",\"--tw-mask-left-from-color\",\"--tw-mask-left-from-position\",\"--tw-mask-left-to-color\",\"--tw-mask-left-to-position\",\"--tw-mask-linear\",\"--tw-mask-linear-position\",\"--tw-mask-linear-from-color\",\"--tw-mask-linear-from-position\",\"--tw-mask-linear-to-color\",\"--tw-mask-linear-to-position\",\"--tw-mask-radial\",\"--tw-mask-radial-shape\",\"--tw-mask-radial-size\",\"--tw-mask-radial-position\",\"--tw-mask-radial-from-color\",\"--tw-mask-radial-from-position\",\"--tw-mask-radial-to-color\",\"--tw-mask-radial-to-position\",\"--tw-mask-conic\",\"--tw-mask-conic-position\",\"--tw-mask-conic-from-color\",\"--tw-mask-conic-from-position\",\"--tw-mask-conic-to-color\",\"--tw-mask-conic-to-position\",\"box-decoration-break\",\"background-size\",\"background-attachment\",\"background-clip\",\"background-position\",\"background-repeat\",\"background-origin\",\"mask-composite\",\"mask-mode\",\"mask-type\",\"mask-size\",\"mask-clip\",\"mask-position\",\"mask-repeat\",\"mask-origin\",\"fill\",\"stroke\",\"stroke-width\",\"object-fit\",\"object-position\",\"padding\",\"padding-inline\",\"padding-block\",\"padding-inline-start\",\"padding-inline-end\",\"padding-top\",\"padding-right\",\"padding-bottom\",\"padding-left\",\"text-align\",\"text-indent\",\"vertical-align\",\"font-family\",\"font-size\",\"line-height\",\"font-weight\",\"letter-spacing\",\"text-wrap\",\"overflow-wrap\",\"word-break\",\"text-overflow\",\"hyphens\",\"white-space\",\"color\",\"text-transform\",\"font-style\",\"font-stretch\",\"font-variant-numeric\",\"text-decoration-line\",\"text-decoration-color\",\"text-decoration-style\",\"text-decoration-thickness\",\"text-underline-offset\",\"-webkit-font-smoothing\",\"placeholder-color\",\"caret-color\",\"accent-color\",\"color-scheme\",\"opacity\",\"background-blend-mode\",\"mix-blend-mode\",\"box-shadow\",\"--tw-shadow\",\"--tw-shadow-color\",\"--tw-ring-shadow\",\"--tw-ring-color\",\"--tw-inset-shadow\",\"--tw-inset-shadow-color\",\"--tw-inset-ring-shadow\",\"--tw-inset-ring-color\",\"--tw-ring-offset-width\",\"--tw-ring-offset-color\",\"outline\",\"outline-width\",\"outline-offset\",\"outline-color\",\"--tw-blur\",\"--tw-brightness\",\"--tw-contrast\",\"--tw-drop-shadow\",\"--tw-grayscale\",\"--tw-hue-rotate\",\"--tw-invert\",\"--tw-saturate\",\"--tw-sepia\",\"filter\",\"--tw-backdrop-blur\",\"--tw-backdrop-brightness\",\"--tw-backdrop-contrast\",\"--tw-backdrop-grayscale\",\"--tw-backdrop-hue-rotate\",\"--tw-backdrop-invert\",\"--tw-backdrop-opacity\",\"--tw-backdrop-saturate\",\"--tw-backdrop-sepia\",\"backdrop-filter\",\"transition-property\",\"transition-behavior\",\"transition-delay\",\"transition-duration\",\"transition-timing-function\",\"will-change\",\"contain\",\"content\",\"forced-color-adjust\"];function EE(A,j,{onInvalidCandidate:F}={}){let E=new Map,k=[],G=new Map;for(let q of A){if(j.invalidCandidates.has(q)){F?.(q);continue}let e=j.parseCandidate(q);if(e.length===0){F?.(q);continue}G.set(q,e)}let t=j.getVariantOrder();for(let[q,e]of G){let r=!1;for(let n of e){let $=j.compileAstNodes(n);if($.length!==0){r=!0;for(let{node:i,propertySort:s}of $){let o=0n;for(let c of n.variants)o|=1n<<BigInt(t.get(c));E.set(i,{properties:s,variants:o,candidate:q}),k.push(i)}}}r||F?.(q)}return k.sort((q,e)=>{let r=E.get(q),n=E.get(e);if(r.variants-n.variants!==0n)return Number(r.variants-n.variants);let $=0;for(;$<r.properties.order.length&&$<n.properties.order.length&&r.properties.order[$]===n.properties.order[$];)$+=1;return(r.properties.order[$]??1/0)-(n.properties.order[$]??1/0)||n.properties.count-r.properties.count||gt(r.candidate,n.candidate)}),{astNodes:k,nodeSorting:E}}function lx(A,j){let F=nx(A,j);if(F.length===0)return[];let E=[],k=`.${jE(A.raw)}`;for(let G of F){let t=$x(G);(A.important||j.important)&&Xt(G);let q={kind:\"rule\",selector:k,nodes:G};for(let e of A.variants)if(FE(q,e,j.variants)===null)return[];E.push({node:q,propertySort:t})}return E}function FE(A,j,F,E=0){if(j.kind===\"arbitrary\"){if(j.relative&&E===0)return null;A.nodes=[pA(j.selector,A.nodes)];return}let{applyFn:k}=F.get(j.root);if(j.kind===\"compound\"){let G=AA(\"@slot\");if(FE(G,j.variant,F,E+1)===null||j.root===\"not\"&&G.nodes.length>1)return null;for(let t of G.nodes)if(t.kind!==\"rule\"&&t.kind!==\"at-rule\"||k(t,j)===null)return null;jA(G.nodes,t=>{if((t.kind===\"rule\"||t.kind===\"at-rule\")&&t.nodes.length<=0)return t.nodes=A.nodes,1}),A.nodes=G.nodes;return}if(k(A,j)===null)return null}function kt(A){let j=A.options?.types??[];return j.length>1&&j.includes(\"any\")}function nx(A,j){if(A.kind===\"arbitrary\"){let t=A.value;return A.modifier&&(t=sA(t,A.modifier,j.theme)),t===null?[]:[[l(A.property,t)]]}let F=j.utilities.get(A.root)??[],E=[],k=F.filter(t=>!kt(t));for(let t of k){if(t.kind!==A.kind)continue;let q=t.compileFn(A);if(q!==void 0){if(q===null)return E;E.push(q)}}if(E.length>0)return E;let G=F.filter(t=>kt(t));for(let t of G){if(t.kind!==A.kind)continue;let q=t.compileFn(A);if(q!==void 0){if(q===null)return E;E.push(q)}}return E}function Xt(A){for(let j of A)j.kind!==\"at-root\"&&(j.kind===\"declaration\"?j.important=!0:(j.kind===\"rule\"||j.kind===\"at-rule\")&&Xt(j.nodes))}function $x(A){let j=new Set,F=0,E=A.slice(),k=!1;for(;E.length>0;){let G=E.shift();if(G.kind===\"declaration\"){if(G.value===void 0||(F++,k))continue;if(G.property===\"--tw-sort\"){let q=Ft.indexOf(G.value??\"\");if(q!==-1){j.add(q),k=!0;continue}}let t=Ft.indexOf(G.property);t!==-1&&j.add(t)}else if(G.kind===\"rule\"||G.kind===\"at-rule\")for(let t of G.nodes)E.push(t)}return{order:Array.from(j).sort((G,t)=>G-t),count:F}}function GF(A,j){let F=0,E=pA(\"&\",A),k=new Set,G=new XA(()=>new Set),t=new XA(()=>new Set);jA([E],($,{parent:i})=>{if($.kind===\"at-rule\"){if($.name===\"@keyframes\")return jA($.nodes,s=>{if(s.kind===\"at-rule\"&&s.name===\"@apply\")throw new Error(\"You cannot use `@apply` inside `@keyframes`.\")}),1;if($.name===\"@utility\"){let s=$.params.replace(/-\\*$/,\"\");t.get(s).add($),jA($.nodes,o=>{if(!(o.kind!==\"at-rule\"||o.name!==\"@apply\")){k.add($);for(let c of Gt(o,j))G.get($).add(c)}});return}if($.name===\"@apply\"){if(i===null)return;F|=1,k.add(i);for(let s of Gt($,j))G.get(i).add(s)}}});let q=new Set,e=[],r=new Set;function n($,i=[]){if(!q.has($)){if(r.has($)){let s=i[(i.indexOf($)+1)%i.length];throw $.kind===\"at-rule\"&&$.name===\"@utility\"&&s.kind===\"at-rule\"&&s.name===\"@utility\"&&jA($.nodes,o=>{if(o.kind!==\"at-rule\"||o.name!==\"@apply\")return;let c=o.params.split(/\\s+/g);for(let p of c)for(let C of j.parseCandidate(p))switch(C.kind){case\"arbitrary\":break;case\"static\":case\"functional\":if(s.params.replace(/-\\*$/,\"\")===C.root)throw new Error(`You cannot \\`@apply\\` the \\`${p}\\` utility here because it creates a circular dependency.`);break;default:}}),new Error(`Circular dependency detected:\n\n${Dj([$])}\nRelies on:\n\n${Dj([s])}`)}r.add($);for(let s of G.get($))for(let o of t.get(s))i.push($),n(o,i),i.pop();q.add($),r.delete($),e.push($)}}for(let $ of k)n($);for(let $ of e)if(\"nodes\"in $)for(let i=0;i<$.nodes.length;i++){let s=$.nodes[i];if(s.kind!==\"at-rule\"||s.name!==\"@apply\")continue;let o=s.params.split(/\\s+/g);{let c=EE(o,j,{onInvalidCandidate:C=>{throw new Error(`Cannot apply unknown utility class: ${C}`)}}).astNodes,p=[];for(let C of c)if(C.kind===\"rule\")for(let h of C.nodes)p.push(h);else p.push(C);$.nodes.splice(i,1,...p)}}return F}function*Gt(A,j){for(let F of A.params.split(/\\s+/g))for(let E of j.parseCandidate(F))switch(E.kind){case\"arbitrary\":break;case\"static\":case\"functional\":yield E.root;break;default:}}async function Lt(A,j,F,E=0){let k=0,G=[];return jA(A,(t,{replaceWith:q})=>{if(t.kind===\"at-rule\"&&(t.name===\"@import\"||t.name===\"@reference\")){let e=ix(cA(t.params));if(e===null)return;t.name===\"@reference\"&&(e.media=\"reference\"),k|=2;let{uri:r,layer:n,media:$,supports:i}=e;if(r.startsWith(\"data:\")||r.startsWith(\"http://\")||r.startsWith(\"https://\"))return;let s=hj({},[]);return G.push((async()=>{if(E>100)throw new Error(`Exceeded maximum recursion depth while resolving \\`${r}\\` in \\`${j}\\`)`);let o=await F(r,j),c=xF(o.content);await Lt(c,o.base,F,E+1),s.nodes=ax([hj({base:o.base},c)],n,$,i)})()),q(s),1}}),G.length>0&&await Promise.all(G),k}function ix(A){let j,F=null,E=null,k=null;for(let G=0;G<A.length;G++){let t=A[G];if(t.kind!==\"separator\"){if(t.kind===\"word\"&&!j){if(!t.value||t.value[0]!=='\"'&&t.value[0]!==\"'\")return null;j=t.value.slice(1,-1);continue}if(t.kind===\"function\"&&t.value.toLowerCase()===\"url\"||!j)return null;if((t.kind===\"word\"||t.kind===\"function\")&&t.value.toLowerCase()===\"layer\"){if(F)return null;if(k)throw new Error(\"`layer(\\u2026)` in an `@import` should come before any other functions or conditions\");\"nodes\"in t?F=PA(t.nodes):F=\"\";continue}if(t.kind===\"function\"&&t.value.toLowerCase()===\"supports\"){if(k)return null;k=PA(t.nodes);continue}E=PA(A.slice(G));break}}return j?{uri:j,layer:F,media:E,supports:k}:null}function ax(A,j,F,E){let k=A;return j!==null&&(k=[AA(\"@layer\",j,k)]),F!==null&&(k=[AA(\"@media\",F,k)]),E!==null&&(k=[AA(\"@supports\",E[0]===\"(\"?E:`(${E})`,k)]),k}function Xj(A,j=null){return Array.isArray(A)&&A.length===2&&typeof A[1]==\"object\"&&typeof A[1]!==null?j?A[1][j]??null:A[0]:Array.isArray(A)&&j===null?A.join(\", \"):typeof A==\"string\"&&j===null?A:null}function ox(A,{theme:j},F){for(let E of F){let k=tF([E]);k&&A.theme.clearNamespace(`--${k}`,4)}for(let[E,k]of Bx(j)){if(typeof k!=\"string\"&&typeof k!=\"number\")continue;if(typeof k==\"string\"&&(k=k.replace(/<alpha-value>/g,\"1\")),E[0]===\"opacity\"&&(typeof k==\"number\"||typeof k==\"string\")){let t=typeof k==\"string\"?parseFloat(k):k;t>=0&&t<=1&&(k=t*100+\"%\")}let G=tF(E);G&&A.theme.add(`--${G}`,\"\"+k,7)}if(Object.hasOwn(j,\"fontFamily\")){let E=5;{let k=Xj(j.fontFamily.sans);k&&A.theme.hasDefault(\"--font-sans\")&&(A.theme.add(\"--default-font-family\",k,E),A.theme.add(\"--default-font-feature-settings\",Xj(j.fontFamily.sans,\"fontFeatureSettings\")??\"normal\",E),A.theme.add(\"--default-font-variation-settings\",Xj(j.fontFamily.sans,\"fontVariationSettings\")??\"normal\",E))}{let k=Xj(j.fontFamily.mono);k&&A.theme.hasDefault(\"--font-mono\")&&(A.theme.add(\"--default-mono-font-family\",k,E),A.theme.add(\"--default-mono-font-feature-settings\",Xj(j.fontFamily.mono,\"fontFeatureSettings\")??\"normal\",E),A.theme.add(\"--default-mono-font-variation-settings\",Xj(j.fontFamily.mono,\"fontVariationSettings\")??\"normal\",E))}}return j}function Bx(A){let j=[];return Ot(A,[],(F,E)=>{if(Ix(F))return j.push([E,F]),1;if(Cx(F)){j.push([E,F[0]]);for(let k of Reflect.ownKeys(F[1]))j.push([[...E,`-${k}`],F[1][k]]);return 1}if(Array.isArray(F)&&F.every(k=>typeof k==\"string\"))return E[0]===\"fontSize\"?(j.push([E,F[0]]),F.length>=2&&j.push([[...E,\"-line-height\"],F[1]])):j.push([E,F.join(\", \")]),1}),j}var sx=/^[a-zA-Z0-9-_%/\\.]+$/;function tF(A){if(A[0]===\"container\")return null;A=structuredClone(A),A[0]===\"animation\"&&(A[0]=\"animate\"),A[0]===\"aspectRatio\"&&(A[0]=\"aspect\"),A[0]===\"borderRadius\"&&(A[0]=\"radius\"),A[0]===\"boxShadow\"&&(A[0]=\"shadow\"),A[0]===\"colors\"&&(A[0]=\"color\"),A[0]===\"containers\"&&(A[0]=\"container\"),A[0]===\"fontFamily\"&&(A[0]=\"font\"),A[0]===\"fontSize\"&&(A[0]=\"text\"),A[0]===\"letterSpacing\"&&(A[0]=\"tracking\"),A[0]===\"lineHeight\"&&(A[0]=\"leading\"),A[0]===\"maxWidth\"&&(A[0]=\"container\"),A[0]===\"screens\"&&(A[0]=\"breakpoint\"),A[0]===\"transitionTimingFunction\"&&(A[0]=\"ease\");for(let j of A)if(!sx.test(j))return null;return A.map((j,F,E)=>j===\"1\"&&F!==E.length-1?\"\":j).map(j=>j.replaceAll(\".\",\"_\").replace(/([a-z])([A-Z])/g,(F,E,k)=>`${E}-${k.toLowerCase()}`)).filter((j,F)=>j!==\"DEFAULT\"||F!==A.length-1).join(\"-\")}function Ix(A){return typeof A==\"number\"||typeof A==\"string\"}function Cx(A){if(!Array.isArray(A)||A.length!==2||typeof A[0]!=\"string\"&&typeof A[0]!=\"number\"||A[1]===void 0||A[1]===null||typeof A[1]!=\"object\")return!1;for(let j of Reflect.ownKeys(A[1]))if(typeof j!=\"string\"||typeof A[1][j]!=\"string\"&&typeof A[1][j]!=\"number\")return!1;return!0}function Ot(A,j=[],F){for(let E of Reflect.ownKeys(A)){let k=A[E];if(k==null)continue;let G=[...j,E],t=F(k,G)??0;if(t!==1&&(t===2||!(!Array.isArray(k)&&typeof k!=\"object\")&&Ot(k,G,F)===2))return 2}}function Tt(A){let j=[];for(let F of J(A,\".\")){if(!F.includes(\"[\")){j.push(F);continue}let E=0;for(;;){let k=F.indexOf(\"[\",E),G=F.indexOf(\"]\",k);if(k===-1||G===-1)break;k>E&&j.push(F.slice(E,k)),j.push(F.slice(k+1,G)),E=G+1}E<=F.length-1&&j.push(F.slice(E))}return j}function F6(A){if(Object.prototype.toString.call(A)!==\"[object Object]\")return!1;let j=Object.getPrototypeOf(A);return j===null||Object.getPrototypeOf(j)===null}function nF(A,j,F,E=[]){for(let k of j)if(k!=null)for(let G of Reflect.ownKeys(k)){E.push(G);let t=F(A[G],k[G],E);t!==void 0?A[G]=t:!F6(A[G])||!F6(k[G])?A[G]=k[G]:A[G]=nF({},[A[G],k[G]],F,E),E.pop()}return A}function bt(A,j,F){return function(E,k){let G=E.lastIndexOf(\"/\"),t=null;G!==-1&&(t=E.slice(G+1).trim(),E=E.slice(0,G).trim());let q=(()=>{let e=Tt(E),[r,n]=cx(A.theme,e),$=F(tt(j()??{},e)??null);if(typeof $==\"string\"&&($=$.replace(\"<alpha-value>\",\"1\")),typeof r!=\"object\")return typeof n!=\"object\"&&n&4?$??r:r;if($!==null&&typeof $==\"object\"&&!Array.isArray($)){let i=nF({},[$],(s,o)=>o);if(r===null&&Object.hasOwn($,\"__CSS_VALUES__\")){let s={};for(let o in $.__CSS_VALUES__)s[o]=$[o],delete i[o];r=s}for(let s in r)s!==\"__CSS_VALUES__\"&&($?.__CSS_VALUES__?.[s]&4&&tt(i,s.split(\"-\"))!==void 0||(i[V6(s)]=r[s]));return i}if(Array.isArray(r)&&Array.isArray(n)&&Array.isArray($)){let i=r[0],s=r[1];n[0]&4&&(i=$[0]??i);for(let o of Object.keys(s))n[1][o]&4&&(s[o]=$[1][o]??s[o]);return[i,s]}return r??$})();return t&&typeof q==\"string\"&&(q=DA(q,t)),q??k}}function cx(A,j){if(j.length===1&&j[0].startsWith(\"--\"))return[A.get([j[0]]),A.getOptions(j[0])];let F=tF(j),E=new Map,k=new XA(()=>new Map),G=A.namespace(`--${F}`);if(G.size===0)return[null,0];let t=new Map;for(let[n,$]of G){if(!n||!n.includes(\"--\")){E.set(n,$),t.set(n,A.getOptions(n?`--${F}-${n}`:`--${F}`));continue}let i=n.indexOf(\"--\"),s=n.slice(0,i),o=n.slice(i+2);o=o.replace(/-([a-z])/g,(c,p)=>p.toUpperCase()),k.get(s===\"\"?null:s).set(o,[$,A.getOptions(`--${F}${n}`)])}let q=A.getOptions(`--${F}`);for(let[n,$]of k){let i=E.get(n);if(typeof i!=\"string\")continue;let s={},o={};for(let[c,[p,C]]of $)s[c]=p,o[c]=C;E.set(n,[i,s]),t.set(n,[q,o])}let e={},r={};for(let[n,$]of E)rt(e,[n??\"DEFAULT\"],$);for(let[n,$]of t)rt(r,[n??\"DEFAULT\"],$);return j[j.length-1]===\"DEFAULT\"?[e?.DEFAULT??null,r.DEFAULT??0]:\"DEFAULT\"in e&&Object.keys(e).length===1?[e.DEFAULT,r.DEFAULT??0]:(e.__CSS_VALUES__=r,[e,r])}function tt(A,j){for(let F=0;F<j.length;++F){let E=j[F];if(A?.[E]===void 0){if(j[F+1]===void 0)return;j[F+1]=`${E}-${j[F+1]}`;continue}A=A[E]}return A}function rt(A,j,F){for(let E of j.slice(0,-1))A[E]===void 0&&(A[E]={}),A=A[E];A[j[j.length-1]]=F}function px(A){return{kind:\"combinator\",value:A}}function hx(A,j){return{kind:\"function\",value:A,nodes:j}}function A6(A){return{kind:\"selector\",value:A}}function ux(A){return{kind:\"separator\",value:A}}function dx(A){return{kind:\"value\",value:A}}function Z6(A,j,F=null){for(let E=0;E<A.length;E++){let k=A[E],G=!1,t=0,q=j(k,{parent:F,replaceWith(e){G||(G=!0,Array.isArray(e)?e.length===0?(A.splice(E,1),t=0):e.length===1?(A[E]=e[0],t=1):(A.splice(E,1,...e),t=e.length):(A[E]=e,t=1))}})??0;if(G){q===0?E--:E+=t-1;continue}if(q===2||q!==1&&k.kind===\"function\"&&Z6(k.nodes,j,k)===2)return 2}}function AE(A){let j=\"\";for(let F of A)switch(F.kind){case\"combinator\":case\"selector\":case\"separator\":case\"value\":{j+=F.value;break}case\"function\":j+=F.value+\"(\"+AE(F.nodes)+\")\"}return j}var et=92,Dx=93,qt=41,Kx=58,xt=44,vx=34,mx=46,lt=62,nt=10,fx=35,$t=91,it=40,at=43,gx=39,ot=32,Bt=9,st=126;function rF(A){A=A.replaceAll(`\\r\n`,`\n`);let j=[],F=[],E=null,k=\"\",G;for(let t=0;t<A.length;t++){let q=A.charCodeAt(t);switch(q){case xt:case lt:case nt:case ot:case at:case Bt:case st:{if(k.length>0){let i=A6(k);E?E.nodes.push(i):j.push(i),k=\"\"}let e=t,r=t+1;for(;r<A.length&&(G=A.charCodeAt(r),!(G!==xt&&G!==lt&&G!==nt&&G!==ot&&G!==at&&G!==Bt&&G!==st));r++);t=r-1;let n=A.slice(e,r),$=n.trim()===\",\"?ux(n):px(n);E?E.nodes.push($):j.push($);break}case it:{let e=hx(k,[]);if(k=\"\",e.value!==\":not\"&&e.value!==\":where\"&&e.value!==\":has\"&&e.value!==\":is\"){let r=t+1,n=0;for(let i=t+1;i<A.length;i++){if(G=A.charCodeAt(i),G===it){n++;continue}if(G===qt){if(n===0){t=i;break}n--}}let $=t;e.nodes.push(dx(A.slice(r,$))),k=\"\",t=$,E?E.nodes.push(e):j.push(e);break}E?E.nodes.push(e):j.push(e),F.push(e),E=e;break}case qt:{let e=F.pop();if(k.length>0){let r=A6(k);e.nodes.push(r),k=\"\"}F.length>0?E=F[F.length-1]:E=null;break}case mx:case Kx:case fx:{if(k.length>0){let e=A6(k);E?E.nodes.push(e):j.push(e)}k=String.fromCharCode(q);break}case $t:{if(k.length>0){let n=A6(k);E?E.nodes.push(n):j.push(n)}k=\"\";let e=t,r=0;for(let n=t+1;n<A.length;n++){if(G=A.charCodeAt(n),G===$t){r++;continue}if(G===Dx){if(r===0){t=n;break}r--}}k+=A.slice(e,t+1);break}case gx:case vx:{let e=t;for(let r=t+1;r<A.length;r++)if(G=A.charCodeAt(r),G===et)r+=1;else if(G===q){t=r;break}k+=A.slice(e,t+1);break}case et:{let e=A.charCodeAt(t+1);k+=String.fromCharCode(q)+String.fromCharCode(e),t+=1;break}default:k+=String.fromCharCode(q)}}return k.length>0&&j.push(A6(k)),j}var It=/^[a-z@][a-zA-Z0-9/%._-]*$/;function Ct({designSystem:A,ast:j,resolvedConfig:F,featuresRef:E,referenceMode:k}){let G={addBase(t){if(k)return;let q=Gj(t);E.current|=lF(q,A),j.push(AA(\"@layer\",\"base\",q))},addVariant(t,q){if(!Ht.test(t))throw new Error(`\\`addVariant('${t}')\\` defines an invalid variant name. Variants should only contain alphanumeric, dashes or underscore characters.`);typeof q==\"string\"||Array.isArray(q)?A.variants.static(t,e=>{e.nodes=ct(q,e.nodes)},{compounds:k6(typeof q==\"string\"?[q]:q)}):typeof q==\"object\"&&A.variants.fromAst(t,Gj(q))},matchVariant(t,q,e){function r($,i,s){let o=q($,{modifier:i?.value??null});return ct(o,s)}let n=Object.keys(e?.values??{});A.variants.group(()=>{A.variants.functional(t,($,i)=>{if(!i.value){if(e?.values&&\"DEFAULT\"in e.values){$.nodes=r(e.values.DEFAULT,i.modifier,$.nodes);return}return null}if(i.value.kind===\"arbitrary\")$.nodes=r(i.value.value,i.modifier,$.nodes);else if(i.value.kind===\"named\"&&e?.values){let s=e.values[i.value.value];if(typeof s!=\"string\")return;$.nodes=r(s,i.modifier,$.nodes)}})},($,i)=>{if($.kind!==\"functional\"||i.kind!==\"functional\")return 0;let s=$.value?$.value.value:\"DEFAULT\",o=i.value?i.value.value:\"DEFAULT\",c=e?.values?.[s]??s,p=e?.values?.[o]??o;if(e&&typeof e.sort==\"function\")return e.sort({value:c,modifier:$.modifier?.value??null},{value:p,modifier:i.modifier?.value??null});let C=n.indexOf(s),h=n.indexOf(o);return C=C===-1?n.length:C,h=h===-1?n.length:h,C!==h?C-h:c<p?-1:1})},addUtilities(t){t=Array.isArray(t)?t:[t];let q=t.flatMap(r=>Object.entries(r));q=q.flatMap(([r,n])=>J(r,\",\").map($=>[$.trim(),n]));let e=new XA(()=>[]);for(let[r,n]of q){if(r.startsWith(\"@keyframes \")){k||j.push(pA(r,Gj(n)));continue}let $=rF(r),i=!1;if(Z6($,s=>{if(s.kind===\"selector\"&&s.value[0]===\".\"&&It.test(s.value.slice(1))){let o=s.value;s.value=\"&\";let c=AE($),p=o.slice(1),C=c===\"&\"?Gj(n):[pA(c,Gj(n))];e.get(p).push(...C),i=!0,s.value=o;return}if(s.kind===\"function\"&&s.value===\":not\")return 1}),!i)throw new Error(`\\`addUtilities({ '${r}' : \\u2026 })\\` defines an invalid utility selector. Utilities must be a single class name and start with a lowercase letter, eg. \\`.scrollbar-none\\`.`)}for(let[r,n]of e)A.theme.prefix&&jA(n,$=>{if($.kind===\"rule\"){let i=rF($.selector);Z6(i,s=>{s.kind===\"selector\"&&s.value[0]===\".\"&&(s.value=`.${A.theme.prefix}\\\\:${s.value.slice(1)}`)}),$.selector=AE(i)}}),A.utilities.static(r,$=>{let i=structuredClone(n);return pt(i,r,$.raw),E.current|=GF(i,A),i})},matchUtilities(t,q){let e=q?.type?Array.isArray(q?.type)?q.type:[q.type]:[\"any\"];for(let[n,$]of Object.entries(t)){let i=function({negative:s}){return o=>{if(o.value?.kind===\"arbitrary\"&&e.length>0&&!e.includes(\"any\")&&(o.value.dataType&&!e.includes(o.value.dataType)||!o.value.dataType&&!qA(o.value.value,e)))return;let c=e.includes(\"color\"),p=null,C=!1;{let K=q?.values??{};c&&(K=Object.assign({inherit:\"inherit\",transparent:\"transparent\",current:\"currentcolor\"},K)),o.value?o.value.kind===\"arbitrary\"?p=o.value.value:o.value.fraction&&K[o.value.fraction]?(p=K[o.value.fraction],C=!0):K[o.value.value]?p=K[o.value.value]:K.__BARE_VALUE__&&(p=K.__BARE_VALUE__(o.value)??null,C=(o.value.fraction!==null&&p?.includes(\"/\"))??!1):p=K.DEFAULT??null}if(p===null)return;let h;{let K=q?.modifiers??null;o.modifier?K===\"any\"||o.modifier.kind===\"arbitrary\"?h=o.modifier.value:K?.[o.modifier.value]?h=K[o.modifier.value]:c&&!Number.isNaN(Number(o.modifier.value))?h=`${o.modifier.value}%`:h=null:h=null}if(o.modifier&&h===null&&!C)return o.value?.kind===\"arbitrary\"?null:void 0;c&&h!==null&&(p=DA(p,h)),s&&(p=`calc(${p} * -1)`);let L=Gj($(p,{modifier:h}));return pt(L,n,o.raw),E.current|=GF(L,A),L}};var r=i;if(!It.test(n))throw new Error(`\\`matchUtilities({ '${n}' : \\u2026 })\\` defines an invalid utility name. Utilities should be alphanumeric and start with a lowercase letter, eg. \\`scrollbar\\`.`);q?.supportsNegativeValues&&A.utilities.functional(`-${n}`,i({negative:!0}),{types:e}),A.utilities.functional(n,i({negative:!1}),{types:e}),A.utilities.suggest(n,()=>{let s=q?.values??{},o=new Set(Object.keys(s));o.delete(\"__BARE_VALUE__\"),o.has(\"DEFAULT\")&&(o.delete(\"DEFAULT\"),o.add(null));let c=q?.modifiers??{},p=c===\"any\"?[]:Object.keys(c);return[{supportsNegative:q?.supportsNegativeValues??!1,values:Array.from(o),modifiers:p}]})}},addComponents(t,q){this.addUtilities(t,q)},matchComponents(t,q){this.matchUtilities(t,q)},theme:bt(A,()=>F.theme??{},t=>t),prefix(t){return t},config(t,q){let e=F;if(!t)return e;let r=Tt(t);for(let n=0;n<r.length;++n){let $=r[n];if(e[$]===void 0)return q;e=e[$]}return e??q}};return G.addComponents=G.addComponents.bind(G),G.matchComponents=G.matchComponents.bind(G),G}function Gj(A){let j=[];A=Array.isArray(A)?A:[A];let F=A.flatMap(E=>Object.entries(E));for(let[E,k]of F)if(typeof k!=\"object\"){if(!E.startsWith(\"--\")){if(k===\"@slot\"){j.push(pA(E,[AA(\"@slot\")]));continue}E=E.replace(/([A-Z])/g,\"-$1\").toLowerCase()}j.push(l(E,String(k)))}else if(Array.isArray(k))for(let G of k)typeof G==\"string\"?j.push(l(E,G)):j.push(pA(E,Gj(G)));else k!==null&&j.push(pA(E,Gj(k)));return j}function ct(A,j){return(typeof A==\"string\"?[A]:A).flatMap(F=>{if(F.trim().endsWith(\"}\")){let E=F.replace(\"}\",\"{@slot}}\"),k=xF(E);return Pt(k,j),k}else return pA(F,j)})}function pt(A,j,F){jA(A,E=>{if(E.kind===\"rule\"){let k=rF(E.selector);Z6(k,G=>{G.kind===\"selector\"&&G.value===`.${j}`&&(G.value=`.${jE(F)}`)}),E.selector=AE(k)}})}function Hx(A,j,F){for(let E of Px(j))A.theme.addKeyframes(E)}function Px(A){let j=[];if(\"keyframes\"in A.theme)for(let[F,E]of Object.entries(A.theme.keyframes))j.push(AA(\"@keyframes\",F,Gj(E)));return j}function Xx(A){return{theme:{...PG,colors:({theme:j})=>j(\"color\",{}),extend:{fontSize:({theme:j})=>({...j(\"text\",{})}),boxShadow:({theme:j})=>({...j(\"shadow\",{})}),animation:({theme:j})=>({...j(\"animate\",{})}),aspectRatio:({theme:j})=>({...j(\"aspect\",{})}),borderRadius:({theme:j})=>({...j(\"radius\",{})}),screens:({theme:j})=>({...j(\"breakpoint\",{})}),letterSpacing:({theme:j})=>({...j(\"tracking\",{})}),lineHeight:({theme:j})=>({...j(\"leading\",{})}),transitionDuration:{DEFAULT:A.get([\"--default-transition-duration\"])??null},transitionTimingFunction:{DEFAULT:A.get([\"--default-transition-timing-function\"])??null},maxWidth:({theme:j})=>({...j(\"container\",{})})}}}}var Lx={blocklist:[],future:{},prefix:\"\",important:!1,darkMode:null,theme:{},plugins:[],content:{files:[]}};function ht(A,j){let F={design:A,configs:[],plugins:[],content:{files:[]},theme:{},extend:{},result:structuredClone(Lx)};for(let k of j)eF(F,k);for(let k of F.configs)\"darkMode\"in k&&k.darkMode!==void 0&&(F.result.darkMode=k.darkMode??null),\"prefix\"in k&&k.prefix!==void 0&&(F.result.prefix=k.prefix??\"\"),\"blocklist\"in k&&k.blocklist!==void 0&&(F.result.blocklist=k.blocklist??[]),\"important\"in k&&k.important!==void 0&&(F.result.important=k.important??!1);let E=Tx(F);return{resolvedConfig:{...F.result,content:F.content,theme:F.theme,plugins:F.plugins},replacedThemeKeys:E}}function Ox(A,j){if(Array.isArray(A)&&F6(A[0]))return A.concat(j);if(Array.isArray(j)&&F6(j[0])&&F6(A))return[A,...j];if(Array.isArray(j))return j}function eF(A,{config:j,base:F,path:E,reference:k}){let G=[];for(let e of j.plugins??[])\"__isOptionsFunction\"in e?G.push({...e(),reference:k}):\"handler\"in e?G.push({...e,reference:k}):G.push({handler:e,reference:k});if(Array.isArray(j.presets)&&j.presets.length===0)throw new Error(\"Error in the config file/plugin/preset. An empty preset (`preset: []`) is not currently supported.\");for(let e of j.presets??[])eF(A,{path:E,base:F,config:e,reference:k});for(let e of G)A.plugins.push(e),e.config&&eF(A,{path:E,base:F,config:e.config,reference:!!e.reference});let t=j.content??[],q=Array.isArray(t)?t:t.files;for(let e of q)A.content.files.push(typeof e==\"object\"?e:{base:F,pattern:e});A.configs.push(j)}function Tx(A){let j=new Set,F=bt(A.design,()=>A.theme,k),E=Object.assign(F,{theme:F,colors:O6});function k(G){return typeof G==\"function\"?G(E)??null:G??null}for(let G of A.configs){let t=G.theme??{},q=t.extend??{};for(let e in t)e!==\"extend\"&&j.add(e);Object.assign(A.theme,t);for(let e in q)A.extend[e]??=[],A.extend[e].push(q[e])}delete A.theme.extend;for(let G in A.extend){let t=[A.theme[G],...A.extend[G]];A.theme[G]=()=>{let q=t.map(k);return nF({},q,Ox)}}for(let G in A.theme)A.theme[G]=k(A.theme[G]);if(A.theme.screens&&typeof A.theme.screens==\"object\")for(let G of Object.keys(A.theme.screens)){let t=A.theme.screens[G];t&&typeof t==\"object\"&&(\"raw\"in t||\"max\"in t||\"min\"in t&&(A.theme.screens[G]=t.min))}return j}function bx(A,j){let F=A.theme.container||{};if(typeof F!=\"object\"||F===null)return;let E=wx(F,j);E.length!==0&&j.utilities.static(\"container\",()=>structuredClone(E))}function wx({center:A,padding:j,screens:F},E){let k=[],G=null;if(A&&k.push(l(\"margin-inline\",\"auto\")),(typeof j==\"string\"||typeof j==\"object\"&&j!==null&&\"DEFAULT\"in j)&&k.push(l(\"padding-inline\",typeof j==\"string\"?j:j.DEFAULT)),typeof F==\"object\"&&F!==null){G=new Map;let t=Array.from(E.theme.namespace(\"--breakpoint\").entries());if(t.sort((q,e)=>Q6(q[1],e[1],\"asc\")),t.length>0){let[q]=t[0];k.push(AA(\"@media\",`(width >= --theme(--breakpoint-${q}))`,[l(\"max-width\",\"none\")]))}for(let[q,e]of Object.entries(F)){if(typeof e==\"object\")if(\"min\"in e)e=e.min;else continue;G.set(q,AA(\"@media\",`(width >= ${e})`,[l(\"max-width\",e)]))}}if(typeof j==\"object\"&&j!==null){let t=Object.entries(j).filter(([q])=>q!==\"DEFAULT\").map(([q,e])=>[q,E.theme.resolveValue(q,[\"--breakpoint\"]),e]).filter(Boolean);t.sort((q,e)=>Q6(q[1],e[1],\"asc\"));for(let[q,,e]of t)if(G&&G.has(q))G.get(q).nodes.push(l(\"padding-inline\",e));else{if(G)continue;k.push(AA(\"@media\",`(width >= theme(--breakpoint-${q}))`,[l(\"padding-inline\",e)]))}}if(G)for(let[,t]of G)k.push(t);return k}function yx({addVariant:A,config:j}){let F=j(\"darkMode\",null),[E,k=\".dark\"]=Array.isArray(F)?F:[F];if(E===\"variant\"){let G;if(Array.isArray(k)||typeof k==\"function\"?G=k:typeof k==\"string\"&&(G=[k]),Array.isArray(G))for(let t of G)t===\".dark\"?(E=!1,console.warn('When using `variant` for `darkMode`, you must provide a selector.\\nExample: `darkMode: [\"variant\", \".your-selector &\"]`')):t.includes(\"&\")||(E=!1,console.warn('When using `variant` for `darkMode`, your selector must contain `&`.\\nExample `darkMode: [\"variant\", \".your-selector &\"]`'));k=G}E===null||(E===\"selector\"?A(\"dark\",`&:where(${k}, ${k} *)`):E===\"media\"?A(\"dark\",\"@media (prefers-color-scheme: dark)\"):E===\"variant\"?A(\"dark\",k):E===\"class\"&&A(\"dark\",`&:is(${k} *)`))}function _x(A){for(let[j,F]of[[\"t\",\"top\"],[\"tr\",\"top right\"],[\"r\",\"right\"],[\"br\",\"bottom right\"],[\"b\",\"bottom\"],[\"bl\",\"bottom left\"],[\"l\",\"left\"],[\"tl\",\"top left\"]])A.utilities.static(`bg-gradient-to-${j}`,()=>[l(\"--tw-gradient-position\",`to ${F} in oklab`),l(\"background-image\",\"linear-gradient(var(--tw-gradient-stops))\")]);A.utilities.static(\"bg-left-top\",()=>[l(\"background-position\",\"left top\")]),A.utilities.static(\"bg-right-top\",()=>[l(\"background-position\",\"right top\")]),A.utilities.static(\"bg-left-bottom\",()=>[l(\"background-position\",\"left bottom\")]),A.utilities.static(\"bg-right-bottom\",()=>[l(\"background-position\",\"right bottom\")]),A.utilities.static(\"object-left-top\",()=>[l(\"object-position\",\"left top\")]),A.utilities.static(\"object-right-top\",()=>[l(\"object-position\",\"right top\")]),A.utilities.static(\"object-left-bottom\",()=>[l(\"object-position\",\"left bottom\")]),A.utilities.static(\"object-right-bottom\",()=>[l(\"object-position\",\"right bottom\")]),A.utilities.functional(\"max-w-screen\",j=>{if(!j.value||j.value.kind===\"arbitrary\")return;let F=A.theme.resolve(j.value.value,[\"--breakpoint\"]);if(F)return[l(\"max-width\",F)]}),A.utilities.static(\"overflow-ellipsis\",()=>[l(\"text-overflow\",\"ellipsis\")]),A.utilities.static(\"decoration-slice\",()=>[l(\"-webkit-box-decoration-break\",\"slice\"),l(\"box-decoration-break\",\"slice\")]),A.utilities.static(\"decoration-clone\",()=>[l(\"-webkit-box-decoration-break\",\"clone\"),l(\"box-decoration-break\",\"clone\")]),A.utilities.functional(\"flex-shrink\",j=>{if(!j.modifier){if(!j.value)return[l(\"flex-shrink\",\"1\")];if(j.value.kind===\"arbitrary\")return[l(\"flex-shrink\",j.value.value)];if(P(j.value.value))return[l(\"flex-shrink\",j.value.value)]}}),A.utilities.functional(\"flex-grow\",j=>{if(!j.modifier){if(!j.value)return[l(\"flex-grow\",\"1\")];if(j.value.kind===\"arbitrary\")return[l(\"flex-grow\",j.value.value)];if(P(j.value.value))return[l(\"flex-grow\",j.value.value)]}})}function Mx(A,j){let F=A.theme.screens||{},E=j.variants.get(\"min\")?.order??0,k=[];for(let[t,q]of Object.entries(F)){let e=function(s){j.variants.static(t,o=>{o.nodes=[AA(\"@media\",i,o.nodes)]},{order:s})};var G=e;let r=j.variants.get(t),n=j.theme.resolveValue(t,[\"--breakpoint\"]);if(r&&n&&!j.theme.hasDefault(`--breakpoint-${t}`))continue;let $=!0;typeof q==\"string\"&&($=!1);let i=Rx(q);$?k.push(e):e(E)}if(k.length!==0){for(let[,t]of j.variants.variants)t.order>E&&(t.order+=k.length);j.variants.compareFns=new Map(Array.from(j.variants.compareFns).map(([t,q])=>(t>E&&(t+=k.length),[t,q])));for(let[t,q]of k.entries())q(E+t+1)}}function Rx(A){return(Array.isArray(A)?A:[A]).map(j=>typeof j==\"string\"?{min:j}:j&&typeof j==\"object\"?j:null).map(j=>{if(j===null)return null;if(\"raw\"in j)return j.raw;let F=\"\";return j.max!==void 0&&(F+=`${j.max} >= `),F+=\"width\",j.min!==void 0&&(F+=` >= ${j.min}`),`(${F})`}).filter(Boolean).join(\", \")}function Sx(A,j){let F=A.theme.aria||{},E=A.theme.supports||{},k=A.theme.data||{};if(Object.keys(F).length>0){let G=j.variants.get(\"aria\"),t=G?.applyFn,q=G?.compounds;j.variants.functional(\"aria\",(e,r)=>{let n=r.value;return n&&n.kind===\"named\"&&n.value in F?t?.(e,{...r,value:{kind:\"arbitrary\",value:F[n.value]}}):t?.(e,r)},{compounds:q})}if(Object.keys(E).length>0){let G=j.variants.get(\"supports\"),t=G?.applyFn,q=G?.compounds;j.variants.functional(\"supports\",(e,r)=>{let n=r.value;return n&&n.kind===\"named\"&&n.value in E?t?.(e,{...r,value:{kind:\"arbitrary\",value:E[n.value]}}):t?.(e,r)},{compounds:q})}if(Object.keys(k).length>0){let G=j.variants.get(\"data\"),t=G?.applyFn,q=G?.compounds;j.variants.functional(\"data\",(e,r)=>{let n=r.value;return n&&n.kind===\"named\"&&n.value in k?t?.(e,{...r,value:{kind:\"arbitrary\",value:k[n.value]}}):t?.(e,r)},{compounds:q})}}var Nx=/^[a-z]+$/;async function zx({designSystem:A,base:j,ast:F,loadModule:E,sources:k}){let G=0,t=[],q=[];jA(F,($,{parent:i,replaceWith:s,context:o})=>{if($.kind===\"at-rule\"){if($.name===\"@plugin\"){if(i!==null)throw new Error(\"`@plugin` cannot be nested.\");let c=$.params.slice(1,-1);if(c.length===0)throw new Error(\"`@plugin` must have a path.\");let p={};for(let C of $.nodes??[]){if(C.kind!==\"declaration\")throw new Error(`Unexpected \\`@plugin\\` option:\n\n${Dj([C])}\n\n\\`@plugin\\` options must be a flat list of declarations.`);if(C.value===void 0)continue;let h=C.value,L=J(h,\",\").map(K=>{if(K=K.trim(),K===\"null\")return null;if(K===\"true\")return!0;if(K===\"false\")return!1;if(Number.isNaN(Number(K))){if(K[0]==='\"'&&K[K.length-1]==='\"'||K[0]===\"'\"&&K[K.length-1]===\"'\")return K.slice(1,-1);if(K[0]===\"{\"&&K[K.length-1]===\"}\")throw new Error(`Unexpected \\`@plugin\\` option: Value of declaration \\`${Dj([C]).trim()}\\` is not supported.\n\nUsing an object as a plugin option is currently only supported in JavaScript configuration files.`)}else return Number(K);return K});p[C.property]=L.length===1?L[0]:L}t.push([{id:c,base:o.base,reference:!!o.reference},Object.keys(p).length>0?p:null]),s([]),G|=4;return}if($.name===\"@config\"){if($.nodes.length>0)throw new Error(\"`@config` cannot have a body.\");if(i!==null)throw new Error(\"`@config` cannot be nested.\");q.push({id:$.params.slice(1,-1),base:o.base,reference:!!o.reference}),s([]),G|=4;return}}}),_x(A);let e=A.resolveThemeValue;if(A.resolveThemeValue=function($,i){return $.startsWith(\"--\")?e($,i):(G|=ut({designSystem:A,base:j,ast:F,sources:k,configs:[],pluginDetails:[]}),A.resolveThemeValue($,i))},!t.length&&!q.length)return 0;let[r,n]=await Promise.all([Promise.all(q.map(async({id:$,base:i,reference:s})=>{let o=await E($,i,\"config\");return{path:$,base:o.base,config:o.module,reference:s}})),Promise.all(t.map(async([{id:$,base:i,reference:s},o])=>{let c=await E($,i,\"plugin\");return{path:$,base:c.base,plugin:c.module,options:o,reference:s}}))]);return G|=ut({designSystem:A,base:j,ast:F,sources:k,configs:r,pluginDetails:n}),G}function ut({designSystem:A,base:j,ast:F,sources:E,configs:k,pluginDetails:G}){let t=0,q=[...G.map(c=>{if(!c.options)return{config:{plugins:[c.plugin]},base:c.base,reference:c.reference};if(\"__isOptionsFunction\"in c.plugin)return{config:{plugins:[c.plugin(c.options)]},base:c.base,reference:c.reference};throw new Error(`The plugin \"${c.path}\" does not accept options`)}),...k],{resolvedConfig:e}=ht(A,[{config:Xx(A.theme),base:j,reference:!0},...q,{config:{plugins:[yx]},base:j,reference:!0}]),{resolvedConfig:r,replacedThemeKeys:n}=ht(A,q),$=A.resolveThemeValue;A.resolveThemeValue=function(c,p){if(c[0]===\"-\"&&c[1]===\"-\")return $(c,p);let C=s.theme(c,void 0);if(Array.isArray(C)&&C.length===2)return C[0];if(Array.isArray(C))return C.join(\", \");if(typeof C==\"string\")return C};let i={designSystem:A,ast:F,resolvedConfig:e,featuresRef:{set current(c){t|=c}}},s=Ct({...i,referenceMode:!1}),o;for(let{handler:c,reference:p}of e.plugins)p?(o||=Ct({...i,referenceMode:!0}),c(o)):c(s);if(ox(A,r,n),Hx(A,r,n),Sx(r,A),Mx(r,A),bx(r,A),!A.theme.prefix&&e.prefix){if(e.prefix.endsWith(\"-\")&&(e.prefix=e.prefix.slice(0,-1),console.warn(`The prefix \"${e.prefix}\" is invalid. Prefixes must be lowercase ASCII letters (a-z) only and is written as a variant before all utilities. We have fixed up the prefix for you. Remove the trailing \\`-\\` to silence this warning.`)),!Nx.test(e.prefix))throw new Error(`The prefix \"${e.prefix}\" is invalid. Prefixes must be lowercase ASCII letters (a-z) only.`);A.theme.prefix=e.prefix}if(!A.important&&e.important===!0&&(A.important=!0),typeof e.important==\"string\"){let c=e.important;jA(F,(p,{replaceWith:C,parent:h})=>{if(p.kind===\"at-rule\"&&!(p.name!==\"@tailwind\"||p.params!==\"utilities\"))return h?.kind===\"rule\"&&h.selector===c||C(EA(c,[p])),2})}for(let c of e.blocklist)A.invalidCandidates.add(c);for(let c of e.content.files){if(\"raw\"in c)throw new Error(`Error in the config file/plugin/preset. The \\`content\\` key contains a \\`raw\\` entry:\n\n${JSON.stringify(c,null,2)}\n\nThis feature is not currently supported.`);let p=!1;c.pattern[0]==\"!\"&&(p=!0,c.pattern=c.pattern.slice(1)),E.push({...c,negated:p})}return t}var wt=/^(-?\\d+)\\.\\.(-?\\d+)(?:\\.\\.(-?\\d+))?$/;function qF(A){let j=A.indexOf(\"{\");if(j===-1)return[A];let F=[],E=A.slice(0,j),k=A.slice(j),G=0,t=k.lastIndexOf(\"}\");for(let $=0;$<k.length;$++){let i=k[$];if(i===\"{\")G++;else if(i===\"}\"&&(G--,G===0)){t=$;break}}if(t===-1)throw new Error(`The pattern \\`${A}\\` is not balanced.`);let q=k.slice(1,t),e=k.slice(t+1),r;Jx(q)?r=Ux(q):r=J(q,\",\"),r=r.flatMap($=>qF($));let n=qF(e);for(let $ of n)for(let i of r)F.push(E+i+$);return F}function Jx(A){return wt.test(A)}function Ux(A){let j=A.match(wt);if(!j)return[A];let[,F,E,k]=j,G=k?parseInt(k,10):void 0,t=[];if(/^-?\\d+$/.test(F)&&/^-?\\d+$/.test(E)){let q=parseInt(F,10),e=parseInt(E,10);if(G===void 0&&(G=q<=e?1:-1),G===0)throw new Error(\"Step cannot be zero in sequence expansion.\");let r=q<e;r&&G<0&&(G=-G),!r&&G>0&&(G=-G);for(let n=q;r?n<=e:n>=e;n+=G)t.push(n.toString())}return t}var Vx=/^[a-z]+$/,yt=(A=>(A[A.None=0]=\"None\",A[A.AtProperty=1]=\"AtProperty\",A[A.ColorMix=2]=\"ColorMix\",A[A.All=3]=\"All\",A))(yt||{});function Qx(){throw new Error(\"No `loadModule` function provided to `compile`\")}function Wx(){throw new Error(\"No `loadStylesheet` function provided to `compile`\")}function Yx(A){let j=0,F=null;for(let E of J(A,\" \"))E===\"reference\"?j|=2:E===\"inline\"?j|=1:E===\"default\"?j|=4:E===\"static\"?j|=8:E.startsWith(\"prefix(\")&&E.endsWith(\")\")&&(F=E.slice(7,-1));return[j,F]}var _t=(A=>(A[A.None=0]=\"None\",A[A.AtApply=1]=\"AtApply\",A[A.AtImport=2]=\"AtImport\",A[A.JsPluginCompat=4]=\"JsPluginCompat\",A[A.ThemeFunction=8]=\"ThemeFunction\",A[A.Utilities=16]=\"Utilities\",A[A.Variants=32]=\"Variants\",A))(_t||{});async function Zx(A,{base:j=\"\",loadModule:F=Qx,loadStylesheet:E=Wx}={}){let k=0;A=[hj({base:j},A)],k|=await Lt(A,j,E);let G=null,t=new H8,q=[],e=[],r=null,n=null,$=[],i=[],s=[],o=[],c=null;jA(A,(C,{parent:h,replaceWith:L,context:K})=>{if(C.kind===\"at-rule\"){if(C.name===\"@tailwind\"&&(C.params===\"utilities\"||C.params.startsWith(\"utilities\"))){if(n!==null){L([]);return}let w=J(C.params,\" \");for(let R of w)if(R.startsWith(\"source(\")){let H=R.slice(7,-1);if(H===\"none\"){c=H;continue}if(H[0]==='\"'&&H[H.length-1]!=='\"'||H[0]===\"'\"&&H[H.length-1]!==\"'\"||H[0]!==\"'\"&&H[0]!=='\"')throw new Error(\"`source(\\u2026)` paths must be quoted.\");c={base:K.sourceBase??K.base,pattern:H.slice(1,-1)}}n=C,k|=16}if(C.name===\"@utility\"){if(h!==null)throw new Error(\"`@utility` cannot be nested.\");if(C.nodes.length===0)throw new Error(`\\`@utility ${C.params}\\` is empty. Utilities should include at least one property.`);let w=Q8(C);if(w===null)throw new Error(`\\`@utility ${C.params}\\` defines an invalid utility name. Utilities should be alphanumeric and start with a lowercase letter.`);e.push(w)}if(C.name===\"@source\"){if(C.nodes.length>0)throw new Error(\"`@source` cannot have a body.\");if(h!==null)throw new Error(\"`@source` cannot be nested.\");let w=!1,R=!1,H=C.params;if(H[0]===\"n\"&&H.startsWith(\"not \")&&(w=!0,H=H.slice(4)),H[0]===\"i\"&&H.startsWith(\"inline(\")&&(R=!0,H=H.slice(7,-1)),H[0]==='\"'&&H[H.length-1]!=='\"'||H[0]===\"'\"&&H[H.length-1]!==\"'\"||H[0]!==\"'\"&&H[0]!=='\"')throw new Error(\"`@source` paths must be quoted.\");let z=H.slice(1,-1);if(R){let Z=w?o:s,U=J(z,\" \");for(let aA of U)for(let vA of qF(aA))Z.push(vA)}else i.push({base:K.base,pattern:z,negated:w});L([]);return}if(C.name===\"@variant\"&&(h===null?C.nodes.length===0?C.name=\"@custom-variant\":(jA(C.nodes,w=>{if(w.kind===\"at-rule\"&&w.name===\"@slot\")return C.name=\"@custom-variant\",2}),C.name===\"@variant\"&&$.push(C)):$.push(C)),C.name===\"@custom-variant\"){if(h!==null)throw new Error(\"`@custom-variant` cannot be nested.\");L([]);let[w,R]=J(C.params,\" \");if(!Ht.test(w))throw new Error(`\\`@custom-variant ${w}\\` defines an invalid variant name. Variants should only contain alphanumeric, dashes or underscore characters.`);if(C.nodes.length>0&&R)throw new Error(`\\`@custom-variant ${w}\\` cannot have both a selector and a body.`);if(C.nodes.length===0){if(!R)throw new Error(`\\`@custom-variant ${w}\\` has no selector or body.`);let H=J(R.slice(1,-1),\",\");if(H.length===0||H.some(U=>U.trim()===\"\"))throw new Error(`\\`@custom-variant ${w} (${H.join(\",\")})\\` selector is invalid.`);let z=[],Z=[];for(let U of H)U=U.trim(),U[0]===\"@\"?z.push(U):Z.push(U);q.push(U=>{U.variants.static(w,aA=>{let vA=[];Z.length>0&&vA.push(EA(Z.join(\", \"),aA.nodes));for(let Aj of z)vA.push(pA(Aj,aA.nodes));aA.nodes=vA},{compounds:k6([...Z,...z])})});return}else{q.push(H=>{H.variants.fromAst(w,C.nodes)});return}}if(C.name===\"@media\"){let w=J(C.params,\" \"),R=[];for(let H of w)if(H.startsWith(\"source(\")){let z=H.slice(7,-1);jA(C.nodes,(Z,{replaceWith:U})=>{if(Z.kind===\"at-rule\"&&Z.name===\"@tailwind\"&&Z.params===\"utilities\")return Z.params+=` source(${z})`,U([hj({sourceBase:K.base},[Z])]),2})}else if(H.startsWith(\"theme(\")){let z=H.slice(6,-1),Z=z.includes(\"reference\");jA(C.nodes,U=>{if(U.kind!==\"at-rule\"){if(Z)throw new Error('Files imported with `@import \"\\u2026\" theme(reference)` must only contain `@theme` blocks.\\nUse `@reference \"\\u2026\";` instead.');return 0}if(U.name===\"@theme\")return U.params+=\" \"+z,1})}else if(H.startsWith(\"prefix(\")){let z=H.slice(7,-1);jA(C.nodes,Z=>{if(Z.kind===\"at-rule\"&&Z.name===\"@theme\")return Z.params+=` prefix(${z})`,1})}else H===\"important\"?G=!0:H===\"reference\"?C.nodes=[hj({reference:!0},C.nodes)]:R.push(H);R.length>0?C.params=R.join(\" \"):w.length>0&&L(C.nodes)}if(C.name===\"@theme\"){let[w,R]=Yx(C.params);if(K.reference&&(w|=2),R){if(!Vx.test(R))throw new Error(`The prefix \"${R}\" is invalid. Prefixes must be lowercase ASCII letters (a-z) only.`);t.prefix=R}return jA(C.nodes,H=>{if(H.kind===\"at-rule\"&&H.name===\"@keyframes\")return t.addKeyframes(H),1;if(H.kind===\"comment\")return;if(H.kind===\"declaration\"&&H.property.startsWith(\"--\")){t.add(V6(H.property),H.value??\"\",w);return}let z=Dj([AA(C.name,C.params,[H])]).split(`\n`).map((Z,U,aA)=>`${U===0||U>=aA.length-2?\" \":\">\"} ${Z}`).join(`\n`);throw new Error(`\\`@theme\\` blocks must only contain custom properties or \\`@keyframes\\`.\n\n${z}`)}),r?L([]):(r=EA(\":root, :host\",[]),L([r])),1}}});let p=xx(t);if(G&&(p.important=G),o.length>0)for(let C of o)p.invalidCandidates.add(C);k|=await zx({designSystem:p,base:j,ast:A,loadModule:F,sources:i});for(let C of q)C(p);for(let C of e)C(p);if(r){let C=[];for(let[L,K]of p.theme.entries())K.options&2||C.push(l(jE(L),K.value));let h=p.theme.getKeyframes();for(let L of h)A.push(hj({theme:!0},[V([L])]));r.nodes=[hj({theme:!0},C)]}if(n){let C=n;C.kind=\"context\",C.context={}}if($.length>0){for(let C of $){let h=EA(\"&\",C.nodes),L=C.params,K=p.parseVariant(L);if(K===null)throw new Error(`Cannot use \\`@variant\\` with unknown variant: ${L}`);if(FE(h,K,p.variants)===null)throw new Error(`Cannot use \\`@variant\\` with variant: ${L}`);Object.assign(C,h)}k|=32}return k|=lF(A,p),k|=GF(A,p),jA(A,(C,{replaceWith:h})=>{if(C.kind===\"at-rule\")return C.name===\"@utility\"&&h([]),1}),{designSystem:p,ast:A,sources:i,root:c,utilitiesNode:n,features:k,inlineCandidates:s}}async function Mt(A,j={}){let{designSystem:F,ast:E,sources:k,root:G,utilitiesNode:t,features:q,inlineCandidates:e}=await Zx(A,j);E.unshift(Kt(`! tailwindcss v${d8} | MIT License | https://tailwindcss.com `));function r(o){F.invalidCandidates.add(o)}let n=new Set,$=null,i=0,s=!1;for(let o of e)F.invalidCandidates.has(o)||(n.add(o),s=!0);return{sources:k,root:G,features:q,build(o){if(q===0)return A;if(!t)return $??=E6(E,F,j.polyfills),$;let c=s,p=!1;s=!1;let C=n.size;for(let L of o)if(!F.invalidCandidates.has(L))if(L[0]===\"-\"&&L[1]===\"-\"){let K=F.theme.markUsedVariable(L);c||=K,p||=K}else n.add(L),c||=n.size!==C;if(!c)return $??=E6(E,F,j.polyfills),$;let h=EE(n,F,{onInvalidCandidate:r}).astNodes;return!p&&i===h.length?($??=E6(E,F,j.polyfills),$):(i=h.length,t.nodes=h,$=E6(E,F,j.polyfills),$)}}}async function $F(A,j={}){let F=xF(A),E=await Mt(F,j),k=F,G=A;return{...E,build(t){let q=E.build(t);return q===k||(G=Dj(q),k=q),G}}}var Rt=`/*\n 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n 2. Remove default margins and padding\n 3. Reset all borders.\n*/\n\n*,\n::after,\n::before,\n::backdrop,\n::file-selector-button {\n box-sizing: border-box; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 2 */\n border: 0 solid; /* 3 */\n}\n\n/*\n 1. Use a consistent sensible line-height in all browsers.\n 2. Prevent adjustments of font size after orientation changes in iOS.\n 3. Use a more readable tab size.\n 4. Use the user's configured \\`sans\\` font-family by default.\n 5. Use the user's configured \\`sans\\` font-feature-settings by default.\n 6. Use the user's configured \\`sans\\` font-variation-settings by default.\n 7. Disable tap highlights on iOS.\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n tab-size: 4; /* 3 */\n font-family: --theme(\n --default-font-family,\n ui-sans-serif,\n system-ui,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji'\n ); /* 4 */\n font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */\n font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n 1. Add the correct height in Firefox.\n 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n 3. Reset the default border style to a 1px solid border.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\n Add the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\n Remove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\n Reset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n}\n\n/*\n Add the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n 1. Use the user's configured \\`mono\\` font-family by default.\n 2. Use the user's configured \\`mono\\` font-feature-settings by default.\n 3. Use the user's configured \\`mono\\` font-variation-settings by default.\n 4. Correct the odd \\`em\\` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: --theme(\n --default-mono-font-family,\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n 'Liberation Mono',\n 'Courier New',\n monospace\n ); /* 1 */\n font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */\n font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\n Add the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\n Prevent \\`sub\\` and \\`sup\\` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n 3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n Use the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\n Add the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\n Add the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\n Make lists unstyled by default.\n*/\n\nol,\nul,\nmenu {\n list-style: none;\n}\n\n/*\n 1. Make replaced elements \\`display: block\\` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n 2. Add \\`vertical-align: middle\\` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\n Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/*\n 1. Inherit font styles in all browsers.\n 2. Remove border radius in all browsers.\n 3. Remove background color in all browsers.\n 4. Ensure consistent opacity for disabled states in all browsers.\n*/\n\nbutton,\ninput,\nselect,\noptgroup,\ntextarea,\n::file-selector-button {\n font: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n border-radius: 0; /* 2 */\n background-color: transparent; /* 3 */\n opacity: 1; /* 4 */\n}\n\n/*\n Restore default font weight.\n*/\n\n:where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n}\n\n/*\n Restore indentation.\n*/\n\n:where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n}\n\n/*\n Restore space after button.\n*/\n\n::file-selector-button {\n margin-inline-end: 4px;\n}\n\n/*\n Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n*/\n\n::placeholder {\n opacity: 1;\n}\n\n/*\n Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not\n crash when using \\`color-mix(\\u2026)\\` with \\`currentcolor\\`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)\n*/\n\n@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or\n (contain-intrinsic-size: 1px) /* Safari 17+ */ {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n}\n\n/*\n Prevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n Remove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n 1. Ensure date/time inputs have the same height when empty in iOS Safari.\n 2. Ensure text alignment can be changed on date/time inputs in iOS Safari.\n*/\n\n::-webkit-date-and-time-value {\n min-height: 1lh; /* 1 */\n text-align: inherit; /* 2 */\n}\n\n/*\n Prevent height from changing on date/time inputs in macOS Safari when the input is set to \\`display: block\\`.\n*/\n\n::-webkit-datetime-edit {\n display: inline-flex;\n}\n\n/*\n Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.\n*/\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n}\n\n::-webkit-datetime-edit,\n::-webkit-datetime-edit-year-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-minute-field,\n::-webkit-datetime-edit-second-field,\n::-webkit-datetime-edit-millisecond-field,\n::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n}\n\n/*\n Remove the additional \\`:invalid\\` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\n Correct the inability to style the border radius in iOS Safari.\n*/\n\nbutton,\ninput:where([type='button'], [type='reset'], [type='submit']),\n::file-selector-button {\n appearance: button;\n}\n\n/*\n Correct the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n Make elements with the HTML hidden attribute stay hidden by default.\n*/\n\n[hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n}\n`;var St=`@theme default {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;\n --font-mono:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-900: oklch(39.6% 0.141 25.723);\n --color-red-950: oklch(25.8% 0.092 26.042);\n\n --color-orange-50: oklch(98% 0.016 73.684);\n --color-orange-100: oklch(95.4% 0.038 75.164);\n --color-orange-200: oklch(90.1% 0.076 70.697);\n --color-orange-300: oklch(83.7% 0.128 66.29);\n --color-orange-400: oklch(75% 0.183 55.934);\n --color-orange-500: oklch(70.5% 0.213 47.604);\n --color-orange-600: oklch(64.6% 0.222 41.116);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-orange-800: oklch(47% 0.157 37.304);\n --color-orange-900: oklch(40.8% 0.123 38.172);\n --color-orange-950: oklch(26.6% 0.079 36.259);\n\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-100: oklch(96.2% 0.059 95.617);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-300: oklch(87.9% 0.169 91.605);\n --color-amber-400: oklch(82.8% 0.189 84.429);\n --color-amber-500: oklch(76.9% 0.188 70.08);\n --color-amber-600: oklch(66.6% 0.179 58.318);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-800: oklch(47.3% 0.137 46.201);\n --color-amber-900: oklch(41.4% 0.112 45.904);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n\n --color-yellow-50: oklch(98.7% 0.026 102.212);\n --color-yellow-100: oklch(97.3% 0.071 103.193);\n --color-yellow-200: oklch(94.5% 0.129 101.54);\n --color-yellow-300: oklch(90.5% 0.182 98.111);\n --color-yellow-400: oklch(85.2% 0.199 91.936);\n --color-yellow-500: oklch(79.5% 0.184 86.047);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-yellow-800: oklch(47.6% 0.114 61.907);\n --color-yellow-900: oklch(42.1% 0.095 57.708);\n --color-yellow-950: oklch(28.6% 0.066 53.813);\n\n --color-lime-50: oklch(98.6% 0.031 120.757);\n --color-lime-100: oklch(96.7% 0.067 122.328);\n --color-lime-200: oklch(93.8% 0.127 124.321);\n --color-lime-300: oklch(89.7% 0.196 126.665);\n --color-lime-400: oklch(84.1% 0.238 128.85);\n --color-lime-500: oklch(76.8% 0.233 130.85);\n --color-lime-600: oklch(64.8% 0.2 131.684);\n --color-lime-700: oklch(53.2% 0.157 131.589);\n --color-lime-800: oklch(45.3% 0.124 130.933);\n --color-lime-900: oklch(40.5% 0.101 131.063);\n --color-lime-950: oklch(27.4% 0.072 132.109);\n\n --color-green-50: oklch(98.2% 0.018 155.826);\n --color-green-100: oklch(96.2% 0.044 156.743);\n --color-green-200: oklch(92.5% 0.084 155.995);\n --color-green-300: oklch(87.1% 0.15 154.449);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-500: oklch(72.3% 0.219 149.579);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-green-700: oklch(52.7% 0.154 150.069);\n --color-green-800: oklch(44.8% 0.119 151.328);\n --color-green-900: oklch(39.3% 0.095 152.535);\n --color-green-950: oklch(26.6% 0.065 152.934);\n\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-100: oklch(95% 0.052 163.051);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-300: oklch(84.5% 0.143 164.978);\n --color-emerald-400: oklch(76.5% 0.177 163.223);\n --color-emerald-500: oklch(69.6% 0.17 162.48);\n --color-emerald-600: oklch(59.6% 0.145 163.225);\n --color-emerald-700: oklch(50.8% 0.118 165.612);\n --color-emerald-800: oklch(43.2% 0.095 166.913);\n --color-emerald-900: oklch(37.8% 0.077 168.94);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n\n --color-teal-50: oklch(98.4% 0.014 180.72);\n --color-teal-100: oklch(95.3% 0.051 180.801);\n --color-teal-200: oklch(91% 0.096 180.426);\n --color-teal-300: oklch(85.5% 0.138 181.071);\n --color-teal-400: oklch(77.7% 0.152 181.912);\n --color-teal-500: oklch(70.4% 0.14 182.503);\n --color-teal-600: oklch(60% 0.118 184.704);\n --color-teal-700: oklch(51.1% 0.096 186.391);\n --color-teal-800: oklch(43.7% 0.078 188.216);\n --color-teal-900: oklch(38.6% 0.063 188.416);\n --color-teal-950: oklch(27.7% 0.046 192.524);\n\n --color-cyan-50: oklch(98.4% 0.019 200.873);\n --color-cyan-100: oklch(95.6% 0.045 203.388);\n --color-cyan-200: oklch(91.7% 0.08 205.041);\n --color-cyan-300: oklch(86.5% 0.127 207.078);\n --color-cyan-400: oklch(78.9% 0.154 211.53);\n --color-cyan-500: oklch(71.5% 0.143 215.221);\n --color-cyan-600: oklch(60.9% 0.126 221.723);\n --color-cyan-700: oklch(52% 0.105 223.128);\n --color-cyan-800: oklch(45% 0.085 224.283);\n --color-cyan-900: oklch(39.8% 0.07 227.392);\n --color-cyan-950: oklch(30.2% 0.056 229.695);\n\n --color-sky-50: oklch(97.7% 0.013 236.62);\n --color-sky-100: oklch(95.1% 0.026 236.824);\n --color-sky-200: oklch(90.1% 0.058 230.902);\n --color-sky-300: oklch(82.8% 0.111 230.318);\n --color-sky-400: oklch(74.6% 0.16 232.661);\n --color-sky-500: oklch(68.5% 0.169 237.323);\n --color-sky-600: oklch(58.8% 0.158 241.966);\n --color-sky-700: oklch(50% 0.134 242.749);\n --color-sky-800: oklch(44.3% 0.11 240.79);\n --color-sky-900: oklch(39.1% 0.09 240.876);\n --color-sky-950: oklch(29.3% 0.066 243.157);\n\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-100: oklch(93.2% 0.032 255.585);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n\n --color-indigo-50: oklch(96.2% 0.018 272.314);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-400: oklch(67.3% 0.182 276.935);\n --color-indigo-500: oklch(58.5% 0.233 277.117);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-indigo-800: oklch(39.8% 0.195 277.366);\n --color-indigo-900: oklch(35.9% 0.144 278.697);\n --color-indigo-950: oklch(25.7% 0.09 281.288);\n\n --color-violet-50: oklch(96.9% 0.016 293.756);\n --color-violet-100: oklch(94.3% 0.029 294.588);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-300: oklch(81.1% 0.111 293.571);\n --color-violet-400: oklch(70.2% 0.183 293.541);\n --color-violet-500: oklch(60.6% 0.25 292.717);\n --color-violet-600: oklch(54.1% 0.281 293.009);\n --color-violet-700: oklch(49.1% 0.27 292.581);\n --color-violet-800: oklch(43.2% 0.232 292.759);\n --color-violet-900: oklch(38% 0.189 293.745);\n --color-violet-950: oklch(28.3% 0.141 291.089);\n\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-100: oklch(94.6% 0.033 307.174);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-300: oklch(82.7% 0.119 306.383);\n --color-purple-400: oklch(71.4% 0.203 305.504);\n --color-purple-500: oklch(62.7% 0.265 303.9);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-purple-800: oklch(43.8% 0.218 303.724);\n --color-purple-900: oklch(38.1% 0.176 304.987);\n --color-purple-950: oklch(29.1% 0.149 302.717);\n\n --color-fuchsia-50: oklch(97.7% 0.017 320.058);\n --color-fuchsia-100: oklch(95.2% 0.037 318.852);\n --color-fuchsia-200: oklch(90.3% 0.076 319.62);\n --color-fuchsia-300: oklch(83.3% 0.145 321.434);\n --color-fuchsia-400: oklch(74% 0.238 322.16);\n --color-fuchsia-500: oklch(66.7% 0.295 322.15);\n --color-fuchsia-600: oklch(59.1% 0.293 322.896);\n --color-fuchsia-700: oklch(51.8% 0.253 323.949);\n --color-fuchsia-800: oklch(45.2% 0.211 324.591);\n --color-fuchsia-900: oklch(40.1% 0.17 325.612);\n --color-fuchsia-950: oklch(29.3% 0.136 325.661);\n\n --color-pink-50: oklch(97.1% 0.014 343.198);\n --color-pink-100: oklch(94.8% 0.028 342.258);\n --color-pink-200: oklch(89.9% 0.061 343.231);\n --color-pink-300: oklch(82.3% 0.12 346.018);\n --color-pink-400: oklch(71.8% 0.202 349.761);\n --color-pink-500: oklch(65.6% 0.241 354.308);\n --color-pink-600: oklch(59.2% 0.249 0.584);\n --color-pink-700: oklch(52.5% 0.223 3.958);\n --color-pink-800: oklch(45.9% 0.187 3.815);\n --color-pink-900: oklch(40.8% 0.153 2.432);\n --color-pink-950: oklch(28.4% 0.109 3.907);\n\n --color-rose-50: oklch(96.9% 0.015 12.422);\n --color-rose-100: oklch(94.1% 0.03 12.58);\n --color-rose-200: oklch(89.2% 0.058 10.001);\n --color-rose-300: oklch(81% 0.117 11.638);\n --color-rose-400: oklch(71.2% 0.194 13.428);\n --color-rose-500: oklch(64.5% 0.246 16.439);\n --color-rose-600: oklch(58.6% 0.253 17.585);\n --color-rose-700: oklch(51.4% 0.222 16.935);\n --color-rose-800: oklch(45.5% 0.188 13.697);\n --color-rose-900: oklch(41% 0.159 10.272);\n --color-rose-950: oklch(27.1% 0.105 12.094);\n\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-gray-950: oklch(13% 0.028 261.692);\n\n --color-zinc-50: oklch(98.5% 0 0);\n --color-zinc-100: oklch(96.7% 0.001 286.375);\n --color-zinc-200: oklch(92% 0.004 286.32);\n --color-zinc-300: oklch(87.1% 0.006 286.286);\n --color-zinc-400: oklch(70.5% 0.015 286.067);\n --color-zinc-500: oklch(55.2% 0.016 285.938);\n --color-zinc-600: oklch(44.2% 0.017 285.786);\n --color-zinc-700: oklch(37% 0.013 285.805);\n --color-zinc-800: oklch(27.4% 0.006 286.033);\n --color-zinc-900: oklch(21% 0.006 285.885);\n --color-zinc-950: oklch(14.1% 0.005 285.823);\n\n --color-neutral-50: oklch(98.5% 0 0);\n --color-neutral-100: oklch(97% 0 0);\n --color-neutral-200: oklch(92.2% 0 0);\n --color-neutral-300: oklch(87% 0 0);\n --color-neutral-400: oklch(70.8% 0 0);\n --color-neutral-500: oklch(55.6% 0 0);\n --color-neutral-600: oklch(43.9% 0 0);\n --color-neutral-700: oklch(37.1% 0 0);\n --color-neutral-800: oklch(26.9% 0 0);\n --color-neutral-900: oklch(20.5% 0 0);\n --color-neutral-950: oklch(14.5% 0 0);\n\n --color-stone-50: oklch(98.5% 0.001 106.423);\n --color-stone-100: oklch(97% 0.001 106.424);\n --color-stone-200: oklch(92.3% 0.003 48.717);\n --color-stone-300: oklch(86.9% 0.005 56.366);\n --color-stone-400: oklch(70.9% 0.01 56.259);\n --color-stone-500: oklch(55.3% 0.013 58.071);\n --color-stone-600: oklch(44.4% 0.011 73.639);\n --color-stone-700: oklch(37.4% 0.01 67.558);\n --color-stone-800: oklch(26.8% 0.007 34.298);\n --color-stone-900: oklch(21.6% 0.006 56.043);\n --color-stone-950: oklch(14.7% 0.004 49.25);\n\n --color-black: #000;\n --color-white: #fff;\n\n --spacing: 0.25rem;\n\n --breakpoint-sm: 40rem;\n --breakpoint-md: 48rem;\n --breakpoint-lg: 64rem;\n --breakpoint-xl: 80rem;\n --breakpoint-2xl: 96rem;\n\n --container-3xs: 16rem;\n --container-2xs: 18rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-6xl: 72rem;\n --container-7xl: 80rem;\n\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --text-8xl: 6rem;\n --text-8xl--line-height: 1;\n --text-9xl: 8rem;\n --text-9xl--line-height: 1;\n\n --font-weight-thin: 100;\n --font-weight-extralight: 200;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --font-weight-black: 900;\n\n --tracking-tighter: -0.05em;\n --tracking-tight: -0.025em;\n --tracking-normal: 0em;\n --tracking-wide: 0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --leading-loose: 2;\n\n --radius-xs: 0.125rem;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --radius-4xl: 2rem;\n\n --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);\n --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n\n --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);\n --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);\n --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);\n\n --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);\n --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);\n --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);\n --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);\n --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);\n\n --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / 0.15);\n --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / 0.2);\n --text-shadow-sm:\n 0px 1px 0px rgb(0 0 0 / 0.075), 0px 1px 1px rgb(0 0 0 / 0.075), 0px 2px 2px rgb(0 0 0 / 0.075);\n --text-shadow-md:\n 0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1), 0px 2px 4px rgb(0 0 0 / 0.1);\n --text-shadow-lg:\n 0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1), 0px 4px 8px rgb(0 0 0 / 0.1);\n\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n\n --animate-spin: spin 1s linear infinite;\n --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --animate-bounce: bounce 1s infinite;\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n @keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n }\n\n @keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n }\n\n @keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n }\n\n --blur-xs: 4px;\n --blur-sm: 8px;\n --blur-md: 12px;\n --blur-lg: 16px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --blur-3xl: 64px;\n\n --perspective-dramatic: 100px;\n --perspective-near: 300px;\n --perspective-normal: 500px;\n --perspective-midrange: 800px;\n --perspective-distant: 1200px;\n\n --aspect-video: 16 / 9;\n\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: --theme(--font-sans, initial);\n --default-font-feature-settings: --theme(--font-sans--font-feature-settings, initial);\n --default-font-variation-settings: --theme(--font-sans--font-variation-settings, initial);\n --default-mono-font-family: --theme(--font-mono, initial);\n --default-mono-font-feature-settings: --theme(--font-mono--font-feature-settings, initial);\n --default-mono-font-variation-settings: --theme(--font-mono--font-variation-settings, initial);\n}\n\n/* Deprecated */\n@theme default inline reference {\n --blur: 8px;\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --drop-shadow: 0 1px 2px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.06);\n --radius: 0.25rem;\n --max-width-prose: 65ch;\n}\n`;function oA(A){return A>=48&&A<=57}function TA(A){return oA(A)||A>=65&&A<=70||A>=97&&A<=102}function tE(A){return A>=65&&A<=90}function E0(A){return A>=97&&A<=122}function F0(A){return tE(A)||E0(A)}function k0(A){return A>=128}function GE(A){return F0(A)||k0(A)||A===95}function G6(A){return GE(A)||oA(A)||A===45}function G0(A){return A>=0&&A<=8||A===11||A>=14&&A<=31||A===127}function t6(A){return A===10||A===13||A===12}function JA(A){return t6(A)||A===32||A===9}function LA(A,j){return!(A!==92||t6(j)||j===0)}function Oj(A,j,F){return A===45?GE(j)||j===45||LA(j,F):GE(A)?!0:A===92?LA(A,j):!1}function rE(A,j,F){return A===43||A===45?oA(j)?2:j===46&&oA(F)?3:0:A===46?oA(j)?2:0:oA(A)?1:0}function eE(A){return A===65279||A===65534?1:0}var iF=new Array(128),t0=128,r6=130,aF=131,qE=132,oF=133;for(let A=0;A<iF.length;A++)iF[A]=JA(A)&&r6||oA(A)&&aF||GE(A)&&qE||G0(A)&&oF||A||t0;function xE(A){return A<128?iF[A]:qE}function Tj(A,j){return j<A.length?A.charCodeAt(j):0}function lE(A,j,F){return F===13&&Tj(A,j+1)===10?2:1}function tj(A,j,F){let E=A.charCodeAt(j);return tE(E)&&(E=E|32),E===F}function rj(A,j,F,E){if(F-j!==E.length||j<0||F>A.length)return!1;for(let k=j;k<F;k++){let G=E.charCodeAt(k-j),t=A.charCodeAt(k);if(tE(t)&&(t=t|32),t!==G)return!1}return!0}function Nt(A,j){for(;j>=0&&JA(A.charCodeAt(j));j--);return j+1}function e6(A,j){for(;j<A.length&&JA(A.charCodeAt(j));j++);return j}function BF(A,j){for(;j<A.length&&oA(A.charCodeAt(j));j++);return j}function UA(A,j){if(j+=2,TA(Tj(A,j-1))){for(let E=Math.min(A.length,j+5);j<E&&TA(Tj(A,j));j++);let F=Tj(A,j);JA(F)&&(j+=lE(A,j,F))}return j}function q6(A,j){for(;j<A.length;j++){let F=A.charCodeAt(j);if(!G6(F)){if(LA(F,Tj(A,j+1))){j=UA(A,j)-1;continue}break}}return j}function Kj(A,j){let F=A.charCodeAt(j);if((F===43||F===45)&&(F=A.charCodeAt(j+=1)),oA(F)&&(j=BF(A,j+1),F=A.charCodeAt(j)),F===46&&oA(A.charCodeAt(j+1))&&(j+=2,j=BF(A,j)),tj(A,j,101)){let E=0;F=A.charCodeAt(j+1),(F===45||F===43)&&(E=1,F=A.charCodeAt(j+2)),oA(F)&&(j=BF(A,j+1+E+1))}return j}function nE(A,j){for(;j<A.length;j++){let F=A.charCodeAt(j);if(F===41){j++;break}LA(F,Tj(A,j+1))&&(j=UA(A,j))}return j}function x6(A){if(A.length===1&&!TA(A.charCodeAt(0)))return A[0];let j=parseInt(A,16);return(j===0||j>=55296&&j<=57343||j>1114111)&&(j=65533),String.fromCodePoint(j)}var bj=[\"EOF-token\",\"ident-token\",\"function-token\",\"at-keyword-token\",\"hash-token\",\"string-token\",\"bad-string-token\",\"url-token\",\"bad-url-token\",\"delim-token\",\"number-token\",\"percentage-token\",\"dimension-token\",\"whitespace-token\",\"CDO-token\",\"CDC-token\",\"colon-token\",\"semicolon-token\",\"comma-token\",\"[-token\",\"]-token\",\"(-token\",\")-token\",\"{-token\",\"}-token\",\"comment-token\"];function wj(A=null,j){return A===null||A.length<j?new Uint32Array(Math.max(j+1024,16384)):A}var zt=10,r0=12,Jt=13;function Ut(A){let j=A.source,F=j.length,E=j.length>0?eE(j.charCodeAt(0)):0,k=wj(A.lines,F),G=wj(A.columns,F),t=A.startLine,q=A.startColumn;for(let e=E;e<F;e++){let r=j.charCodeAt(e);k[e]=t,G[e]=q++,(r===zt||r===Jt||r===r0)&&(r===Jt&&e+1<F&&j.charCodeAt(e+1)===zt&&(e++,k[e]=t,G[e]=q),t++,q=1)}k[F]=t,G[F]=q,A.lines=k,A.columns=G,A.computed=!0}var l6=class{constructor(j,F,E,k){this.setSource(j,F,E,k),this.lines=null,this.columns=null}setSource(j=\"\",F=0,E=1,k=1){this.source=j,this.startOffset=F,this.startLine=E,this.startColumn=k,this.computed=!1}getLocation(j,F){return this.computed||Ut(this),{source:F,offset:this.startOffset+j,line:this.lines[j],column:this.columns[j]}}getLocationRange(j,F,E){return this.computed||Ut(this),{source:E,start:{offset:this.startOffset+j,line:this.lines[j],column:this.columns[j]},end:{offset:this.startOffset+F,line:this.lines[F],column:this.columns[F]}}}};var VA=16777215,QA=24,vj=new Uint8Array(32);vj[2]=22;vj[21]=22;vj[19]=20;vj[23]=24;function Vt(A){return vj[A]!==0}var n6=class{constructor(j,F){this.setSource(j,F)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(j=\"\",F=()=>{}){j=String(j||\"\");let E=j.length,k=wj(this.offsetAndType,j.length+1),G=wj(this.balance,j.length+1),t=0,q=-1,e=0,r=j.length;this.offsetAndType=null,this.balance=null,G.fill(0),F(j,(n,$,i)=>{let s=t++;if(k[s]=n<<QA|i,q===-1&&(q=$),G[s]=r,n===e){let o=G[r];G[r]=s,r=o,e=vj[k[o]>>QA]}else Vt(n)&&(r=s,e=vj[n])}),k[t]=0<<QA|E,G[t]=t;for(let n=0;n<t;n++){let $=G[n];if($<=n){let i=G[$];i!==n&&(G[n]=i)}else $>t&&(G[n]=t)}this.source=j,this.firstCharOffset=q===-1?0:q,this.tokenCount=t,this.offsetAndType=k,this.balance=G,this.reset(),this.next()}lookupType(j){return j+=this.tokenIndex,j<this.tokenCount?this.offsetAndType[j]>>QA:0}lookupTypeNonSC(j){for(let F=this.tokenIndex;F<this.tokenCount;F++){let E=this.offsetAndType[F]>>QA;if(E!==13&&E!==25&&j--===0)return E}return 0}lookupOffset(j){return j+=this.tokenIndex,j<this.tokenCount?this.offsetAndType[j-1]&VA:this.source.length}lookupOffsetNonSC(j){for(let F=this.tokenIndex;F<this.tokenCount;F++){let E=this.offsetAndType[F]>>QA;if(E!==13&&E!==25&&j--===0)return F-this.tokenIndex}return 0}lookupValue(j,F){return j+=this.tokenIndex,j<this.tokenCount?rj(this.source,this.offsetAndType[j-1]&VA,this.offsetAndType[j]&VA,F):!1}getTokenStart(j){return j===this.tokenIndex?this.tokenStart:j>0?j<this.tokenCount?this.offsetAndType[j-1]&VA:this.offsetAndType[this.tokenCount]&VA:this.firstCharOffset}substrToCursor(j){return this.source.substring(j,this.tokenStart)}isBalanceEdge(j){return this.balance[this.tokenIndex]<j}isDelim(j,F){return F?this.lookupType(F)===9&&this.source.charCodeAt(this.lookupOffset(F))===j:this.tokenType===9&&this.source.charCodeAt(this.tokenStart)===j}skip(j){let F=this.tokenIndex+j;F<this.tokenCount?(this.tokenIndex=F,this.tokenStart=this.offsetAndType[F-1]&VA,F=this.offsetAndType[F],this.tokenType=F>>QA,this.tokenEnd=F&VA):(this.tokenIndex=this.tokenCount,this.next())}next(){let j=this.tokenIndex+1;j<this.tokenCount?(this.tokenIndex=j,this.tokenStart=this.tokenEnd,j=this.offsetAndType[j],this.tokenType=j>>QA,this.tokenEnd=j&VA):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;this.tokenType===13||this.tokenType===25;)this.next()}skipUntilBalanced(j,F){let E=j,k=0,G=0;A:for(;E<this.tokenCount;E++){if(k=this.balance[E],k<j)break A;switch(G=E>0?this.offsetAndType[E-1]&VA:this.firstCharOffset,F(this.source.charCodeAt(G))){case 1:break A;case 2:E++;break A;default:Vt(this.offsetAndType[E]>>QA)&&(E=k)}}this.skip(E-this.tokenIndex)}forEachToken(j){for(let F=0,E=this.firstCharOffset;F<this.tokenCount;F++){let k=E,G=this.offsetAndType[F],t=G&VA,q=G>>QA;E=t,j(q,k,t,F)}}dump(){let j=new Array(this.tokenCount);return this.forEachToken((F,E,k,G)=>{j[G]={idx:G,type:bj[F],chunk:this.source.substring(E,k),balance:this.balance[G]}}),j}};function $j(A,j){function F($){return $<q?A.charCodeAt($):0}function E(){if(r=Kj(A,r),Oj(F(r),F(r+1),F(r+2))){n=12,r=q6(A,r);return}if(F(r)===37){n=11,r++;return}n=10}function k(){let $=r;if(r=q6(A,r),rj(A,$,r,\"url\")&&F(r)===40){if(r=e6(A,r+1),F(r)===34||F(r)===39){n=2,r=$+4;return}t();return}if(F(r)===40){n=2,r++;return}n=1}function G($){for($||($=F(r++)),n=5;r<A.length;r++){let i=A.charCodeAt(r);switch(xE(i)){case $:r++;return;case r6:if(t6(i)){r+=lE(A,r,i),n=6;return}break;case 92:if(r===A.length-1)break;let s=F(r+1);t6(s)?r+=lE(A,r+1,s):LA(i,s)&&(r=UA(A,r)-1);break}}}function t(){for(n=7,r=e6(A,r);r<A.length;r++){let $=A.charCodeAt(r);switch(xE($)){case 41:r++;return;case r6:if(r=e6(A,r),F(r)===41||r>=A.length){r<A.length&&r++;return}r=nE(A,r),n=8;return;case 34:case 39:case 40:case oF:r=nE(A,r),n=8;return;case 92:if(LA($,F(r+1))){r=UA(A,r)-1;break}r=nE(A,r),n=8;return}}}A=String(A||\"\");let q=A.length,e=eE(F(0)),r=e,n;for(;r<q;){let $=A.charCodeAt(r);switch(xE($)){case r6:n=13,r=e6(A,r+1);break;case 34:G();break;case 35:G6(F(r+1))||LA(F(r+1),F(r+2))?(n=4,r=q6(A,r+1)):(n=9,r++);break;case 39:G();break;case 40:n=21,r++;break;case 41:n=22,r++;break;case 43:rE($,F(r+1),F(r+2))?E():(n=9,r++);break;case 44:n=18,r++;break;case 45:rE($,F(r+1),F(r+2))?E():F(r+1)===45&&F(r+2)===62?(n=15,r=r+3):Oj($,F(r+1),F(r+2))?k():(n=9,r++);break;case 46:rE($,F(r+1),F(r+2))?E():(n=9,r++);break;case 47:F(r+1)===42?(n=25,r=A.indexOf(\"*/\",r+2),r=r===-1?A.length:r+2):(n=9,r++);break;case 58:n=16,r++;break;case 59:n=17,r++;break;case 60:F(r+1)===33&&F(r+2)===45&&F(r+3)===45?(n=14,r=r+4):(n=9,r++);break;case 64:Oj(F(r+1),F(r+2),F(r+3))?(n=3,r=q6(A,r+1)):(n=9,r++);break;case 91:n=19,r++;break;case 92:LA($,F(r+1))?k():(n=9,r++);break;case 93:n=20,r++;break;case 123:n=23,r++;break;case 125:n=24,r++;break;case aF:E();break;case qE:k();break;default:n=9,r++}j(n,e,e=r)}}var yj=null,OA=class A{static createItem(j){return{prev:null,next:null,data:j}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(j){return A.createItem(j)}allocateCursor(j,F){let E;return yj!==null?(E=yj,yj=yj.cursor,E.prev=j,E.next=F,E.cursor=this.cursor):E={prev:j,next:F,cursor:this.cursor},this.cursor=E,E}releaseCursor(){let{cursor:j}=this;this.cursor=j.cursor,j.prev=null,j.next=null,j.cursor=yj,yj=j}updateCursors(j,F,E,k){let{cursor:G}=this;for(;G!==null;)G.prev===j&&(G.prev=F),G.next===E&&(G.next=k),G=G.cursor}*[Symbol.iterator](){for(let j=this.head;j!==null;j=j.next)yield j.data}get size(){let j=0;for(let F=this.head;F!==null;F=F.next)j++;return j}get isEmpty(){return this.head===null}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(j){let F=null;this.head=null;for(let E of j){let k=A.createItem(E);F!==null?F.next=k:this.head=k,k.prev=F,F=k}return this.tail=F,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(j,F=this){let E=this.allocateCursor(null,this.head);for(;E.next!==null;){let k=E.next;E.next=k.next,j.call(F,k.data,k,this)}this.releaseCursor()}forEachRight(j,F=this){let E=this.allocateCursor(this.tail,null);for(;E.prev!==null;){let k=E.prev;E.prev=k.prev,j.call(F,k.data,k,this)}this.releaseCursor()}reduce(j,F,E=this){let k=this.allocateCursor(null,this.head),G=F,t;for(;k.next!==null;)t=k.next,k.next=t.next,G=j.call(E,G,t.data,t,this);return this.releaseCursor(),G}reduceRight(j,F,E=this){let k=this.allocateCursor(this.tail,null),G=F,t;for(;k.prev!==null;)t=k.prev,k.prev=t.prev,G=j.call(E,G,t.data,t,this);return this.releaseCursor(),G}some(j,F=this){for(let E=this.head;E!==null;E=E.next)if(j.call(F,E.data,E,this))return!0;return!1}map(j,F=this){let E=new A;for(let k=this.head;k!==null;k=k.next)E.appendData(j.call(F,k.data,k,this));return E}filter(j,F=this){let E=new A;for(let k=this.head;k!==null;k=k.next)j.call(F,k.data,k,this)&&E.appendData(k.data);return E}nextUntil(j,F,E=this){if(j===null)return;let k=this.allocateCursor(null,j);for(;k.next!==null;){let G=k.next;if(k.next=G.next,F.call(E,G.data,G,this))break}this.releaseCursor()}prevUntil(j,F,E=this){if(j===null)return;let k=this.allocateCursor(j,null);for(;k.prev!==null;){let G=k.prev;if(k.prev=G.prev,F.call(E,G.data,G,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let j=new A;for(let F of this)j.appendData(F);return j}prepend(j){return this.updateCursors(null,j,this.head,j),this.head!==null?(this.head.prev=j,j.next=this.head):this.tail=j,this.head=j,this}prependData(j){return this.prepend(A.createItem(j))}append(j){return this.insert(j)}appendData(j){return this.insert(A.createItem(j))}insert(j,F=null){if(F!==null)if(this.updateCursors(F.prev,j,F,j),F.prev===null){if(this.head!==F)throw new Error(\"before doesn't belong to list\");this.head=j,F.prev=j,j.next=F,this.updateCursors(null,j)}else F.prev.next=j,j.prev=F.prev,F.prev=j,j.next=F;else this.updateCursors(this.tail,j,null,j),this.tail!==null?(this.tail.next=j,j.prev=this.tail):this.head=j,this.tail=j;return this}insertData(j,F){return this.insert(A.createItem(j),F)}remove(j){if(this.updateCursors(j,j.prev,j,j.next),j.prev!==null)j.prev.next=j.next;else{if(this.head!==j)throw new Error(\"item doesn't belong to list\");this.head=j.next}if(j.next!==null)j.next.prev=j.prev;else{if(this.tail!==j)throw new Error(\"item doesn't belong to list\");this.tail=j.prev}return j.prev=null,j.next=null,j}push(j){this.insert(A.createItem(j))}pop(){return this.tail!==null?this.remove(this.tail):null}unshift(j){this.prepend(A.createItem(j))}shift(){return this.head!==null?this.remove(this.head):null}prependList(j){return this.insertList(j,this.head)}appendList(j){return this.insertList(j)}insertList(j,F){return j.head===null?this:(F!=null?(this.updateCursors(F.prev,j.tail,F,j.head),F.prev!==null?(F.prev.next=j.head,j.head.prev=F.prev):this.head=j.head,F.prev=j.tail,j.tail.next=F):(this.updateCursors(this.tail,j.tail,null,j.head),this.tail!==null?(this.tail.next=j.head,j.head.prev=this.tail):this.head=j.head,this.tail=j.tail),j.head=null,j.tail=null,this)}replace(j,F){\"head\"in F?this.insertList(F,j):this.insert(F,j),this.remove(j)}};function mj(A,j){let F=Object.create(SyntaxError.prototype),E=new Error;return Object.assign(F,{name:A,message:j,get stack(){return(E.stack||\"\").replace(/^(.+\\n){1,3}/,`${A}: ${j}\n`)}})}var sF=100,Qt=60,Wt=\" \";function Yt({source:A,line:j,column:F,baseLine:E,baseColumn:k},G){function t(o,c){return r.slice(o,c).map((p,C)=>String(o+C+1).padStart(i)+\" |\"+p).join(`\n`)}let q=`\n`.repeat(Math.max(E-1,0)),e=\" \".repeat(Math.max(k-1,0)),r=(q+e+A).split(/\\r\\n?|\\n|\\f/),n=Math.max(1,j-G)-1,$=Math.min(j+G,r.length+1),i=Math.max(4,String($).length)+1,s=0;F+=(Wt.length-1)*(r[j-1].substr(0,F-1).match(/\\t/g)||[]).length,F>sF&&(s=F-Qt+3,F=Qt-2);for(let o=n;o<=$;o++)o>=0&&o<r.length&&(r[o]=r[o].replace(/\\t/g,Wt),r[o]=(s>0&&r[o].length>s?\"\\u2026\":\"\")+r[o].substr(s,sF-2)+(r[o].length>s+sF-1?\"\\u2026\":\"\"));return[t(n,j),new Array(F+i+2).join(\"-\")+\"^\",t(j,$)].filter(Boolean).join(`\n`).replace(/^(\\s+\\d+\\s+\\|\\n)+/,\"\").replace(/\\n(\\s+\\d+\\s+\\|)+$/,\"\")}function IF(A,j,F,E,k,G=1,t=1){return Object.assign(mj(\"SyntaxError\",A),{source:j,offset:F,line:E,column:k,sourceFragment(e){return Yt({source:j,line:E,column:k,baseLine:G,baseColumn:t},isNaN(e)?0:e)},get formattedMessage(){return`Parse error: ${A}\n`+Yt({source:j,line:E,column:k,baseLine:G,baseColumn:t},2)}})}function Zt(A){let j=this.createList(),F=!1,E={recognizer:A};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:F=!0,this.next();continue}let k=A.getNode.call(this,E);if(k===void 0)break;F&&(A.onWhiteSpace&&A.onWhiteSpace.call(this,k,j,E),F=!1),j.push(k)}return F&&A.onWhiteSpace&&A.onWhiteSpace.call(this,null,j,E),j}var Ar=()=>{},e0=33,q0=35,CF=59,jr=123,Er=0;function x0(A){return function(){return this[A]()}}function cF(A){let j=Object.create(null);for(let F of Object.keys(A)){let E=A[F],k=E.parse||E;k&&(j[F]=k)}return j}function l0(A){let j={context:Object.create(null),features:Object.assign(Object.create(null),A.features),scope:Object.assign(Object.create(null),A.scope),atrule:cF(A.atrule),pseudo:cF(A.pseudo),node:cF(A.node)};for(let[F,E]of Object.entries(A.parseContext))switch(typeof E){case\"function\":j.context[F]=E;break;case\"string\":j.context[F]=x0(E);break}return{config:j,...j,...j.node}}function Fr(A){let j=\"\",F=\"<unknown>\",E=!1,k=Ar,G=!1,t=new l6,q=Object.assign(new n6,l0(A||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:Zt,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(r){return r===jr?1:0},consumeUntilLeftCurlyBracketOrSemicolon(r){return r===jr||r===CF?1:0},consumeUntilExclamationMarkOrSemicolon(r){return r===e0||r===CF?1:0},consumeUntilSemicolonIncluded(r){return r===CF?2:0},createList(){return new OA},createSingleNodeList(r){return new OA().appendData(r)},getFirstListNode(r){return r&&r.first},getLastListNode(r){return r&&r.last},parseWithFallback(r,n){let $=this.tokenIndex;try{return r.call(this)}catch(i){if(G)throw i;this.skip($-this.tokenIndex);let s=n.call(this);return G=!0,k(i,s),G=!1,s}},lookupNonWSType(r){let n;do if(n=this.lookupType(r++),n!==13&&n!==25)return n;while(n!==Er);return Er},charCodeAt(r){return r>=0&&r<j.length?j.charCodeAt(r):0},substring(r,n){return j.substring(r,n)},substrToCursor(r){return this.source.substring(r,this.tokenStart)},cmpChar(r,n){return tj(j,r,n)},cmpStr(r,n,$){return rj(j,r,n,$)},consume(r){let n=this.tokenStart;return this.eat(r),this.substrToCursor(n)},consumeFunctionName(){let r=j.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),r},consumeNumber(r){let n=j.substring(this.tokenStart,Kj(j,this.tokenStart));return this.eat(r),n},eat(r){if(this.tokenType!==r){let n=bj[r].slice(0,-6).replace(/-/g,\" \").replace(/^./,s=>s.toUpperCase()),$=`${/[[\\](){}]/.test(n)?`\"${n}\"`:n} is expected`,i=this.tokenStart;switch(r){case 1:this.tokenType===2||this.tokenType===7?(i=this.tokenEnd-1,$=\"Identifier is expected but function found\"):$=\"Identifier is expected\";break;case 4:this.isDelim(q0)&&(this.next(),i++,$=\"Name is expected\");break;case 11:this.tokenType===10&&(i=this.tokenEnd,$=\"Percent sign is expected\");break}this.error($,i)}this.next()},eatIdent(r){(this.tokenType!==1||this.lookupValue(0,r)===!1)&&this.error(`Identifier \"${r}\" is expected`),this.next()},eatDelim(r){this.isDelim(r)||this.error(`Delim \"${String.fromCharCode(r)}\" is expected`),this.next()},getLocation(r,n){return E?t.getLocationRange(r,n,F):null},getLocationFromList(r){if(E){let n=this.getFirstListNode(r),$=this.getLastListNode(r);return t.getLocationRange(n!==null?n.loc.start.offset-t.startOffset:this.tokenStart,$!==null?$.loc.end.offset-t.startOffset:this.tokenStart,F)}return null},error(r,n){let $=typeof n<\"u\"&&n<j.length?t.getLocation(n):this.eof?t.getLocation(Nt(j,j.length-1)):t.getLocation(this.tokenStart);throw new IF(r||\"Unexpected input\",j,$.offset,$.line,$.column,t.startLine,t.startColumn)}});return Object.assign(function(r,n){j=r,n=n||{},q.setSource(j,$j),t.setSource(j,n.offset,n.line,n.column),F=n.filename||\"<unknown>\",E=!!n.positions,k=typeof n.onParseError==\"function\"?n.onParseError:Ar,G=!1,q.parseAtrulePrelude=\"parseAtrulePrelude\"in n?!!n.parseAtrulePrelude:!0,q.parseRulePrelude=\"parseRulePrelude\"in n?!!n.parseRulePrelude:!0,q.parseValue=\"parseValue\"in n?!!n.parseValue:!0,q.parseCustomProperty=\"parseCustomProperty\"in n?!!n.parseCustomProperty:!1;let{context:$=\"default\",onComment:i}=n;if(!($ in q.context))throw new Error(\"Unknown context `\"+$+\"`\");typeof i==\"function\"&&q.forEachToken((o,c,p)=>{if(o===25){let C=q.getLocation(c,p),h=rj(j,p-2,p,\"*/\")?j.slice(c+2,p-2):j.slice(c+2,p);i(h,C)}});let s=q.context[$].call(q,n);return q.eof||q.error(),s},{SyntaxError:IF,config:q.config})}var ur=xG(pr(),1),hr=new Set([\"Atrule\",\"Selector\",\"Declaration\"]);function dr(A){let j=new ur.SourceMapGenerator,F={line:1,column:0},E={line:0,column:0},k={line:1,column:0},G={generated:k},t=1,q=0,e=!1,r=A.node;A.node=function(i){if(i.loc&&i.loc.start&&hr.has(i.type)){let s=i.loc.start.line,o=i.loc.start.column-1;(E.line!==s||E.column!==o)&&(E.line=s,E.column=o,F.line=t,F.column=q,e&&(e=!1,(F.line!==k.line||F.column!==k.column)&&j.addMapping(G)),e=!0,j.addMapping({source:i.loc.source,original:E,generated:F}))}r.call(this,i),e&&hr.has(i.type)&&(k.line=t,k.column=q)};let n=A.emit;A.emit=function(i,s,o){for(let c=0;c<i.length;c++)i.charCodeAt(c)===10?(t++,q=0):q++;n(i,s,o)};let $=A.result;return A.result=function(){return e&&j.addMapping(G),{css:$(),map:j}},A}var oE={};y(oE,{safe:()=>mF,spec:()=>P0});var f0=43,g0=45,vF=(A,j)=>{if(A===9&&(A=j),typeof A==\"string\"){let F=A.charCodeAt(0);return F>127?32768:F<<8}return A},Dr=[[1,1],[1,2],[1,7],[1,8],[1,\"-\"],[1,10],[1,11],[1,12],[1,15],[1,21],[3,1],[3,2],[3,7],[3,8],[3,\"-\"],[3,10],[3,11],[3,12],[3,15],[4,1],[4,2],[4,7],[4,8],[4,\"-\"],[4,10],[4,11],[4,12],[4,15],[12,1],[12,2],[12,7],[12,8],[12,\"-\"],[12,10],[12,11],[12,12],[12,15],[\"#\",1],[\"#\",2],[\"#\",7],[\"#\",8],[\"#\",\"-\"],[\"#\",10],[\"#\",11],[\"#\",12],[\"#\",15],[\"-\",1],[\"-\",2],[\"-\",7],[\"-\",8],[\"-\",\"-\"],[\"-\",10],[\"-\",11],[\"-\",12],[\"-\",15],[10,1],[10,2],[10,7],[10,8],[10,10],[10,11],[10,12],[10,\"%\"],[10,15],[\"@\",1],[\"@\",2],[\"@\",7],[\"@\",8],[\"@\",\"-\"],[\"@\",15],[\".\",10],[\".\",11],[\".\",12],[\"+\",10],[\"+\",11],[\"+\",12],[\"/\",\"*\"]],H0=Dr.concat([[1,4],[12,4],[4,4],[3,21],[3,5],[3,16],[11,11],[11,12],[11,2],[11,\"-\"],[22,1],[22,2],[22,11],[22,12],[22,4],[22,\"-\"]]);function Kr(A){let j=new Set(A.map(([F,E])=>vF(F)<<16|vF(E)));return function(F,E,k){let G=vF(E,k),t=k.charCodeAt(0);return(t===g0&&E!==1&&E!==2&&E!==15||t===f0?j.has(F<<16|t<<8):j.has(F<<16|G))&&this.emit(\" \",13,!0),G}}var P0=Kr(Dr),mF=Kr(H0);var X0=92;function L0(A,j){if(typeof j==\"function\"){let F=null;A.children.forEach(E=>{F!==null&&j.call(this,F),this.node(E),F=E});return}A.children.forEach(this.node,this)}function O0(A){$j(A,(j,F,E)=>{this.token(j,A.slice(F,E))})}function vr(A){let j=new Map;for(let[F,E]of Object.entries(A.node))typeof(E.generate||E)==\"function\"&&j.set(F,E.generate||E);return function(F,E){let k=\"\",G=0,t={node(e){if(j.has(e.type))j.get(e.type).call(q,e);else throw new Error(\"Unknown node type: \"+e.type)},tokenBefore:mF,token(e,r){G=this.tokenBefore(G,e,r),this.emit(r,e,!1),e===9&&r.charCodeAt(0)===X0&&this.emit(`\n`,13,!0)},emit(e){k+=e},result(){return k}};E&&(typeof E.decorator==\"function\"&&(t=E.decorator(t)),E.sourceMap&&(t=dr(t)),E.mode in oE&&(t.tokenBefore=oE[E.mode]));let q={node:e=>t.node(e),children:L0,token:(e,r)=>t.token(e,r),tokenize:O0};return t.node(F),t.result()}}function mr(A){return{fromPlainObject(j){return A(j,{enter(F){F.children&&!(F.children instanceof OA)&&(F.children=new OA().fromArray(F.children))}}),j},toPlainObject(j){return A(j,{leave(F){F.children&&F.children instanceof OA&&(F.children=F.children.toArray())}}),j}}}var{hasOwnProperty:fF}=Object.prototype,o6=function(){};function fr(A){return typeof A==\"function\"?A:o6}function gr(A,j){return function(F,E,k){F.type===j&&A.call(this,F,E,k)}}function T0(A,j){let F=j.structure,E=[];for(let k in F){if(fF.call(F,k)===!1)continue;let G=F[k],t={name:k,type:!1,nullable:!1};Array.isArray(G)||(G=[G]);for(let q of G)q===null?t.nullable=!0:typeof q==\"string\"?t.type=\"node\":Array.isArray(q)&&(t.type=\"list\");t.type&&E.push(t)}return E.length?{context:j.walkContext,fields:E}:null}function b0(A){let j={};for(let F in A.node)if(fF.call(A.node,F)){let E=A.node[F];if(!E.structure)throw new Error(\"Missed `structure` field in `\"+F+\"` node type definition\");j[F]=T0(F,E)}return j}function Hr(A,j){let F=A.fields.slice(),E=A.context,k=typeof E==\"string\";return j&&F.reverse(),function(G,t,q,e){let r;k&&(r=t[E],t[E]=G);for(let n of F){let $=G[n.name];if(!n.nullable||$){if(n.type===\"list\"){if(j?$.reduceRight(e,!1):$.reduce(e,!1))return!0}else if(q($))return!0}}k&&(t[E]=r)}}function Pr({StyleSheet:A,Atrule:j,Rule:F,Block:E,DeclarationList:k}){return{Atrule:{StyleSheet:A,Atrule:j,Rule:F,Block:E},Rule:{StyleSheet:A,Atrule:j,Rule:F,Block:E},Declaration:{StyleSheet:A,Atrule:j,Rule:F,Block:E,DeclarationList:k}}}function Xr(A){let j=b0(A),F={},E={},k=Symbol(\"break-walk\"),G=Symbol(\"skip-node\");for(let r in j)fF.call(j,r)&&j[r]!==null&&(F[r]=Hr(j[r],!1),E[r]=Hr(j[r],!0));let t=Pr(F),q=Pr(E),e=function(r,n){function $(C,h,L){let K=i.call(p,C,h,L);return K===k?!0:K===G?!1:!!(o.hasOwnProperty(C.type)&&o[C.type](C,p,$,c)||s.call(p,C,h,L)===k)}let i=o6,s=o6,o=F,c=(C,h,L,K)=>C||$(h,L,K),p={break:k,skip:G,root:r,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(typeof n==\"function\")i=n;else if(n&&(i=fr(n.enter),s=fr(n.leave),n.reverse&&(o=E),n.visit)){if(t.hasOwnProperty(n.visit))o=n.reverse?q[n.visit]:t[n.visit];else if(!j.hasOwnProperty(n.visit))throw new Error(\"Bad value `\"+n.visit+\"` for `visit` option (should be: \"+Object.keys(j).sort().join(\", \")+\")\");i=gr(i,n.visit),s=gr(s,n.visit)}if(i===o6&&s===o6)throw new Error(\"Neither `enter` nor `leave` walker handler is set or both aren't a function\");$(r)};return e.break=k,e.skip=G,e.find=function(r,n){let $=null;return e(r,function(i,s,o){if(n.call(this,i,s,o))return $=i,k}),$},e.findLast=function(r,n){let $=null;return e(r,{reverse:!0,enter(i,s,o){if(n.call(this,i,s,o))return $=i,k}}),$},e.findAll=function(r,n){let $=[];return e(r,function(i,s,o){n.call(this,i,s,o)&&$.push(i)}),$},e}function w0(A){return A}function y0(A){let{min:j,max:F,comma:E}=A;return j===0&&F===0?E?\"#?\":\"*\":j===0&&F===1?\"?\":j===1&&F===0?E?\"#\":\"+\":j===1&&F===1?\"\":(E?\"#\":\"\")+(j===F?\"{\"+j+\"}\":\"{\"+j+\",\"+(F!==0?F:\"\")+\"}\")}function _0(A){switch(A.type){case\"Range\":return\" [\"+(A.min===null?\"-\\u221E\":A.min)+\",\"+(A.max===null?\"\\u221E\":A.max)+\"]\";default:throw new Error(\"Unknown node type `\"+A.type+\"`\")}}function M0(A,j,F,E){let k=A.combinator===\" \"||E?A.combinator:\" \"+A.combinator+\" \",G=A.terms.map(t=>BE(t,j,F,E)).join(k);return A.explicit||F?(E||G[0]===\",\"?\"[\":\"[ \")+G+(E?\"]\":\" ]\"):G}function BE(A,j,F,E){let k;switch(A.type){case\"Group\":k=M0(A,j,F,E)+(A.disallowEmpty?\"!\":\"\");break;case\"Multiplier\":return BE(A.term,j,F,E)+j(y0(A),A);case\"Boolean\":k=\"<boolean-expr[\"+BE(A.term,j,F,E)+\"]>\";break;case\"Type\":k=\"<\"+A.name+(A.opts?j(_0(A.opts),A.opts):\"\")+\">\";break;case\"Property\":k=\"<'\"+A.name+\"'>\";break;case\"Keyword\":k=A.name;break;case\"AtKeyword\":k=\"@\"+A.name;break;case\"Function\":k=A.name+\"(\";break;case\"String\":case\"Token\":k=A.value;break;case\"Comma\":k=\",\";break;default:throw new Error(\"Unknown node type `\"+A.type+\"`\")}return j(k,A)}function Mj(A,j){let F=w0,E=!1,k=!1;return typeof j==\"function\"?F=j:j&&(E=!!j.forceBraces,k=!!j.compact,typeof j.decorate==\"function\"&&(F=j.decorate)),BE(A,F,E,k)}var Lr={offset:0,line:1,column:1};function R0(A,j){let F=A.tokens,E=A.longestMatch,k=E<F.length&&F[E].node||null,G=k!==j?k:null,t=0,q=0,e=0,r=\"\",n,$;for(let i=0;i<F.length;i++){let s=F[i].value;i===E&&(q=s.length,t=r.length),G!==null&&F[i].node===G&&(i<=E?e++:e=0),r+=s}return E===F.length||e>1?(n=sE(G||j,\"end\")||B6(Lr,r),$=B6(n)):(n=sE(G,\"start\")||B6(sE(j,\"start\")||Lr,r.slice(0,t)),$=sE(G,\"end\")||B6(n,r.substr(t,q))),{css:r,mismatchOffset:t,mismatchLength:q,start:n,end:$}}function sE(A,j){let F=A&&A.loc&&A.loc[j];return F?\"line\"in F?B6(F):F:null}function B6({offset:A,line:j,column:F},E){let k={offset:A,line:j,column:F};if(E){let G=E.split(/\\n|\\r\\n?|\\f/);k.offset+=E.length,k.line+=G.length-1,k.column=G.length===1?k.column+E.length:G.pop().length+1}return k}var Rj=function(A,j){let F=mj(\"SyntaxReferenceError\",A+(j?\" `\"+j+\"`\":\"\"));return F.reference=j,F},Or=function(A,j,F,E){let k=mj(\"SyntaxMatchError\",A),{css:G,mismatchOffset:t,mismatchLength:q,start:e,end:r}=R0(E,F);return k.rawMessage=A,k.syntax=j?Mj(j):\"<generic>\",k.css=G,k.mismatchOffset=t,k.mismatchLength=q,k.message=A+`\n syntax: `+k.syntax+`\n value: `+(G||\"<empty string>\")+`\n --------`+new Array(k.mismatchOffset+1).join(\"-\")+\"^\",Object.assign(k,e),k.loc={source:F&&F.loc&&F.loc.source||\"<unknown>\",start:e,end:r},k};var IE=new Map,Sj=new Map,CE=45,cE=S0,gF=N0;function pE(A,j){return j=j||0,A.length-j>=2&&A.charCodeAt(j)===CE&&A.charCodeAt(j+1)===CE}function Tr(A,j){if(j=j||0,A.length-j>=3&&A.charCodeAt(j)===CE&&A.charCodeAt(j+1)!==CE){let F=A.indexOf(\"-\",j+2);if(F!==-1)return A.substring(j,F+1)}return\"\"}function S0(A){if(IE.has(A))return IE.get(A);let j=A.toLowerCase(),F=IE.get(j);if(F===void 0){let E=pE(j,0),k=E?\"\":Tr(j,0);F=Object.freeze({basename:j.substr(k.length),name:j,prefix:k,vendor:k,custom:E})}return IE.set(A,F),F}function N0(A){if(Sj.has(A))return Sj.get(A);let j=A,F=A[0];F===\"/\"?F=A[1]===\"/\"?\"//\":\"/\":F!==\"_\"&&F!==\"*\"&&F!==\"$\"&&F!==\"#\"&&F!==\"+\"&&F!==\"&\"&&(F=\"\");let E=pE(j,F.length);if(!E&&(j=j.toLowerCase(),Sj.has(j))){let q=Sj.get(j);return Sj.set(A,q),q}let k=E?\"\":Tr(j,F.length),G=j.substr(0,F.length+k.length),t=Object.freeze({basename:j.substr(G.length),name:j.substr(F.length),hack:F,vendor:k,prefix:G,custom:E});return Sj.set(A,t),t}var Nj=[\"initial\",\"inherit\",\"unset\",\"revert\",\"revert-layer\"];var I6=43,YA=45,HF=110,zj=!0,J0=!1;function XF(A,j){return A!==null&&A.type===9&&A.value.charCodeAt(0)===j}function s6(A,j,F){for(;A!==null&&(A.type===13||A.type===25);)A=F(++j);return j}function ij(A,j,F,E){if(!A)return 0;let k=A.value.charCodeAt(j);if(k===I6||k===YA){if(F)return 0;j++}for(;j<A.value.length;j++)if(!oA(A.value.charCodeAt(j)))return 0;return E+1}function PF(A,j,F){let E=!1,k=s6(A,j,F);if(A=F(k),A===null)return j;if(A.type!==10)if(XF(A,I6)||XF(A,YA)){if(E=!0,k=s6(F(++k),k,F),A=F(k),A===null||A.type!==10)return 0}else return j;if(!E){let G=A.value.charCodeAt(0);if(G!==I6&&G!==YA)return 0}return ij(A,E?0:1,E,k)}function LF(A,j){let F=0;if(!A)return 0;if(A.type===10)return ij(A,0,J0,F);if(A.type===1&&A.value.charCodeAt(0)===YA){if(!tj(A.value,1,HF))return 0;switch(A.value.length){case 2:return PF(j(++F),F,j);case 3:return A.value.charCodeAt(2)!==YA?0:(F=s6(j(++F),F,j),A=j(F),ij(A,0,zj,F));default:return A.value.charCodeAt(2)!==YA?0:ij(A,3,zj,F)}}else if(A.type===1||XF(A,I6)&&j(F+1).type===1){if(A.type!==1&&(A=j(++F)),A===null||!tj(A.value,0,HF))return 0;switch(A.value.length){case 1:return PF(j(++F),F,j);case 2:return A.value.charCodeAt(1)!==YA?0:(F=s6(j(++F),F,j),A=j(F),ij(A,0,zj,F));default:return A.value.charCodeAt(1)!==YA?0:ij(A,2,zj,F)}}else if(A.type===12){let E=A.value.charCodeAt(0),k=E===I6||E===YA?1:0,G=k;for(;G<A.value.length&&oA(A.value.charCodeAt(G));G++);return G===k||!tj(A.value,G,HF)?0:G+1===A.value.length?PF(j(++F),F,j):A.value.charCodeAt(G+1)!==YA?0:G+2===A.value.length?(F=s6(j(++F),F,j),A=j(F),ij(A,0,zj,F)):ij(A,G+2,zj,F)}return 0}var U0=43,br=45,wr=63,V0=117;function OF(A,j){return A!==null&&A.type===9&&A.value.charCodeAt(0)===j}function Q0(A,j){return A.value.charCodeAt(0)===j}function C6(A,j,F){let E=0;for(let k=j;k<A.value.length;k++){let G=A.value.charCodeAt(k);if(G===br&&F&&E!==0)return C6(A,j+E+1,!1),6;if(!TA(G)||++E>6)return 0}return E}function hE(A,j,F){if(!A)return 0;for(;OF(F(j),wr);){if(++A>6)return 0;j++}return j}function TF(A,j){let F=0;if(A===null||A.type!==1||!tj(A.value,0,V0)||(A=j(++F),A===null))return 0;if(OF(A,U0))return A=j(++F),A===null?0:A.type===1?hE(C6(A,0,!0),++F,j):OF(A,wr)?hE(1,++F,j):0;if(A.type===10){let E=C6(A,1,!0);return E===0?0:(A=j(++F),A===null?F:A.type===12||A.type===10?!Q0(A,br)||!C6(A,1,!1)?0:F+1:hE(E,F,j))}return A.type===12?hE(C6(A,1,!0),++F,j):0}var W0=[\"calc(\",\"-moz-calc(\",\"-webkit-calc(\"],bF=new Map([[2,22],[21,22],[19,20],[23,24]]);function SA(A,j){return j<A.length?A.charCodeAt(j):0}function yr(A,j){return rj(A,0,A.length,j)}function _r(A,j){for(let F=0;F<j.length;F++)if(yr(A,j[F]))return!0;return!1}function Mr(A,j){return j!==A.length-2?!1:SA(A,j)===92&&oA(SA(A,j+1))}function uE(A,j,F){if(A&&A.type===\"Range\"){let E=Number(F!==void 0&&F!==j.length?j.substr(0,F):j);if(isNaN(E)||A.min!==null&&E<A.min&&typeof A.min!=\"string\"||A.max!==null&&E>A.max&&typeof A.max!=\"string\")return!0}return!1}function Y0(A,j){let F=0,E=[],k=0;A:do{switch(A.type){case 24:case 22:case 20:if(A.type!==F)break A;if(F=E.pop(),E.length===0){k++;break A}break;case 2:case 21:case 19:case 23:E.push(F),F=bF.get(A.type);break}k++}while(A=j(k));return k}function yA(A){return function(j,F,E){return j===null?0:j.type===2&&_r(j.value,W0)?Y0(j,F):A(j,F,E)}}function rA(A){return function(j){return j===null||j.type!==A?0:1}}function Z0(A){if(A===null||A.type!==1)return 0;let j=A.value.toLowerCase();return _r(j,Nj)||yr(j,\"default\")?0:1}function Rr(A){return A===null||A.type!==1||SA(A.value,0)!==45||SA(A.value,1)!==45?0:1}function Al(A){return!Rr(A)||A.value===\"--\"?0:1}function jl(A){if(A===null||A.type!==4)return 0;let j=A.value.length;if(j!==4&&j!==5&&j!==7&&j!==9)return 0;for(let F=1;F<j;F++)if(!TA(SA(A.value,F)))return 0;return 1}function El(A){return A===null||A.type!==4||!Oj(SA(A.value,1),SA(A.value,2),SA(A.value,3))?0:1}function Fl(A,j){if(!A)return 0;let F=0,E=[],k=0;A:do{switch(A.type){case 6:case 8:break A;case 24:case 22:case 20:if(A.type!==F)break A;F=E.pop();break;case 17:if(F===0)break A;break;case 9:if(F===0&&A.value===\"!\")break A;break;case 2:case 21:case 19:case 23:E.push(F),F=bF.get(A.type);break}k++}while(A=j(k));return k}function kl(A,j){if(!A)return 0;let F=0,E=[],k=0;A:do{switch(A.type){case 6:case 8:break A;case 24:case 22:case 20:if(A.type!==F)break A;F=E.pop();break;case 2:case 21:case 19:case 23:E.push(F),F=bF.get(A.type);break}k++}while(A=j(k));return k}function xj(A){return A&&(A=new Set(A)),function(j,F,E){if(j===null||j.type!==12)return 0;let k=Kj(j.value,0);if(A!==null){let G=j.value.indexOf(\"\\\\\",k),t=G===-1||!Mr(j.value,G)?j.value.substr(k):j.value.substring(k,G);if(A.has(t.toLowerCase())===!1)return 0}return uE(E,j.value,k)?0:1}}function Gl(A,j,F){return A===null||A.type!==11||uE(F,A.value,A.value.length-1)?0:1}function Sr(A){return typeof A!=\"function\"&&(A=function(){return 0}),function(j,F,E){return j!==null&&j.type===10&&Number(j.value)===0?1:A(j,F,E)}}function tl(A,j,F){if(A===null)return 0;let E=Kj(A.value,0);return!(E===A.value.length)&&!Mr(A.value,E)||uE(F,A.value,E)?0:1}function rl(A,j,F){if(A===null||A.type!==10)return 0;let E=SA(A.value,0)===43||SA(A.value,0)===45?1:0;for(;E<A.value.length;E++)if(!oA(SA(A.value,E)))return 0;return uE(F,A.value,E)?0:1}var el={\"ident-token\":rA(1),\"function-token\":rA(2),\"at-keyword-token\":rA(3),\"hash-token\":rA(4),\"string-token\":rA(5),\"bad-string-token\":rA(6),\"url-token\":rA(7),\"bad-url-token\":rA(8),\"delim-token\":rA(9),\"number-token\":rA(10),\"percentage-token\":rA(11),\"dimension-token\":rA(12),\"whitespace-token\":rA(13),\"CDO-token\":rA(14),\"CDC-token\":rA(15),\"colon-token\":rA(16),\"semicolon-token\":rA(17),\"comma-token\":rA(18),\"[-token\":rA(19),\"]-token\":rA(20),\"(-token\":rA(21),\")-token\":rA(22),\"{-token\":rA(23),\"}-token\":rA(24)},ql={string:rA(5),ident:rA(1),percentage:yA(Gl),zero:Sr(),number:yA(tl),integer:yA(rl),\"custom-ident\":Z0,\"dashed-ident\":Rr,\"custom-property-name\":Al,\"hex-color\":jl,\"id-selector\":El,\"an-plus-b\":LF,urange:TF,\"declaration-value\":Fl,\"any-value\":kl};function xl(A){let{angle:j,decibel:F,frequency:E,flex:k,length:G,resolution:t,semitones:q,time:e}=A||{};return{dimension:yA(xj(null)),angle:yA(xj(j)),decibel:yA(xj(F)),frequency:yA(xj(E)),flex:yA(xj(k)),length:yA(Sr(xj(G))),resolution:yA(xj(t)),semitones:yA(xj(q)),time:yA(xj(e))}}function Nr(A){return{...el,...ql,...xl(A)}}var dE={};y(dE,{angle:()=>nl,decibel:()=>Bl,flex:()=>ol,frequency:()=>il,length:()=>ll,resolution:()=>al,semitones:()=>sl,time:()=>$l});var ll=[\"cm\",\"mm\",\"q\",\"in\",\"pt\",\"pc\",\"px\",\"em\",\"rem\",\"ex\",\"rex\",\"cap\",\"rcap\",\"ch\",\"rch\",\"ic\",\"ric\",\"lh\",\"rlh\",\"vw\",\"svw\",\"lvw\",\"dvw\",\"vh\",\"svh\",\"lvh\",\"dvh\",\"vi\",\"svi\",\"lvi\",\"dvi\",\"vb\",\"svb\",\"lvb\",\"dvb\",\"vmin\",\"svmin\",\"lvmin\",\"dvmin\",\"vmax\",\"svmax\",\"lvmax\",\"dvmax\",\"cqw\",\"cqh\",\"cqi\",\"cqb\",\"cqmin\",\"cqmax\"],nl=[\"deg\",\"grad\",\"rad\",\"turn\"],$l=[\"s\",\"ms\"],il=[\"hz\",\"khz\"],al=[\"dpi\",\"dpcm\",\"dppx\",\"x\"],ol=[\"fr\"],Bl=[\"db\"],sl=[\"st\"];function wF(A,j,F){return Object.assign(mj(\"SyntaxError\",A),{input:j,offset:F,rawMessage:A,message:A+`\n `+j+`\n--`+new Array((F||j.length)+1).join(\"-\")+\"^\"})}var Il=9,Cl=10,cl=12,pl=13,hl=32,zr=new Uint8Array(128).map((A,j)=>/[a-zA-Z0-9\\-]/.test(String.fromCharCode(j))?1:0),DE=class{constructor(j){this.str=j,this.pos=0}charCodeAt(j){return j<this.str.length?this.str.charCodeAt(j):0}charCode(){return this.charCodeAt(this.pos)}isNameCharCode(j=this.charCode()){return j<128&&zr[j]===1}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(j){return this.charCodeAt(this.findWsEnd(j))}skipWs(){this.pos=this.findWsEnd(this.pos)}findWsEnd(j){for(;j<this.str.length;j++){let F=this.str.charCodeAt(j);if(F!==pl&&F!==Cl&&F!==cl&&F!==hl&&F!==Il)break}return j}substringToPos(j){return this.str.substring(this.pos,this.pos=j)}eat(j){this.charCode()!==j&&this.error(\"Expect `\"+String.fromCharCode(j)+\"`\"),this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):\"\"}error(j){throw new wF(j,this.str,this.pos)}scanSpaces(){return this.substringToPos(this.findWsEnd(this.pos))}scanWord(){let j=this.pos;for(;j<this.str.length;j++){let F=this.str.charCodeAt(j);if(F>=128||zr[F]===0)break}return this.pos===j&&this.error(\"Expect a keyword\"),this.substringToPos(j)}scanNumber(){let j=this.pos;for(;j<this.str.length;j++){let F=this.str.charCodeAt(j);if(F<48||F>57)break}return this.pos===j&&this.error(\"Expect a number\"),this.substringToPos(j)}scanString(){let j=this.str.indexOf(\"'\",this.pos+1);return j===-1&&(this.pos=this.str.length,this.error(\"Expect an apostrophe\")),this.substringToPos(j+1)}};var ul=9,dl=10,Dl=12,Kl=13,vl=32,Ae=33,RF=35,Jr=38,KE=39,je=40,ml=41,Ee=42,SF=43,NF=44,Ur=45,zF=60,_F=62,MF=63,fl=64,c6=91,p6=93,vE=123,Vr=124,Qr=125,Wr=8734,Yr={\" \":1,\"&&\":2,\"||\":3,\"|\":4};function Zr(A){let j=null,F=null;return A.eat(vE),A.skipWs(),j=A.scanNumber(A),A.skipWs(),A.charCode()===NF?(A.pos++,A.skipWs(),A.charCode()!==Qr&&(F=A.scanNumber(A),A.skipWs())):F=j,A.eat(Qr),{min:Number(j),max:F?Number(F):0}}function gl(A){let j=null,F=!1;switch(A.charCode()){case Ee:A.pos++,j={min:0,max:0};break;case SF:A.pos++,j={min:1,max:0};break;case MF:A.pos++,j={min:0,max:1};break;case RF:A.pos++,F=!0,A.charCode()===vE?j=Zr(A):A.charCode()===MF?(A.pos++,j={min:0,max:0}):j={min:1,max:0};break;case vE:j=Zr(A);break;default:return null}return{type:\"Multiplier\",comma:F,min:j.min,max:j.max,term:null}}function aj(A,j){let F=gl(A);return F!==null?(F.term=j,A.charCode()===RF&&A.charCodeAt(A.pos-1)===SF?aj(A,F):F):j}function yF(A){let j=A.peek();return j===\"\"?null:aj(A,{type:\"Token\",value:j})}function Hl(A){let j;return A.eat(zF),A.eat(KE),j=A.scanWord(),A.eat(KE),A.eat(_F),aj(A,{type:\"Property\",name:j})}function Pl(A){let j=null,F=null,E=1;return A.eat(c6),A.charCode()===Ur&&(A.peek(),E=-1),E==-1&&A.charCode()===Wr?A.peek():(j=E*Number(A.scanNumber(A)),A.isNameCharCode()&&(j+=A.scanWord())),A.skipWs(),A.eat(NF),A.skipWs(),A.charCode()===Wr?A.peek():(E=1,A.charCode()===Ur&&(A.peek(),E=-1),F=E*Number(A.scanNumber(A)),A.isNameCharCode()&&(F+=A.scanWord())),A.eat(p6),{type:\"Range\",min:j,max:F}}function Xl(A){let j,F=null;if(A.eat(zF),j=A.scanWord(),j===\"boolean-expr\"){A.eat(c6);let E=JF(A,p6);return A.eat(p6),A.eat(_F),aj(A,{type:\"Boolean\",term:E.terms.length===1?E.terms[0]:E})}return A.charCode()===je&&A.nextCharCode()===ml&&(A.pos+=2,j+=\"()\"),A.charCodeAt(A.findWsEnd(A.pos))===c6&&(A.skipWs(),F=Pl(A)),A.eat(_F),aj(A,{type:\"Type\",name:j,opts:F})}function Ll(A){let j=A.scanWord();return A.charCode()===je?(A.pos++,{type:\"Function\",name:j}):aj(A,{type:\"Keyword\",name:j})}function Ol(A,j){function F(k,G){return{type:\"Group\",terms:k,combinator:G,disallowEmpty:!1,explicit:!1}}let E;for(j=Object.keys(j).sort((k,G)=>Yr[k]-Yr[G]);j.length>0;){E=j.shift();let k=0,G=0;for(;k<A.length;k++){let t=A[k];t.type===\"Combinator\"&&(t.value===E?(G===-1&&(G=k-1),A.splice(k,1),k--):(G!==-1&&k-G>1&&(A.splice(G,k-G,F(A.slice(G,k),E)),k=G+1),G=-1))}G!==-1&&j.length&&A.splice(G,k-G,F(A.slice(G,k),E))}return E}function JF(A,j){let F=Object.create(null),E=[],k,G=null,t=A.pos;for(;A.charCode()!==j&&(k=bl(A,j));)k.type!==\"Spaces\"&&(k.type===\"Combinator\"?((G===null||G.type===\"Combinator\")&&(A.pos=t,A.error(\"Unexpected combinator\")),F[k.value]=!0):G!==null&&G.type!==\"Combinator\"&&(F[\" \"]=!0,E.push({type:\"Combinator\",value:\" \"})),E.push(k),G=k,t=A.pos);return G!==null&&G.type===\"Combinator\"&&(A.pos-=t,A.error(\"Unexpected combinator\")),{type:\"Group\",terms:E,combinator:Ol(E,F)||\" \",disallowEmpty:!1,explicit:!1}}function Tl(A,j){let F;return A.eat(c6),F=JF(A,j),A.eat(p6),F.explicit=!0,A.charCode()===Ae&&(A.pos++,F.disallowEmpty=!0),F}function bl(A,j){let F=A.charCode();switch(F){case p6:break;case c6:return aj(A,Tl(A,j));case zF:return A.nextCharCode()===KE?Hl(A):Xl(A);case Vr:return{type:\"Combinator\",value:A.substringToPos(A.pos+(A.nextCharCode()===Vr?2:1))};case Jr:return A.pos++,A.eat(Jr),{type:\"Combinator\",value:\"&&\"};case NF:return A.pos++,{type:\"Comma\"};case KE:return aj(A,{type:\"String\",value:A.scanString()});case vl:case ul:case dl:case Kl:case Dl:return{type:\"Spaces\",value:A.scanSpaces()};case fl:return F=A.nextCharCode(),A.isNameCharCode(F)?(A.pos++,{type:\"AtKeyword\",name:A.scanWord()}):yF(A);case Ee:case SF:case MF:case RF:case Ae:break;case vE:if(F=A.nextCharCode(),F<48||F>57)return yF(A);break;default:return A.isNameCharCode(F)?Ll(A):yF(A)}}function h6(A){let j=new DE(A),F=JF(j);return j.pos!==A.length&&j.error(\"Unexpected input\"),F.terms.length===1&&F.terms[0].type===\"Group\"?F.terms[0]:F}var u6=function(){};function Fe(A){return typeof A==\"function\"?A:u6}function UF(A,j,F){function E(t){switch(k.call(F,t),t.type){case\"Group\":t.terms.forEach(E);break;case\"Multiplier\":case\"Boolean\":E(t.term);break;case\"Type\":case\"Property\":case\"Keyword\":case\"AtKeyword\":case\"Function\":case\"String\":case\"Token\":case\"Comma\":break;default:throw new Error(\"Unknown type: \"+t.type)}G.call(F,t)}let k=u6,G=u6;if(typeof j==\"function\"?k=j:j&&(k=Fe(j.enter),G=Fe(j.leave)),k===u6&&G===u6)throw new Error(\"Neither `enter` nor `leave` walker handler is set or both aren't a function\");E(A,F)}var yl={decorator(A){let j=[],F=null;return{...A,node(E){let k=F;F=E,A.node.call(this,E),F=k},emit(E,k,G){j.push({type:k,value:E,node:G?null:F})},result(){return j}}}};function _l(A){let j=[];return $j(A,(F,E,k)=>j.push({type:F,value:A.slice(E,k),node:null})),j}function ke(A,j){return typeof A==\"string\"?_l(A):j.generate(A,yl)}var Y={type:\"Match\"},kA={type:\"Mismatch\"},mE={type:\"DisallowEmpty\"},Ml=40,Rl=41;function HA(A,j,F){return j===Y&&F===kA||A===Y&&j===Y&&F===Y?A:(A.type===\"If\"&&A.else===kA&&j===Y&&(j=A.then,A=A.match),{type:\"If\",match:A,then:j,else:F})}function te(A){return A.length>2&&A.charCodeAt(A.length-2)===Ml&&A.charCodeAt(A.length-1)===Rl}function Ge(A){return A.type===\"Keyword\"||A.type===\"AtKeyword\"||A.type===\"Function\"||A.type===\"Type\"&&te(A.name)}function oj(A,j=\" \",F=!1){return{type:\"Group\",terms:A,combinator:j,disallowEmpty:!1,explicit:F}}function d6(A,j,F=new Set){if(!F.has(A))switch(F.add(A),A.type){case\"If\":A.match=d6(A.match,j,F),A.then=d6(A.then,j,F),A.else=d6(A.else,j,F);break;case\"Type\":return j[A.name]||A}return A}function VF(A,j,F){switch(A){case\" \":{let E=Y;for(let k=j.length-1;k>=0;k--){let G=j[k];E=HA(G,E,kA)}return E}case\"|\":{let E=kA,k=null;for(let G=j.length-1;G>=0;G--){let t=j[G];if(Ge(t)&&(k===null&&G>0&&Ge(j[G-1])&&(k=Object.create(null),E=HA({type:\"Enum\",map:k},Y,E)),k!==null)){let q=(te(t.name)?t.name.slice(0,-1):t.name).toLowerCase();if(!(q in k)){k[q]=t;continue}}k=null,E=HA(t,Y,E)}return E}case\"&&\":{if(j.length>5)return{type:\"MatchOnce\",terms:j,all:!0};let E=kA;for(let k=j.length-1;k>=0;k--){let G=j[k],t;j.length>1?t=VF(A,j.filter(function(q){return q!==G}),!1):t=Y,E=HA(G,t,E)}return E}case\"||\":{if(j.length>5)return{type:\"MatchOnce\",terms:j,all:!1};let E=F?Y:kA;for(let k=j.length-1;k>=0;k--){let G=j[k],t;j.length>1?t=VF(A,j.filter(function(q){return q!==G}),!0):t=Y,E=HA(G,t,E)}return E}}}function Sl(A){let j=Y,F=Jj(A.term);if(A.max===0)F=HA(F,mE,kA),j=HA(F,null,kA),j.then=HA(Y,Y,j),A.comma&&(j.then.else=HA({type:\"Comma\",syntax:A},j,kA));else for(let E=A.min||1;E<=A.max;E++)A.comma&&j!==Y&&(j=HA({type:\"Comma\",syntax:A},j,kA)),j=HA(F,HA(Y,Y,j),kA);if(A.min===0)j=HA(Y,Y,j);else for(let E=0;E<A.min-1;E++)A.comma&&j!==Y&&(j=HA({type:\"Comma\",syntax:A},j,kA)),j=HA(F,j,kA);return j}function Jj(A){if(typeof A==\"function\")return{type:\"Generic\",fn:A};switch(A.type){case\"Group\":{let j=VF(A.combinator,A.terms.map(Jj),!1);return A.disallowEmpty&&(j=HA(j,mE,kA)),j}case\"Multiplier\":return Sl(A);case\"Boolean\":{let j=Jj(A.term),F=Jj(oj([oj([{type:\"Keyword\",name:\"not\"},{type:\"Type\",name:\"!boolean-group\"}]),oj([{type:\"Type\",name:\"!boolean-group\"},oj([{type:\"Multiplier\",comma:!1,min:0,max:0,term:oj([{type:\"Keyword\",name:\"and\"},{type:\"Type\",name:\"!boolean-group\"}])},{type:\"Multiplier\",comma:!1,min:0,max:0,term:oj([{type:\"Keyword\",name:\"or\"},{type:\"Type\",name:\"!boolean-group\"}])}],\"|\")])],\"|\")),E=Jj(oj([{type:\"Type\",name:\"!term\"},oj([{type:\"Token\",value:\"(\"},{type:\"Type\",name:\"!self\"},{type:\"Token\",value:\")\"}]),{type:\"Type\",name:\"general-enclosed\"}],\"|\"));return d6(E,{\"!term\":j,\"!self\":F}),d6(F,{\"!boolean-group\":E}),F}case\"Type\":case\"Property\":return{type:A.type,name:A.name,syntax:A};case\"Keyword\":return{type:A.type,name:A.name.toLowerCase(),syntax:A};case\"AtKeyword\":return{type:A.type,name:\"@\"+A.name.toLowerCase(),syntax:A};case\"Function\":return{type:A.type,name:A.name.toLowerCase()+\"(\",syntax:A};case\"String\":return A.value.length===3?{type:\"Token\",value:A.value.charAt(1),syntax:A}:{type:A.type,value:A.value.substr(1,A.value.length-2).replace(/\\\\'/g,\"'\"),syntax:A};case\"Token\":return{type:A.type,value:A.value,syntax:A};case\"Comma\":return{type:A.type,syntax:A};default:throw new Error(\"Unknown node type:\",A.type)}}function D6(A,j){return typeof A==\"string\"&&(A=h6(A)),{type:\"MatchGraph\",match:Jj(A),syntax:j||null,source:A}}var{hasOwnProperty:re}=Object.prototype,Nl=0,zl=1,WF=2,ne=3,ee=\"Match\",Jl=\"Mismatch\",Ul=\"Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)\",qe=15e3,Vl=0;function Ql(A){let j=null,F=null,E=A;for(;E!==null;)F=E.prev,E.prev=j,j=E,E=F;return j}function QF(A,j){if(A.length!==j.length)return!1;for(let F=0;F<A.length;F++){let E=j.charCodeAt(F),k=A.charCodeAt(F);if(k>=65&&k<=90&&(k=k|32),k!==E)return!1}return!0}function Wl(A){return A.type!==9?!1:A.value!==\"?\"}function xe(A){return A===null?!0:A.type===18||A.type===2||A.type===21||A.type===19||A.type===23||Wl(A)}function le(A){return A===null?!0:A.type===22||A.type===20||A.type===24||A.type===9&&A.value===\"/\"}function Yl(A,j,F){function E(){do h++,C=h<A.length?A[h]:null;while(C!==null&&(C.type===13||C.type===25))}function k(w){let R=h+w;return R<A.length?A[R]:null}function G(w,R){return{nextState:w,matchStack:K,syntaxStack:$,thenStack:i,tokenIndex:h,prev:R}}function t(w){i={nextState:w,matchStack:K,syntaxStack:$,prev:i}}function q(w){s=G(w,s)}function e(){K={type:zl,syntax:j.syntax,token:C,prev:K},E(),o=null,h>L&&(L=h)}function r(){$={syntax:j.syntax,opts:j.syntax.opts||$!==null&&$.opts||null,prev:$},K={type:WF,syntax:j.syntax,token:K.token,prev:K}}function n(){K.type===WF?K=K.prev:K={type:ne,syntax:$.syntax,token:K.token,prev:K},$=$.prev}let $=null,i=null,s=null,o=null,c=0,p=null,C=null,h=-1,L=0,K={type:Nl,syntax:null,token:null,prev:null};for(E();p===null&&++c<qe;)switch(j.type){case\"Match\":if(i===null){if(C!==null&&(h!==A.length-1||C.value!==\"\\\\0\"&&C.value!==\"\\\\9\")){j=kA;break}p=ee;break}if(j=i.nextState,j===mE)if(i.matchStack===K){j=kA;break}else j=Y;for(;i.syntaxStack!==$;)n();i=i.prev;break;case\"Mismatch\":if(o!==null&&o!==!1)(s===null||h>s.tokenIndex)&&(s=o,o=!1);else if(s===null){p=Jl;break}j=s.nextState,i=s.thenStack,$=s.syntaxStack,K=s.matchStack,h=s.tokenIndex,C=h<A.length?A[h]:null,s=s.prev;break;case\"MatchGraph\":j=j.match;break;case\"If\":j.else!==kA&&q(j.else),j.then!==Y&&t(j.then),j=j.match;break;case\"MatchOnce\":j={type:\"MatchOnceBuffer\",syntax:j,index:0,mask:0};break;case\"MatchOnceBuffer\":{let H=j.syntax.terms;if(j.index===H.length){if(j.mask===0||j.syntax.all){j=kA;break}j=Y;break}if(j.mask===(1<<H.length)-1){j=Y;break}for(;j.index<H.length;j.index++){let z=1<<j.index;if(!(j.mask&z)){q(j),t({type:\"AddMatchOnce\",syntax:j.syntax,mask:j.mask|z}),j=H[j.index++];break}}break}case\"AddMatchOnce\":j={type:\"MatchOnceBuffer\",syntax:j.syntax,index:0,mask:j.mask};break;case\"Enum\":if(C!==null){let H=C.value.toLowerCase();if(H.indexOf(\"\\\\\")!==-1&&(H=H.replace(/\\\\[09].*$/,\"\")),re.call(j.map,H)){j=j.map[H];break}}j=kA;break;case\"Generic\":{let H=$!==null?$.opts:null,z=h+Math.floor(j.fn(C,k,H));if(!isNaN(z)&&z>h){for(;h<z;)e();j=Y}else j=kA;break}case\"Type\":case\"Property\":{let H=j.type===\"Type\"?\"types\":\"properties\",z=re.call(F,H)?F[H][j.name]:null;if(!z||!z.match)throw new Error(\"Bad syntax reference: \"+(j.type===\"Type\"?\"<\"+j.name+\">\":\"<'\"+j.name+\"'>\"));if(o!==!1&&C!==null&&j.type===\"Type\"&&(j.name===\"custom-ident\"&&C.type===1||j.name===\"length\"&&C.value===\"0\")){o===null&&(o=G(j,s)),j=kA;break}r(),j=z.matchRef||z.match;break}case\"Keyword\":{let H=j.name;if(C!==null){let z=C.value;if(z.indexOf(\"\\\\\")!==-1&&(z=z.replace(/\\\\[09].*$/,\"\")),QF(z,H)){e(),j=Y;break}}j=kA;break}case\"AtKeyword\":case\"Function\":if(C!==null&&QF(C.value,j.name)){e(),j=Y;break}j=kA;break;case\"Token\":if(C!==null&&C.value===j.value){e(),j=Y;break}j=kA;break;case\"Comma\":C!==null&&C.type===18?xe(K.token)?j=kA:(e(),j=le(C)?kA:Y):j=xe(K.token)||le(C)?Y:kA;break;case\"String\":let w=\"\",R=h;for(;R<A.length&&w.length<j.value.length;R++)w+=A[R].value;if(QF(w,j.value)){for(;h<R;)e();j=Y}else j=kA;break;default:throw new Error(\"Unknown node type: \"+j.type)}switch(Vl+=c,p){case null:console.warn(\"[csstree-match] BREAK after \"+qe+\" iterations\"),p=Ul,K=null;break;case ee:for(;$!==null;)n();break;default:K=null}return{tokens:A,reason:p,iterations:c,match:K,longestMatch:L}}function YF(A,j,F){let E=Yl(A,j,F||{});if(E.match===null)return E;let k=E.match,G=E.match={syntax:j.syntax||null,match:[]},t=[G];for(k=Ql(k).prev;k!==null;){switch(k.type){case WF:G.match.push(G={syntax:k.syntax,match:[]}),t.push(G);break;case ne:t.pop(),G=t[t.length-1];break;default:G.match.push({syntax:k.syntax||null,token:k.token.value,node:k.token.node})}k=k.prev}return E}var A7={};y(A7,{getTrace:()=>$e,isKeyword:()=>jn,isProperty:()=>An,isType:()=>Zl});function $e(A){function j(k){return k===null?!1:k.type===\"Type\"||k.type===\"Property\"||k.type===\"Keyword\"}function F(k){if(Array.isArray(k.match)){for(let G=0;G<k.match.length;G++)if(F(k.match[G]))return j(k.syntax)&&E.unshift(k.syntax),!0}else if(k.node===A)return E=j(k.syntax)?[k.syntax]:[],!0;return!1}let E=null;return this.matched!==null&&F(this.matched),E}function Zl(A,j){return ZF(this,A,F=>F.type===\"Type\"&&F.name===j)}function An(A,j){return ZF(this,A,F=>F.type===\"Property\"&&F.name===j)}function jn(A){return ZF(this,A,j=>j.type===\"Keyword\")}function ZF(A,j,F){let E=$e.call(A,j);return E===null?!1:E.some(F)}function ie(A){return\"node\"in A?A.node:ie(A.match[0])}function ae(A){return\"node\"in A?A.node:ae(A.match[A.match.length-1])}function j7(A,j,F,E,k){function G(q){if(q.syntax!==null&&q.syntax.type===E&&q.syntax.name===k){let e=ie(q),r=ae(q);A.syntax.walk(j,function(n,$,i){if(n===e){let s=new OA;do{if(s.appendData($.data),$.data===r)break;$=$.next}while($!==null);t.push({parent:i,nodes:s})}})}Array.isArray(q.match)&&q.match.forEach(G)}let t=[];return F.matched!==null&&G(F.matched),t}var{hasOwnProperty:K6}=Object.prototype;function E7(A){return typeof A==\"number\"&&isFinite(A)&&Math.floor(A)===A&&A>=0}function oe(A){return!!A&&E7(A.offset)&&E7(A.line)&&E7(A.column)}function En(A,j){return function(E,k){if(!E||E.constructor!==Object)return k(E,\"Type of node should be an Object\");for(let G in E){let t=!0;if(K6.call(E,G)!==!1){if(G===\"type\")E.type!==A&&k(E,\"Wrong node type `\"+E.type+\"`, expected `\"+A+\"`\");else if(G===\"loc\"){if(E.loc===null)continue;if(E.loc&&E.loc.constructor===Object)if(typeof E.loc.source!=\"string\")G+=\".source\";else if(!oe(E.loc.start))G+=\".start\";else if(!oe(E.loc.end))G+=\".end\";else continue;t=!1}else if(j.hasOwnProperty(G)){t=!1;for(let q=0;!t&&q<j[G].length;q++){let e=j[G][q];switch(e){case String:t=typeof E[G]==\"string\";break;case Boolean:t=typeof E[G]==\"boolean\";break;case null:t=E[G]===null;break;default:typeof e==\"string\"?t=E[G]&&E[G].type===e:Array.isArray(e)&&(t=E[G]instanceof OA)}}}else k(E,\"Unknown field `\"+G+\"` for \"+A+\" node type\");t||k(E,\"Bad value for `\"+A+\".\"+G+\"`\")}}for(let G in j)K6.call(j,G)&&K6.call(E,G)===!1&&k(E,\"Field `\"+A+\".\"+G+\"` is missed\")}}function Be(A,j){let F=[];for(let E=0;E<A.length;E++){let k=A[E];if(k===String||k===Boolean)F.push(k.name.toLowerCase());else if(k===null)F.push(\"null\");else if(typeof k==\"string\")F.push(k);else if(Array.isArray(k))F.push(\"List<\"+(Be(k,j)||\"any\")+\">\");else throw new Error(\"Wrong value `\"+k+\"` in `\"+j+\"` structure definition\")}return F.join(\" | \")}function Fn(A,j){let F=j.structure,E={type:String,loc:!0},k={type:'\"'+A+'\"'};for(let G in F){if(K6.call(F,G)===!1)continue;let t=E[G]=Array.isArray(F[G])?F[G].slice():[F[G]];k[G]=Be(t,A+\".\"+G)}return{docs:k,check:En(A,E)}}function se(A){let j={};if(A.node){for(let F in A.node)if(K6.call(A.node,F)){let E=A.node[F];if(E.structure)j[F]=Fn(F,E);else throw new Error(\"Missed `structure` field in `\"+F+\"` node type definition\")}}return j}function F7(A,j,F){let E={};for(let k in A)A[k].syntax&&(E[k]=F?A[k].syntax:Mj(A[k].syntax,{compact:j}));return E}function kn(A,j,F){let E={};for(let[k,G]of Object.entries(A))E[k]={prelude:G.prelude&&(F?G.prelude.syntax:Mj(G.prelude.syntax,{compact:j})),descriptors:G.descriptors&&F7(G.descriptors,j,F)};return E}function Gn(A){for(let j=0;j<A.length;j++)if(A[j].value.toLowerCase()===\"var(\")return!0;return!1}function tn(A){let j=A.terms[0];return A.explicit===!1&&A.terms.length===1&&j.type===\"Multiplier\"&&j.comma===!0}function NA(A,j,F){return{matched:A,iterations:F,error:j,...A7}}function Uj(A,j,F,E){let k=ke(F,A.syntax),G;return Gn(k)?NA(null,new Error(\"Matching for a tree with var() is not supported\")):(E&&(G=YF(k,A.cssWideKeywordsSyntax,A)),(!E||!G.match)&&(G=YF(k,j.match,A),!G.match)?NA(null,new Or(G.reason,j.syntax,F,G),G.iterations):NA(G.match,null,G.iterations))}var Vj=class{constructor(j,F,E){if(this.cssWideKeywords=Nj,this.syntax=F,this.generic=!1,this.units={...dE},this.atrules=Object.create(null),this.properties=Object.create(null),this.types=Object.create(null),this.structure=E||se(j),j){if(j.cssWideKeywords&&(this.cssWideKeywords=j.cssWideKeywords),j.units)for(let k of Object.keys(dE))Array.isArray(j.units[k])&&(this.units[k]=j.units[k]);if(j.types)for(let[k,G]of Object.entries(j.types))this.addType_(k,G);if(j.generic){this.generic=!0;for(let[k,G]of Object.entries(Nr(this.units)))this.addType_(k,G)}if(j.atrules)for(let[k,G]of Object.entries(j.atrules))this.addAtrule_(k,G);if(j.properties)for(let[k,G]of Object.entries(j.properties))this.addProperty_(k,G)}this.cssWideKeywordsSyntax=D6(this.cssWideKeywords.join(\" | \"))}checkStructure(j){function F(G,t){k.push({node:G,message:t})}let E=this.structure,k=[];return this.syntax.walk(j,function(G){E.hasOwnProperty(G.type)?E[G.type].check(G,F):F(G,\"Unknown node type `\"+G.type+\"`\")}),k.length?k:!1}createDescriptor(j,F,E,k=null){let G={type:F,name:E},t={type:F,name:E,parent:k,serializable:typeof j==\"string\"||j&&typeof j.type==\"string\",syntax:null,match:null,matchRef:null};return typeof j==\"function\"?t.match=D6(j,G):(typeof j==\"string\"?Object.defineProperty(t,\"syntax\",{get(){return Object.defineProperty(t,\"syntax\",{value:h6(j)}),t.syntax}}):t.syntax=j,Object.defineProperty(t,\"match\",{get(){return Object.defineProperty(t,\"match\",{value:D6(t.syntax,G)}),t.match}}),F===\"Property\"&&Object.defineProperty(t,\"matchRef\",{get(){let q=t.syntax,e=tn(q)?D6({...q,terms:[q.terms[0].term]},G):null;return Object.defineProperty(t,\"matchRef\",{value:e}),e}})),t}addAtrule_(j,F){F&&(this.atrules[j]={type:\"Atrule\",name:j,prelude:F.prelude?this.createDescriptor(F.prelude,\"AtrulePrelude\",j):null,descriptors:F.descriptors?Object.keys(F.descriptors).reduce((E,k)=>(E[k]=this.createDescriptor(F.descriptors[k],\"AtruleDescriptor\",k,j),E),Object.create(null)):null})}addProperty_(j,F){F&&(this.properties[j]=this.createDescriptor(F,\"Property\",j))}addType_(j,F){F&&(this.types[j]=this.createDescriptor(F,\"Type\",j))}checkAtruleName(j){if(!this.getAtrule(j))return new Rj(\"Unknown at-rule\",\"@\"+j)}checkAtrulePrelude(j,F){let E=this.checkAtruleName(j);if(E)return E;let k=this.getAtrule(j);if(!k.prelude&&F)return new SyntaxError(\"At-rule `@\"+j+\"` should not contain a prelude\");if(k.prelude&&!F&&!Uj(this,k.prelude,\"\",!1).matched)return new SyntaxError(\"At-rule `@\"+j+\"` should contain a prelude\")}checkAtruleDescriptorName(j,F){let E=this.checkAtruleName(j);if(E)return E;let k=this.getAtrule(j),G=cE(F);if(!k.descriptors)return new SyntaxError(\"At-rule `@\"+j+\"` has no known descriptors\");if(!k.descriptors[G.name]&&!k.descriptors[G.basename])return new Rj(\"Unknown at-rule descriptor\",F)}checkPropertyName(j){if(!this.getProperty(j))return new Rj(\"Unknown property\",j)}matchAtrulePrelude(j,F){let E=this.checkAtrulePrelude(j,F);if(E)return NA(null,E);let k=this.getAtrule(j);return k.prelude?Uj(this,k.prelude,F||\"\",!1):NA(null,null)}matchAtruleDescriptor(j,F,E){let k=this.checkAtruleDescriptorName(j,F);if(k)return NA(null,k);let G=this.getAtrule(j),t=cE(F);return Uj(this,G.descriptors[t.name]||G.descriptors[t.basename],E,!1)}matchDeclaration(j){return j.type!==\"Declaration\"?NA(null,new Error(\"Not a Declaration node\")):this.matchProperty(j.property,j.value)}matchProperty(j,F){if(gF(j).custom)return NA(null,new Error(\"Lexer matching doesn't applicable for custom properties\"));let E=this.checkPropertyName(j);return E?NA(null,E):Uj(this,this.getProperty(j),F,!0)}matchType(j,F){let E=this.getType(j);return E?Uj(this,E,F,!1):NA(null,new Rj(\"Unknown type\",j))}match(j,F){return typeof j!=\"string\"&&(!j||!j.type)?NA(null,new Rj(\"Bad syntax\")):((typeof j==\"string\"||!j.match)&&(j=this.createDescriptor(j,\"Type\",\"anonymous\")),Uj(this,j,F,!1))}findValueFragments(j,F,E,k){return j7(this,F,this.matchProperty(j,F),E,k)}findDeclarationValueFragments(j,F,E){return j7(this,j.value,this.matchDeclaration(j),F,E)}findAllFragments(j,F,E){let k=[];return this.syntax.walk(j,{visit:\"Declaration\",enter:G=>{k.push.apply(k,this.findDeclarationValueFragments(G,F,E))}}),k}getAtrule(j,F=!0){let E=cE(j);return(E.vendor&&F?this.atrules[E.name]||this.atrules[E.basename]:this.atrules[E.name])||null}getAtrulePrelude(j,F=!0){let E=this.getAtrule(j,F);return E&&E.prelude||null}getAtruleDescriptor(j,F){return this.atrules.hasOwnProperty(j)&&this.atrules.declarators&&this.atrules[j].declarators[F]||null}getProperty(j,F=!0){let E=gF(j);return(E.vendor&&F?this.properties[E.name]||this.properties[E.basename]:this.properties[E.name])||null}getType(j){return hasOwnProperty.call(this.types,j)?this.types[j]:null}validate(){function j(e,r){return r?`<${e}>`:`<'${e}'>`}function F(e,r,n,$){if(n.has(r))return n.get(r);n.set(r,!1),$.syntax!==null&&UF($.syntax,function(i){if(i.type!==\"Type\"&&i.type!==\"Property\")return;let s=i.type===\"Type\"?e.types:e.properties,o=i.type===\"Type\"?k:G;hasOwnProperty.call(s,i.name)?F(e,i.name,o,s[i.name])&&(E.push(`${j(r,n===k)} used broken syntax definition ${j(i.name,i.type===\"Type\")}`),n.set(r,!0)):(E.push(`${j(r,n===k)} used missed syntax definition ${j(i.name,i.type===\"Type\")}`),n.set(r,!0))},this)}let E=[],k=new Map,G=new Map;for(let e in this.types)F(this,e,k,this.types[e]);for(let e in this.properties)F(this,e,G,this.properties[e]);let t=[...k.keys()].filter(e=>k.get(e)),q=[...G.keys()].filter(e=>G.get(e));return t.length||q.length?{errors:E,types:t,properties:q}:null}dump(j,F){return{generic:this.generic,cssWideKeywords:this.cssWideKeywords,units:this.units,types:F7(this.types,!F,j),properties:F7(this.properties,!F,j),atrules:kn(this.atrules,!F,j)}}toString(){return JSON.stringify(this.dump())}};function k7(A,j){return typeof j==\"string\"&&/^\\s*\\|/.test(j)?typeof A==\"string\"?A+j:j.replace(/^\\s*\\|\\s*/,\"\"):j||null}function Ie(A,j){let F=Object.create(null);for(let[E,k]of Object.entries(A))if(k){F[E]={};for(let G of Object.keys(k))j.includes(G)&&(F[E][G]=k[G])}return F}function v6(A,j){let F={...A};for(let[E,k]of Object.entries(j))switch(E){case\"generic\":F[E]=!!k;break;case\"cssWideKeywords\":F[E]=A[E]?[...A[E],...k]:k||[];break;case\"units\":F[E]={...A[E]};for(let[G,t]of Object.entries(k))F[E][G]=Array.isArray(t)?t:[];break;case\"atrules\":F[E]={...A[E]};for(let[G,t]of Object.entries(k)){let q=F[E][G]||{},e=F[E][G]={prelude:q.prelude||null,descriptors:{...q.descriptors}};if(t){e.prelude=t.prelude?k7(e.prelude,t.prelude):e.prelude||null;for(let[r,n]of Object.entries(t.descriptors||{}))e.descriptors[r]=n?k7(e.descriptors[r],n):null;Object.keys(e.descriptors).length||(e.descriptors=null)}}break;case\"types\":case\"properties\":F[E]={...A[E]};for(let[G,t]of Object.entries(k))F[E][G]=k7(F[E][G],t);break;case\"scope\":case\"features\":F[E]={...A[E]};for(let[G,t]of Object.entries(k))F[E][G]={...F[E][G],...t};break;case\"parseContext\":F[E]={...A[E],...k};break;case\"atrule\":case\"pseudo\":F[E]={...A[E],...Ie(k,[\"parse\"])};break;case\"node\":F[E]={...A[E],...Ie(k,[\"name\",\"structure\",\"parse\",\"generate\",\"walkContext\"])};break}return F}function Ce(A){let j=Fr(A),F=Xr(A),E=vr(A),{fromPlainObject:k,toPlainObject:G}=mr(F),t={lexer:null,createLexer:q=>new Vj(q,t,t.lexer.structure),tokenize:$j,parse:j,generate:E,walk:F,find:F.find,findLast:F.findLast,findAll:F.findAll,fromPlainObject:k,toPlainObject:G,fork(q){let e=v6({},A);return Ce(typeof q==\"function\"?q(e):v6(e,q))}};return t.lexer=new Vj({generic:A.generic,cssWideKeywords:A.cssWideKeywords,units:A.units,types:A.types,atrules:A.atrules,properties:A.properties,node:A.node},t),t}var G7=A=>Ce(v6({},A));var ce={generic:!0,cssWideKeywords:[\"initial\",\"inherit\",\"unset\",\"revert\",\"revert-layer\"],units:{angle:[\"deg\",\"grad\",\"rad\",\"turn\"],decibel:[\"db\"],flex:[\"fr\"],frequency:[\"hz\",\"khz\"],length:[\"cm\",\"mm\",\"q\",\"in\",\"pt\",\"pc\",\"px\",\"em\",\"rem\",\"ex\",\"rex\",\"cap\",\"rcap\",\"ch\",\"rch\",\"ic\",\"ric\",\"lh\",\"rlh\",\"vw\",\"svw\",\"lvw\",\"dvw\",\"vh\",\"svh\",\"lvh\",\"dvh\",\"vi\",\"svi\",\"lvi\",\"dvi\",\"vb\",\"svb\",\"lvb\",\"dvb\",\"vmin\",\"svmin\",\"lvmin\",\"dvmin\",\"vmax\",\"svmax\",\"lvmax\",\"dvmax\",\"cqw\",\"cqh\",\"cqi\",\"cqb\",\"cqmin\",\"cqmax\"],resolution:[\"dpi\",\"dpcm\",\"dppx\",\"x\"],semitones:[\"st\"],time:[\"s\",\"ms\"]},types:{\"abs()\":\"abs( <calc-sum> )\",\"absolute-size\":\"xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large\",\"acos()\":\"acos( <calc-sum> )\",\"alpha-value\":\"<number>|<percentage>\",\"angle-percentage\":\"<angle>|<percentage>\",\"angular-color-hint\":\"<angle-percentage>\",\"angular-color-stop\":\"<color>&&<color-stop-angle>?\",\"angular-color-stop-list\":\"[<angular-color-stop> [, <angular-color-hint>]?]# , <angular-color-stop>\",\"animateable-feature\":\"scroll-position|contents|<custom-ident>\",\"asin()\":\"asin( <calc-sum> )\",\"atan()\":\"atan( <calc-sum> )\",\"atan2()\":\"atan2( <calc-sum> , <calc-sum> )\",attachment:\"scroll|fixed|local\",\"attr()\":\"attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )\",\"attr-matcher\":\"['~'|'|'|'^'|'$'|'*']? '='\",\"attr-modifier\":\"i|s\",\"attribute-selector\":\"'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'\",\"auto-repeat\":\"repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )\",\"auto-track-list\":\"[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?\",axis:\"block|inline|x|y\",\"baseline-position\":\"[first|last]? baseline\",\"basic-shape\":\"<inset()>|<xywh()>|<rect()>|<circle()>|<ellipse()>|<polygon()>|<path()>\",\"bg-image\":\"none|<image>\",\"bg-layer\":\"<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>\",\"bg-position\":\"[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]\",\"bg-size\":\"[<length-percentage>|auto]{1,2}|cover|contain\",\"blur()\":\"blur( <length> )\",\"blend-mode\":\"normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity\",box:\"border-box|padding-box|content-box\",\"brightness()\":\"brightness( <number-percentage> )\",\"calc()\":\"calc( <calc-sum> )\",\"calc-sum\":\"<calc-product> [['+'|'-'] <calc-product>]*\",\"calc-product\":\"<calc-value> ['*' <calc-value>|'/' <number>]*\",\"calc-value\":\"<number>|<dimension>|<percentage>|<calc-constant>|( <calc-sum> )\",\"calc-constant\":\"e|pi|infinity|-infinity|NaN\",\"cf-final-image\":\"<image>|<color>\",\"cf-mixing-image\":\"<percentage>?&&<image>\",\"circle()\":\"circle( [<shape-radius>]? [at <position>]? )\",\"clamp()\":\"clamp( <calc-sum>#{3} )\",\"class-selector\":\"'.' <ident-token>\",\"clip-source\":\"<url>\",color:\"<color-base>|currentColor|<system-color>|<device-cmyk()>|<light-dark()>|<-non-standard-color>\",\"color-stop\":\"<color-stop-length>|<color-stop-angle>\",\"color-stop-angle\":\"<angle-percentage>{1,2}\",\"color-stop-length\":\"<length-percentage>{1,2}\",\"color-stop-list\":\"[<linear-color-stop> [, <linear-color-hint>]?]# , <linear-color-stop>\",\"color-interpolation-method\":\"in [<rectangular-color-space>|<polar-color-space> <hue-interpolation-method>?|<custom-color-space>]\",combinator:\"'>'|'+'|'~'|['|' '|']\",\"common-lig-values\":\"[common-ligatures|no-common-ligatures]\",\"compat-auto\":\"searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button\",\"composite-style\":\"clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor\",\"compositing-operator\":\"add|subtract|intersect|exclude\",\"compound-selector\":\"[<type-selector>? <subclass-selector>*]!\",\"compound-selector-list\":\"<compound-selector>#\",\"complex-selector\":\"<complex-selector-unit> [<combinator>? <complex-selector-unit>]*\",\"complex-selector-list\":\"<complex-selector>#\",\"conic-gradient()\":\"conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )\",\"contextual-alt-values\":\"[contextual|no-contextual]\",\"content-distribution\":\"space-between|space-around|space-evenly|stretch\",\"content-list\":\"[<string>|contents|<image>|<counter>|<quote>|<target>|<leader()>|<attr()>]+\",\"content-position\":\"center|start|end|flex-start|flex-end\",\"content-replacement\":\"<image>\",\"contrast()\":\"contrast( [<number-percentage>] )\",\"cos()\":\"cos( <calc-sum> )\",counter:\"<counter()>|<counters()>\",\"counter()\":\"counter( <counter-name> , <counter-style>? )\",\"counter-name\":\"<custom-ident>\",\"counter-style\":\"<counter-style-name>|symbols( )\",\"counter-style-name\":\"<custom-ident>\",\"counters()\":\"counters( <counter-name> , <string> , <counter-style>? )\",\"cross-fade()\":\"cross-fade( <cf-mixing-image> , <cf-final-image>? )\",\"cubic-bezier-timing-function\":\"ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )\",\"deprecated-system-color\":\"ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText\",\"discretionary-lig-values\":\"[discretionary-ligatures|no-discretionary-ligatures]\",\"display-box\":\"contents|none\",\"display-inside\":\"flow|flow-root|table|flex|grid|ruby\",\"display-internal\":\"table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container\",\"display-legacy\":\"inline-block|inline-list-item|inline-table|inline-flex|inline-grid\",\"display-listitem\":\"<display-outside>?&&[flow|flow-root]?&&list-item\",\"display-outside\":\"block|inline|run-in\",\"drop-shadow()\":\"drop-shadow( <length>{2,3} <color>? )\",\"east-asian-variant-values\":\"[jis78|jis83|jis90|jis04|simplified|traditional]\",\"east-asian-width-values\":\"[full-width|proportional-width]\",\"element()\":\"element( <custom-ident> , [first|start|last|first-except]? )|element( <id-selector> )\",\"ellipse()\":\"ellipse( [<shape-radius>{2}]? [at <position>]? )\",\"ending-shape\":\"circle|ellipse\",\"env()\":\"env( <custom-ident> , <declaration-value>? )\",\"exp()\":\"exp( <calc-sum> )\",\"explicit-track-list\":\"[<line-names>? <track-size>]+ <line-names>?\",\"family-name\":\"<string>|<custom-ident>+\",\"feature-tag-value\":\"<string> [<integer>|on|off]?\",\"feature-type\":\"@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation\",\"feature-value-block\":\"<feature-type> '{' <feature-value-declaration-list> '}'\",\"feature-value-block-list\":\"<feature-value-block>+\",\"feature-value-declaration\":\"<custom-ident> : <integer>+ ;\",\"feature-value-declaration-list\":\"<feature-value-declaration>\",\"feature-value-name\":\"<custom-ident>\",\"fill-rule\":\"nonzero|evenodd\",\"filter-function\":\"<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>\",\"filter-function-list\":\"[<filter-function>|<url>]+\",\"final-bg-layer\":\"<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>\",\"fixed-breadth\":\"<length-percentage>\",\"fixed-repeat\":\"repeat( [<integer [1,\\u221E]>] , [<line-names>? <fixed-size>]+ <line-names>? )\",\"fixed-size\":\"<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )\",\"font-stretch-absolute\":\"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>\",\"font-variant-css21\":\"[normal|small-caps]\",\"font-weight-absolute\":\"normal|bold|<number [1,1000]>\",\"frequency-percentage\":\"<frequency>|<percentage>\",\"general-enclosed\":\"[<function-token> <any-value>? )]|[( <any-value>? )]\",\"generic-family\":\"<generic-script-specific>|<generic-complete>|<generic-incomplete>|<-non-standard-generic-family>\",\"generic-name\":\"serif|sans-serif|cursive|fantasy|monospace\",\"geometry-box\":\"<shape-box>|fill-box|stroke-box|view-box\",gradient:\"<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<repeating-conic-gradient()>|<-legacy-gradient>\",\"grayscale()\":\"grayscale( <number-percentage> )\",\"grid-line\":\"auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]\",\"historical-lig-values\":\"[historical-ligatures|no-historical-ligatures]\",\"hsl()\":\"hsl( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )\",\"hsla()\":\"hsla( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )\",hue:\"<number>|<angle>\",\"hue-rotate()\":\"hue-rotate( <angle> )\",\"hue-interpolation-method\":\"[shorter|longer|increasing|decreasing] hue\",\"hwb()\":\"hwb( [<hue>|none] [<percentage>|none] [<percentage>|none] [/ [<alpha-value>|none]]? )\",\"hypot()\":\"hypot( <calc-sum># )\",image:\"<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>\",\"image()\":\"image( <image-tags>? [<image-src>? , <color>?]! )\",\"image-set()\":\"image-set( <image-set-option># )\",\"image-set-option\":\"[<image>|<string>] [<resolution>||type( <string> )]\",\"image-src\":\"<url>|<string>\",\"image-tags\":\"ltr|rtl\",\"inflexible-breadth\":\"<length-percentage>|min-content|max-content|auto\",\"inset()\":\"inset( <length-percentage>{1,4} [round <'border-radius'>]? )\",\"invert()\":\"invert( <number-percentage> )\",\"keyframes-name\":\"<custom-ident>|<string>\",\"keyframe-block\":\"<keyframe-selector># { <declaration-list> }\",\"keyframe-block-list\":\"<keyframe-block>+\",\"keyframe-selector\":\"from|to|<percentage>|<timeline-range-name> <percentage>\",\"lab()\":\"lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )\",\"layer()\":\"layer( <layer-name> )\",\"layer-name\":\"<ident> ['.' <ident>]*\",\"lch()\":\"lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )\",\"leader()\":\"leader( <leader-type> )\",\"leader-type\":\"dotted|solid|space|<string>\",\"length-percentage\":\"<length>|<percentage>\",\"light-dark()\":\"light-dark( <color> , <color> )\",\"line-names\":\"'[' <custom-ident>* ']'\",\"line-name-list\":\"[<line-names>|<name-repeat>]+\",\"line-style\":\"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset\",\"line-width\":\"<length>|thin|medium|thick\",\"linear-color-hint\":\"<length-percentage>\",\"linear-color-stop\":\"<color> <color-stop-length>?\",\"linear-gradient()\":\"linear-gradient( [[<angle>|to <side-or-corner>]||<color-interpolation-method>]? , <color-stop-list> )\",\"log()\":\"log( <calc-sum> , <calc-sum>? )\",\"mask-layer\":\"<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>\",\"mask-position\":\"[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?\",\"mask-reference\":\"none|<image>|<mask-source>\",\"mask-source\":\"<url>\",\"masking-mode\":\"alpha|luminance|match-source\",\"matrix()\":\"matrix( <number>#{6} )\",\"matrix3d()\":\"matrix3d( <number>#{16} )\",\"max()\":\"max( <calc-sum># )\",\"media-and\":\"<media-in-parens> [and <media-in-parens>]+\",\"media-condition\":\"<media-not>|<media-and>|<media-or>|<media-in-parens>\",\"media-condition-without-or\":\"<media-not>|<media-and>|<media-in-parens>\",\"media-feature\":\"( [<mf-plain>|<mf-boolean>|<mf-range>] )\",\"media-in-parens\":\"( <media-condition> )|<media-feature>|<general-enclosed>\",\"media-not\":\"not <media-in-parens>\",\"media-or\":\"<media-in-parens> [or <media-in-parens>]+\",\"media-query\":\"<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?\",\"media-query-list\":\"<media-query>#\",\"media-type\":\"<ident>\",\"mf-boolean\":\"<mf-name>\",\"mf-name\":\"<ident>\",\"mf-plain\":\"<mf-name> : <mf-value>\",\"mf-range\":\"<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>\",\"mf-value\":\"<number>|<dimension>|<ident>|<ratio>\",\"min()\":\"min( <calc-sum># )\",\"minmax()\":\"minmax( [<length-percentage>|min-content|max-content|auto] , [<length-percentage>|<flex>|min-content|max-content|auto] )\",\"mod()\":\"mod( <calc-sum> , <calc-sum> )\",\"name-repeat\":\"repeat( [<integer [1,\\u221E]>|auto-fill] , <line-names>+ )\",\"named-color\":\"transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen\",\"namespace-prefix\":\"<ident>\",\"ns-prefix\":\"[<ident-token>|'*']? '|'\",\"number-percentage\":\"<number>|<percentage>\",\"numeric-figure-values\":\"[lining-nums|oldstyle-nums]\",\"numeric-fraction-values\":\"[diagonal-fractions|stacked-fractions]\",\"numeric-spacing-values\":\"[proportional-nums|tabular-nums]\",nth:\"<an-plus-b>|even|odd\",\"opacity()\":\"opacity( [<number-percentage>] )\",\"overflow-position\":\"unsafe|safe\",\"outline-radius\":\"<length>|<percentage>\",\"page-body\":\"<declaration>? [; <page-body>]?|<page-margin-box> <page-body>\",\"page-margin-box\":\"<page-margin-box-type> '{' <declaration-list> '}'\",\"page-margin-box-type\":\"@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom\",\"page-selector-list\":\"[<page-selector>#]?\",\"page-selector\":\"<pseudo-page>+|<ident> <pseudo-page>*\",\"page-size\":\"A5|A4|A3|B5|B4|JIS-B5|JIS-B4|letter|legal|ledger\",\"path()\":\"path( [<fill-rule> ,]? <string> )\",\"paint()\":\"paint( <ident> , <declaration-value>? )\",\"perspective()\":\"perspective( [<length [0,\\u221E]>|none] )\",\"polygon()\":\"polygon( <fill-rule>? , [<length-percentage> <length-percentage>]# )\",\"polar-color-space\":\"hsl|hwb|lch|oklch\",position:\"[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]\",\"pow()\":\"pow( <calc-sum> , <calc-sum> )\",\"pseudo-class-selector\":\"':' <ident-token>|':' <function-token> <any-value> ')'\",\"pseudo-element-selector\":\"':' <pseudo-class-selector>|<legacy-pseudo-element-selector>\",\"pseudo-page\":\": [left|right|first|blank]\",quote:\"open-quote|close-quote|no-open-quote|no-close-quote\",\"radial-gradient()\":\"radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )\",ratio:\"<number [0,\\u221E]> [/ <number [0,\\u221E]>]?\",\"ray()\":\"ray( <angle>&&<ray-size>?&&contain?&&[at <position>]? )\",\"ray-size\":\"closest-side|closest-corner|farthest-side|farthest-corner|sides\",\"rectangular-color-space\":\"srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|lab|oklab|xyz|xyz-d50|xyz-d65\",\"relative-selector\":\"<combinator>? <complex-selector>\",\"relative-selector-list\":\"<relative-selector>#\",\"relative-size\":\"larger|smaller\",\"rem()\":\"rem( <calc-sum> , <calc-sum> )\",\"repeat-style\":\"repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}\",\"repeating-conic-gradient()\":\"repeating-conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )\",\"repeating-linear-gradient()\":\"repeating-linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )\",\"repeating-radial-gradient()\":\"repeating-radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )\",\"reversed-counter-name\":\"reversed( <counter-name> )\",\"rgb()\":\"rgb( <percentage>{3} [/ <alpha-value>]? )|rgb( <number>{3} [/ <alpha-value>]? )|rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )\",\"rgba()\":\"rgba( <percentage>{3} [/ <alpha-value>]? )|rgba( <number>{3} [/ <alpha-value>]? )|rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )\",\"rotate()\":\"rotate( [<angle>|<zero>] )\",\"rotate3d()\":\"rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )\",\"rotateX()\":\"rotateX( [<angle>|<zero>] )\",\"rotateY()\":\"rotateY( [<angle>|<zero>] )\",\"rotateZ()\":\"rotateZ( [<angle>|<zero>] )\",\"round()\":\"round( <rounding-strategy>? , <calc-sum> , <calc-sum> )\",\"rounding-strategy\":\"nearest|up|down|to-zero\",\"saturate()\":\"saturate( <number-percentage> )\",\"scale()\":\"scale( [<number>|<percentage>]#{1,2} )\",\"scale3d()\":\"scale3d( [<number>|<percentage>]#{3} )\",\"scaleX()\":\"scaleX( [<number>|<percentage>] )\",\"scaleY()\":\"scaleY( [<number>|<percentage>] )\",\"scaleZ()\":\"scaleZ( [<number>|<percentage>] )\",\"scroll()\":\"scroll( [<axis>||<scroller>]? )\",scroller:\"root|nearest|self\",\"self-position\":\"center|start|end|self-start|self-end|flex-start|flex-end\",\"shape-radius\":\"<length-percentage>|closest-side|farthest-side\",\"sign()\":\"sign( <calc-sum> )\",\"skew()\":\"skew( [<angle>|<zero>] , [<angle>|<zero>]? )\",\"skewX()\":\"skewX( [<angle>|<zero>] )\",\"skewY()\":\"skewY( [<angle>|<zero>] )\",\"sepia()\":\"sepia( <number-percentage> )\",shadow:\"inset?&&<length>{2,4}&&<color>?\",\"shadow-t\":\"[<length>{2,3}&&<color>?]\",shape:\"rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )\",\"shape-box\":\"<box>|margin-box\",\"side-or-corner\":\"[left|right]||[top|bottom]\",\"sin()\":\"sin( <calc-sum> )\",\"single-animation\":\"<'animation-duration'>||<easing-function>||<'animation-delay'>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]||<single-animation-timeline>\",\"single-animation-direction\":\"normal|reverse|alternate|alternate-reverse\",\"single-animation-fill-mode\":\"none|forwards|backwards|both\",\"single-animation-iteration-count\":\"infinite|<number>\",\"single-animation-play-state\":\"running|paused\",\"single-animation-timeline\":\"auto|none|<dashed-ident>|<scroll()>|<view()>\",\"single-transition\":\"[none|<single-transition-property>]||<time>||<easing-function>||<time>||<transition-behavior-value>\",\"single-transition-property\":\"all|<custom-ident>\",size:\"closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}\",\"sqrt()\":\"sqrt( <calc-sum> )\",\"step-position\":\"jump-start|jump-end|jump-none|jump-both|start|end\",\"step-timing-function\":\"step-start|step-end|steps( <integer> [, <step-position>]? )\",\"subclass-selector\":\"<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>\",\"supports-condition\":\"not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*\",\"supports-in-parens\":\"( <supports-condition> )|<supports-feature>|<general-enclosed>\",\"supports-feature\":\"<supports-decl>|<supports-selector-fn>\",\"supports-decl\":\"( <declaration> )\",\"supports-selector-fn\":\"selector( <complex-selector> )\",symbol:\"<string>|<image>|<custom-ident>\",\"system-color\":\"AccentColor|AccentColorText|ActiveText|ButtonBorder|ButtonFace|ButtonText|Canvas|CanvasText|Field|FieldText|GrayText|Highlight|HighlightText|LinkText|Mark|MarkText|SelectedItem|SelectedItemText|VisitedText\",\"tan()\":\"tan( <calc-sum> )\",target:\"<target-counter()>|<target-counters()>|<target-text()>\",\"target-counter()\":\"target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )\",\"target-counters()\":\"target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )\",\"target-text()\":\"target-text( [<string>|<url>] , [content|before|after|first-letter]? )\",\"time-percentage\":\"<time>|<percentage>\",\"timeline-range-name\":\"cover|contain|entry|exit|entry-crossing|exit-crossing\",\"easing-function\":\"linear|<cubic-bezier-timing-function>|<step-timing-function>\",\"track-breadth\":\"<length-percentage>|<flex>|min-content|max-content|auto\",\"track-list\":\"[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?\",\"track-repeat\":\"repeat( [<integer [1,\\u221E]>] , [<line-names>? <track-size>]+ <line-names>? )\",\"track-size\":\"<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( <length-percentage> )\",\"transform-function\":\"<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>\",\"transform-list\":\"<transform-function>+\",\"transition-behavior-value\":\"normal|allow-discrete\",\"translate()\":\"translate( <length-percentage> , <length-percentage>? )\",\"translate3d()\":\"translate3d( <length-percentage> , <length-percentage> , <length> )\",\"translateX()\":\"translateX( <length-percentage> )\",\"translateY()\":\"translateY( <length-percentage> )\",\"translateZ()\":\"translateZ( <length> )\",\"type-or-unit\":\"string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%\",\"type-selector\":\"<wq-name>|<ns-prefix>? '*'\",\"var()\":\"var( <custom-property-name> , <declaration-value>? )\",\"view()\":\"view( [<axis>||<'view-timeline-inset'>]? )\",\"viewport-length\":\"auto|<length-percentage>\",\"visual-box\":\"content-box|padding-box|border-box\",\"wq-name\":\"<ns-prefix>? <ident-token>\",\"-legacy-gradient\":\"<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>\",\"-legacy-linear-gradient\":\"-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )\",\"-legacy-repeating-linear-gradient\":\"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )\",\"-legacy-linear-gradient-arguments\":\"[<angle>|<side-or-corner>]? , <color-stop-list>\",\"-legacy-radial-gradient\":\"-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )\",\"-legacy-repeating-radial-gradient\":\"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )\",\"-legacy-radial-gradient-arguments\":\"[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>\",\"-legacy-radial-gradient-size\":\"closest-side|closest-corner|farthest-side|farthest-corner|contain|cover\",\"-legacy-radial-gradient-shape\":\"circle|ellipse\",\"-non-standard-font\":\"-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body\",\"-non-standard-color\":\"-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text\",\"-non-standard-image-rendering\":\"optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast\",\"-non-standard-overflow\":\"overlay|-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable\",\"-non-standard-size\":\"intrinsic|min-intrinsic|-webkit-fill-available|-webkit-fit-content|-webkit-min-content|-webkit-max-content|-moz-available|-moz-fit-content|-moz-min-content|-moz-max-content\",\"-webkit-gradient()\":\"-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )\",\"-webkit-gradient-color-stop\":\"from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )\",\"-webkit-gradient-point\":\"[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]\",\"-webkit-gradient-radius\":\"<length>|<percentage>\",\"-webkit-gradient-type\":\"linear|radial\",\"-webkit-mask-box-repeat\":\"repeat|stretch|round\",\"-ms-filter-function-list\":\"<-ms-filter-function>+\",\"-ms-filter-function\":\"<-ms-filter-function-progid>|<-ms-filter-function-legacy>\",\"-ms-filter-function-progid\":\"'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]\",\"-ms-filter-function-legacy\":\"<ident-token>|<function-token> <any-value>? )\",\"absolute-color-base\":\"<hex-color>|<absolute-color-function>|<named-color>|transparent\",\"absolute-color-function\":\"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<oklab()>|<oklch()>|<color()>\",age:\"child|young|old\",\"anchor-name\":\"<dashed-ident>\",\"attr-name\":\"<wq-name>\",\"attr-fallback\":\"<any-value>\",\"bg-clip\":\"<box>|border|text\",bottom:\"<length>|auto\",\"container-name\":\"<custom-ident>\",\"container-condition\":\"not <query-in-parens>|<query-in-parens> [[and <query-in-parens>]*|[or <query-in-parens>]*]\",\"coord-box\":\"content-box|padding-box|border-box|fill-box|stroke-box|view-box\",\"generic-voice\":\"[<age>? <gender> <integer>?]\",gender:\"male|female|neutral\",\"generic-script-specific\":\"generic( kai )|generic( fangsong )|generic( nastaliq )\",\"generic-complete\":\"serif|sans-serif|system-ui|cursive|fantasy|math|monospace\",\"generic-incomplete\":\"ui-serif|ui-sans-serif|ui-monospace|ui-rounded\",\"-non-standard-generic-family\":\"-apple-system|BlinkMacSystemFont\",left:\"<length>|auto\",\"color-base\":\"<hex-color>|<color-function>|<named-color>|<color-mix()>|transparent\",\"color-function\":\"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<oklab()>|<oklch()>|<color()>\",\"device-cmyk()\":\"<legacy-device-cmyk-syntax>|<modern-device-cmyk-syntax>\",\"legacy-device-cmyk-syntax\":\"device-cmyk( <number>#{4} )\",\"modern-device-cmyk-syntax\":\"device-cmyk( <cmyk-component>{4} [/ [<alpha-value>|none]]? )\",\"cmyk-component\":\"<number>|<percentage>|none\",\"color-mix()\":\"color-mix( <color-interpolation-method> , [<color>&&<percentage [0,100]>?]#{2} )\",\"color-space\":\"<rectangular-color-space>|<polar-color-space>|<custom-color-space>\",\"custom-color-space\":\"<dashed-ident>\",paint:\"none|<color>|<url> [none|<color>]?|context-fill|context-stroke\",\"palette-identifier\":\"<dashed-ident>\",right:\"<length>|auto\",\"scope-start\":\"<forgiving-selector-list>\",\"scope-end\":\"<forgiving-selector-list>\",\"forgiving-selector-list\":\"<complex-real-selector-list>\",\"forgiving-relative-selector-list\":\"<relative-real-selector-list>\",\"selector-list\":\"<complex-selector-list>\",\"complex-real-selector-list\":\"<complex-real-selector>#\",\"simple-selector-list\":\"<simple-selector>#\",\"relative-real-selector-list\":\"<relative-real-selector>#\",\"complex-selector-unit\":\"[<compound-selector>? <pseudo-compound-selector>*]!\",\"complex-real-selector\":\"<compound-selector> [<combinator>? <compound-selector>]*\",\"relative-real-selector\":\"<combinator>? <complex-real-selector>\",\"pseudo-compound-selector\":\"<pseudo-element-selector> <pseudo-class-selector>*\",\"simple-selector\":\"<type-selector>|<subclass-selector>\",\"legacy-pseudo-element-selector\":\"':' [before|after|first-line|first-letter]\",\"single-animation-composition\":\"replace|add|accumulate\",\"svg-length\":\"<percentage>|<length>|<number>\",\"svg-writing-mode\":\"lr-tb|rl-tb|tb-rl|lr|rl|tb\",top:\"<length>|auto\",x:\"<number>\",y:\"<number>\",declaration:\"<ident-token> : <declaration-value>? ['!' important]?\",\"declaration-list\":\"[<declaration>? ';']* <declaration>?\",url:\"url( <string> <url-modifier>* )|<url-token>\",\"url-modifier\":\"<ident>|<function-token> <any-value> )\",\"number-zero-one\":\"<number [0,1]>\",\"number-one-or-greater\":\"<number [1,\\u221E]>\",\"color()\":\"color( <colorspace-params> [/ [<alpha-value>|none]]? )\",\"colorspace-params\":\"[<predefined-rgb-params>|<xyz-params>]\",\"predefined-rgb-params\":\"<predefined-rgb> [<number>|<percentage>|none]{3}\",\"predefined-rgb\":\"srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020\",\"xyz-params\":\"<xyz-space> [<number>|<percentage>|none]{3}\",\"xyz-space\":\"xyz|xyz-d50|xyz-d65\",\"oklab()\":\"oklab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )\",\"oklch()\":\"oklch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )\",\"offset-path\":\"<ray()>|<url>|<basic-shape>\",\"rect()\":\"rect( [<length-percentage>|auto]{4} [round <'border-radius'>]? )\",\"xywh()\":\"xywh( <length-percentage>{2} <length-percentage [0,\\u221E]>{2} [round <'border-radius'>]? )\",\"query-in-parens\":\"( <container-condition> )|( <size-feature> )|style( <style-query> )|<general-enclosed>\",\"size-feature\":\"<mf-plain>|<mf-boolean>|<mf-range>\",\"style-feature\":\"<declaration>\",\"style-query\":\"<style-condition>|<style-feature>\",\"style-condition\":\"not <style-in-parens>|<style-in-parens> [[and <style-in-parens>]*|[or <style-in-parens>]*]\",\"style-in-parens\":\"( <style-condition> )|( <style-feature> )|<general-enclosed>\",\"-non-standard-display\":\"-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box\",\"inset-area\":\"[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]\",\"position-area\":\"[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|center|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|center|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]\",\"anchor()\":\"anchor( <anchor-element>?&&<anchor-side> , <length-percentage>? )\",\"anchor-side\":\"inside|outside|top|left|right|bottom|start|end|self-start|self-end|<percentage>|center\",\"anchor-size()\":\"anchor-size( [<anchor-element>||<anchor-size>]? , <length-percentage>? )\",\"anchor-size\":\"width|height|block|inline|self-block|self-inline\",\"anchor-element\":\"<dashed-ident>\",\"try-size\":\"most-width|most-height|most-block-size|most-inline-size\",\"try-tactic\":\"flip-block||flip-inline||flip-start\",\"font-variant-css2\":\"normal|small-caps\",\"font-width-css3\":\"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded\",\"system-family-name\":\"caption|icon|menu|message-box|small-caption|status-bar\"},properties:{\"--*\":\"<declaration-value>\",\"-ms-accelerator\":\"false|true\",\"-ms-block-progression\":\"tb|rl|bt|lr\",\"-ms-content-zoom-chaining\":\"none|chained\",\"-ms-content-zooming\":\"none|zoom\",\"-ms-content-zoom-limit\":\"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>\",\"-ms-content-zoom-limit-max\":\"<percentage>\",\"-ms-content-zoom-limit-min\":\"<percentage>\",\"-ms-content-zoom-snap\":\"<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>\",\"-ms-content-zoom-snap-points\":\"snapInterval( <percentage> , <percentage> )|snapList( <percentage># )\",\"-ms-content-zoom-snap-type\":\"none|proximity|mandatory\",\"-ms-filter\":\"<string>\",\"-ms-flow-from\":\"[none|<custom-ident>]#\",\"-ms-flow-into\":\"[none|<custom-ident>]#\",\"-ms-grid-columns\":\"none|<track-list>|<auto-track-list>\",\"-ms-grid-rows\":\"none|<track-list>|<auto-track-list>\",\"-ms-high-contrast-adjust\":\"auto|none\",\"-ms-hyphenate-limit-chars\":\"auto|<integer>{1,3}\",\"-ms-hyphenate-limit-lines\":\"no-limit|<integer>\",\"-ms-hyphenate-limit-zone\":\"<percentage>|<length>\",\"-ms-ime-align\":\"auto|after\",\"-ms-overflow-style\":\"auto|none|scrollbar|-ms-autohiding-scrollbar\",\"-ms-scrollbar-3dlight-color\":\"<color>\",\"-ms-scrollbar-arrow-color\":\"<color>\",\"-ms-scrollbar-base-color\":\"<color>\",\"-ms-scrollbar-darkshadow-color\":\"<color>\",\"-ms-scrollbar-face-color\":\"<color>\",\"-ms-scrollbar-highlight-color\":\"<color>\",\"-ms-scrollbar-shadow-color\":\"<color>\",\"-ms-scrollbar-track-color\":\"<color>\",\"-ms-scroll-chaining\":\"chained|none\",\"-ms-scroll-limit\":\"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>\",\"-ms-scroll-limit-x-max\":\"auto|<length>\",\"-ms-scroll-limit-x-min\":\"<length>\",\"-ms-scroll-limit-y-max\":\"auto|<length>\",\"-ms-scroll-limit-y-min\":\"<length>\",\"-ms-scroll-rails\":\"none|railed\",\"-ms-scroll-snap-points-x\":\"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )\",\"-ms-scroll-snap-points-y\":\"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )\",\"-ms-scroll-snap-type\":\"none|proximity|mandatory\",\"-ms-scroll-snap-x\":\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>\",\"-ms-scroll-snap-y\":\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>\",\"-ms-scroll-translation\":\"none|vertical-to-horizontal\",\"-ms-text-autospace\":\"none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space\",\"-ms-touch-select\":\"grippers|none\",\"-ms-user-select\":\"none|element|text\",\"-ms-wrap-flow\":\"auto|both|start|end|maximum|clear\",\"-ms-wrap-margin\":\"<length>\",\"-ms-wrap-through\":\"wrap|none\",\"-moz-appearance\":\"none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized\",\"-moz-binding\":\"<url>|none\",\"-moz-border-bottom-colors\":\"<color>+|none\",\"-moz-border-left-colors\":\"<color>+|none\",\"-moz-border-right-colors\":\"<color>+|none\",\"-moz-border-top-colors\":\"<color>+|none\",\"-moz-context-properties\":\"none|[fill|fill-opacity|stroke|stroke-opacity]#\",\"-moz-float-edge\":\"border-box|content-box|margin-box|padding-box\",\"-moz-force-broken-image-icon\":\"0|1\",\"-moz-image-region\":\"<shape>|auto\",\"-moz-orient\":\"inline|block|horizontal|vertical\",\"-moz-outline-radius\":\"<outline-radius>{1,4} [/ <outline-radius>{1,4}]?\",\"-moz-outline-radius-bottomleft\":\"<outline-radius>\",\"-moz-outline-radius-bottomright\":\"<outline-radius>\",\"-moz-outline-radius-topleft\":\"<outline-radius>\",\"-moz-outline-radius-topright\":\"<outline-radius>\",\"-moz-stack-sizing\":\"ignore|stretch-to-fit\",\"-moz-text-blink\":\"none|blink\",\"-moz-user-focus\":\"ignore|normal|select-after|select-before|select-menu|select-same|select-all|none\",\"-moz-user-input\":\"auto|none|enabled|disabled\",\"-moz-user-modify\":\"read-only|read-write|write-only\",\"-moz-window-dragging\":\"drag|no-drag\",\"-moz-window-shadow\":\"default|menu|tooltip|sheet|none\",\"-webkit-appearance\":\"none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|inner-spin-button|listbox|listitem|media-controls-background|media-controls-fullscreen-background|media-current-time-display|media-enter-fullscreen-button|media-exit-fullscreen-button|media-fullscreen-button|media-mute-button|media-overlay-play-button|media-play-button|media-seek-back-button|media-seek-forward-button|media-slider|media-sliderthumb|media-time-remaining-display|media-toggle-closed-captions-button|media-volume-slider|media-volume-slider-container|media-volume-sliderthumb|menulist|menulist-button|menulist-text|menulist-textfield|meter|progress-bar|progress-bar-value|push-button|radio|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbargripper-horizontal|scrollbargripper-vertical|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|searchfield-cancel-button|searchfield-decoration|searchfield-results-button|searchfield-results-decoration|slider-horizontal|slider-vertical|sliderthumb-horizontal|sliderthumb-vertical|square-button|textarea|textfield|-apple-pay-button\",\"-webkit-border-before\":\"<'border-width'>||<'border-style'>||<color>\",\"-webkit-border-before-color\":\"<color>\",\"-webkit-border-before-style\":\"<'border-style'>\",\"-webkit-border-before-width\":\"<'border-width'>\",\"-webkit-box-reflect\":\"[above|below|right|left]? <length>? <image>?\",\"-webkit-line-clamp\":\"none|<integer>\",\"-webkit-mask\":\"[<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||[<box>|border|padding|content|text]||[<box>|border|padding|content]]#\",\"-webkit-mask-attachment\":\"<attachment>#\",\"-webkit-mask-clip\":\"[<box>|border|padding|content|text]#\",\"-webkit-mask-composite\":\"<composite-style>#\",\"-webkit-mask-image\":\"<mask-reference>#\",\"-webkit-mask-origin\":\"[<box>|border|padding|content]#\",\"-webkit-mask-position\":\"<position>#\",\"-webkit-mask-position-x\":\"[<length-percentage>|left|center|right]#\",\"-webkit-mask-position-y\":\"[<length-percentage>|top|center|bottom]#\",\"-webkit-mask-repeat\":\"<repeat-style>#\",\"-webkit-mask-repeat-x\":\"repeat|no-repeat|space|round\",\"-webkit-mask-repeat-y\":\"repeat|no-repeat|space|round\",\"-webkit-mask-size\":\"<bg-size>#\",\"-webkit-overflow-scrolling\":\"auto|touch\",\"-webkit-tap-highlight-color\":\"<color>\",\"-webkit-text-fill-color\":\"<color>\",\"-webkit-text-stroke\":\"<length>||<color>\",\"-webkit-text-stroke-color\":\"<color>\",\"-webkit-text-stroke-width\":\"<length>\",\"-webkit-touch-callout\":\"default|none\",\"-webkit-user-modify\":\"read-only|read-write|read-write-plaintext-only\",\"accent-color\":\"auto|<color>\",\"align-content\":\"normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>\",\"align-items\":\"normal|stretch|<baseline-position>|[<overflow-position>? <self-position>]\",\"align-self\":\"auto|normal|stretch|<baseline-position>|<overflow-position>? <self-position>\",\"align-tracks\":\"[normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>]#\",all:\"initial|inherit|unset|revert|revert-layer\",\"anchor-name\":\"none|<dashed-ident>#\",\"anchor-scope\":\"none|all|<dashed-ident>#\",animation:\"<single-animation>#\",\"animation-composition\":\"<single-animation-composition>#\",\"animation-delay\":\"<time>#\",\"animation-direction\":\"<single-animation-direction>#\",\"animation-duration\":\"<time>#\",\"animation-fill-mode\":\"<single-animation-fill-mode>#\",\"animation-iteration-count\":\"<single-animation-iteration-count>#\",\"animation-name\":\"[none|<keyframes-name>]#\",\"animation-play-state\":\"<single-animation-play-state>#\",\"animation-range\":\"[<'animation-range-start'> <'animation-range-end'>?]#\",\"animation-range-end\":\"[normal|<length-percentage>|<timeline-range-name> <length-percentage>?]#\",\"animation-range-start\":\"[normal|<length-percentage>|<timeline-range-name> <length-percentage>?]#\",\"animation-timing-function\":\"<easing-function>#\",\"animation-timeline\":\"<single-animation-timeline>#\",appearance:\"none|auto|textfield|menulist-button|<compat-auto>\",\"aspect-ratio\":\"auto||<ratio>\",azimuth:\"<angle>|[[left-side|far-left|left|center-left|center|center-right|right|far-right|right-side]||behind]|leftwards|rightwards\",\"backdrop-filter\":\"none|<filter-function-list>\",\"backface-visibility\":\"visible|hidden\",background:\"[<bg-layer> ,]* <final-bg-layer>\",\"background-attachment\":\"<attachment>#\",\"background-blend-mode\":\"<blend-mode>#\",\"background-clip\":\"<bg-clip>#\",\"background-color\":\"<color>\",\"background-image\":\"<bg-image>#\",\"background-origin\":\"<box>#\",\"background-position\":\"<bg-position>#\",\"background-position-x\":\"[center|[[left|right|x-start|x-end]? <length-percentage>?]!]#\",\"background-position-y\":\"[center|[[top|bottom|y-start|y-end]? <length-percentage>?]!]#\",\"background-repeat\":\"<repeat-style>#\",\"background-size\":\"<bg-size>#\",\"block-size\":\"<'width'>\",border:\"<line-width>||<line-style>||<color>\",\"border-block\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-color\":\"<'border-top-color'>{1,2}\",\"border-block-style\":\"<'border-top-style'>\",\"border-block-width\":\"<'border-top-width'>\",\"border-block-end\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-end-color\":\"<'border-top-color'>\",\"border-block-end-style\":\"<'border-top-style'>\",\"border-block-end-width\":\"<'border-top-width'>\",\"border-block-start\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-start-color\":\"<'border-top-color'>\",\"border-block-start-style\":\"<'border-top-style'>\",\"border-block-start-width\":\"<'border-top-width'>\",\"border-bottom\":\"<line-width>||<line-style>||<color>\",\"border-bottom-color\":\"<'border-top-color'>\",\"border-bottom-left-radius\":\"<length-percentage>{1,2}\",\"border-bottom-right-radius\":\"<length-percentage>{1,2}\",\"border-bottom-style\":\"<line-style>\",\"border-bottom-width\":\"<line-width>\",\"border-collapse\":\"collapse|separate\",\"border-color\":\"<color>{1,4}\",\"border-end-end-radius\":\"<length-percentage>{1,2}\",\"border-end-start-radius\":\"<length-percentage>{1,2}\",\"border-image\":\"<'border-image-source'>||<'border-image-slice'> [/ <'border-image-width'>|/ <'border-image-width'>? / <'border-image-outset'>]?||<'border-image-repeat'>\",\"border-image-outset\":\"[<length>|<number>]{1,4}\",\"border-image-repeat\":\"[stretch|repeat|round|space]{1,2}\",\"border-image-slice\":\"<number-percentage>{1,4}&&fill?\",\"border-image-source\":\"none|<image>\",\"border-image-width\":\"[<length-percentage>|<number>|auto]{1,4}\",\"border-inline\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-end\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-color\":\"<'border-top-color'>{1,2}\",\"border-inline-style\":\"<'border-top-style'>\",\"border-inline-width\":\"<'border-top-width'>\",\"border-inline-end-color\":\"<'border-top-color'>\",\"border-inline-end-style\":\"<'border-top-style'>\",\"border-inline-end-width\":\"<'border-top-width'>\",\"border-inline-start\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-start-color\":\"<'border-top-color'>\",\"border-inline-start-style\":\"<'border-top-style'>\",\"border-inline-start-width\":\"<'border-top-width'>\",\"border-left\":\"<line-width>||<line-style>||<color>\",\"border-left-color\":\"<color>\",\"border-left-style\":\"<line-style>\",\"border-left-width\":\"<line-width>\",\"border-radius\":\"<length-percentage>{1,4} [/ <length-percentage>{1,4}]?\",\"border-right\":\"<line-width>||<line-style>||<color>\",\"border-right-color\":\"<color>\",\"border-right-style\":\"<line-style>\",\"border-right-width\":\"<line-width>\",\"border-spacing\":\"<length> <length>?\",\"border-start-end-radius\":\"<length-percentage>{1,2}\",\"border-start-start-radius\":\"<length-percentage>{1,2}\",\"border-style\":\"<line-style>{1,4}\",\"border-top\":\"<line-width>||<line-style>||<color>\",\"border-top-color\":\"<color>\",\"border-top-left-radius\":\"<length-percentage>{1,2}\",\"border-top-right-radius\":\"<length-percentage>{1,2}\",\"border-top-style\":\"<line-style>\",\"border-top-width\":\"<line-width>\",\"border-width\":\"<line-width>{1,4}\",bottom:\"<length>|<percentage>|auto\",\"box-align\":\"start|center|end|baseline|stretch\",\"box-decoration-break\":\"slice|clone\",\"box-direction\":\"normal|reverse|inherit\",\"box-flex\":\"<number>\",\"box-flex-group\":\"<integer>\",\"box-lines\":\"single|multiple\",\"box-ordinal-group\":\"<integer>\",\"box-orient\":\"horizontal|vertical|inline-axis|block-axis|inherit\",\"box-pack\":\"start|center|end|justify\",\"box-shadow\":\"none|<shadow>#\",\"box-sizing\":\"content-box|border-box\",\"break-after\":\"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region\",\"break-before\":\"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region\",\"break-inside\":\"auto|avoid|avoid-page|avoid-column|avoid-region\",\"caption-side\":\"top|bottom|block-start|block-end|inline-start|inline-end\",caret:\"<'caret-color'>||<'caret-shape'>\",\"caret-color\":\"auto|<color>\",\"caret-shape\":\"auto|bar|block|underscore\",clear:\"none|left|right|both|inline-start|inline-end\",clip:\"<shape>|auto\",\"clip-path\":\"<clip-source>|[<basic-shape>||<geometry-box>]|none\",\"clip-rule\":\"nonzero|evenodd\",color:\"<color>\",\"color-interpolation-filters\":\"auto|sRGB|linearRGB\",\"color-scheme\":\"normal|[light|dark|<custom-ident>]+&&only?\",\"column-count\":\"<integer>|auto\",\"column-fill\":\"auto|balance\",\"column-gap\":\"normal|<length-percentage>\",\"column-rule\":\"<'column-rule-width'>||<'column-rule-style'>||<'column-rule-color'>\",\"column-rule-color\":\"<color>\",\"column-rule-style\":\"<'border-style'>\",\"column-rule-width\":\"<'border-width'>\",\"column-span\":\"none|all\",\"column-width\":\"<length>|auto\",columns:\"<'column-width'>||<'column-count'>\",contain:\"none|strict|content|[[size||inline-size]||layout||style||paint]\",\"contain-intrinsic-size\":\"[auto? [none|<length>]]{1,2}\",\"contain-intrinsic-block-size\":\"auto? [none|<length>]\",\"contain-intrinsic-height\":\"auto? [none|<length>]\",\"contain-intrinsic-inline-size\":\"auto? [none|<length>]\",\"contain-intrinsic-width\":\"auto? [none|<length>]\",container:\"<'container-name'> [/ <'container-type'>]?\",\"container-name\":\"none|<custom-ident>+\",\"container-type\":\"normal||[size|inline-size]\",content:\"normal|none|[<content-replacement>|<content-list>] [/ [<string>|<counter>]+]?\",\"content-visibility\":\"visible|auto|hidden\",\"counter-increment\":\"[<counter-name> <integer>?]+|none\",\"counter-reset\":\"[<counter-name> <integer>?|<reversed-counter-name> <integer>?]+|none\",\"counter-set\":\"[<counter-name> <integer>?]+|none\",cursor:\"[[<url> [<x> <y>]? ,]* [auto|default|none|context-menu|help|pointer|progress|wait|cell|crosshair|text|vertical-text|alias|copy|move|no-drop|not-allowed|e-resize|n-resize|ne-resize|nw-resize|s-resize|se-resize|sw-resize|w-resize|ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing|hand|-webkit-grab|-webkit-grabbing|-webkit-zoom-in|-webkit-zoom-out|-moz-grab|-moz-grabbing|-moz-zoom-in|-moz-zoom-out]]\",d:\"none|path( <string> )\",cx:\"<length>|<percentage>\",cy:\"<length>|<percentage>\",direction:\"ltr|rtl\",display:\"[<display-outside>||<display-inside>]|<display-listitem>|<display-internal>|<display-box>|<display-legacy>|<-non-standard-display>\",\"dominant-baseline\":\"auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge\",\"empty-cells\":\"show|hide\",\"field-sizing\":\"content|fixed\",fill:\"<paint>\",\"fill-opacity\":\"<number-zero-one>\",\"fill-rule\":\"nonzero|evenodd\",filter:\"none|<filter-function-list>|<-ms-filter-function-list>\",flex:\"none|[<'flex-grow'> <'flex-shrink'>?||<'flex-basis'>]\",\"flex-basis\":\"content|<'width'>\",\"flex-direction\":\"row|row-reverse|column|column-reverse\",\"flex-flow\":\"<'flex-direction'>||<'flex-wrap'>\",\"flex-grow\":\"<number>\",\"flex-shrink\":\"<number>\",\"flex-wrap\":\"nowrap|wrap|wrap-reverse\",float:\"left|right|none|inline-start|inline-end\",font:\"[[<'font-style'>||<font-variant-css2>||<'font-weight'>||<font-width-css3>]? <'font-size'> [/ <'line-height'>]? <'font-family'>#]|<system-family-name>|<-non-standard-font>\",\"font-family\":\"[<family-name>|<generic-family>]#\",\"font-feature-settings\":\"normal|<feature-tag-value>#\",\"font-kerning\":\"auto|normal|none\",\"font-language-override\":\"normal|<string>\",\"font-optical-sizing\":\"auto|none\",\"font-palette\":\"normal|light|dark|<palette-identifier>\",\"font-variation-settings\":\"normal|[<string> <number>]#\",\"font-size\":\"<absolute-size>|<relative-size>|<length-percentage>\",\"font-size-adjust\":\"none|[ex-height|cap-height|ch-width|ic-width|ic-height]? [from-font|<number>]\",\"font-smooth\":\"auto|never|always|<absolute-size>|<length>\",\"font-stretch\":\"<font-stretch-absolute>\",\"font-style\":\"normal|italic|oblique <angle>?\",\"font-synthesis\":\"none|[weight||style||small-caps||position]\",\"font-synthesis-position\":\"auto|none\",\"font-synthesis-small-caps\":\"auto|none\",\"font-synthesis-style\":\"auto|none\",\"font-synthesis-weight\":\"auto|none\",\"font-variant\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"font-variant-alternates\":\"normal|[stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )]\",\"font-variant-caps\":\"normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps\",\"font-variant-east-asian\":\"normal|[<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"font-variant-emoji\":\"normal|text|emoji|unicode\",\"font-variant-ligatures\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>]\",\"font-variant-numeric\":\"normal|[<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero]\",\"font-variant-position\":\"normal|sub|super\",\"font-weight\":\"<font-weight-absolute>|bolder|lighter\",\"forced-color-adjust\":\"auto|none|preserve-parent-color\",gap:\"<'row-gap'> <'column-gap'>?\",grid:\"<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>\",\"grid-area\":\"<grid-line> [/ <grid-line>]{0,3}\",\"grid-auto-columns\":\"<track-size>+\",\"grid-auto-flow\":\"[row|column]||dense\",\"grid-auto-rows\":\"<track-size>+\",\"grid-column\":\"<grid-line> [/ <grid-line>]?\",\"grid-column-end\":\"<grid-line>\",\"grid-column-gap\":\"<length-percentage>\",\"grid-column-start\":\"<grid-line>\",\"grid-gap\":\"<'grid-row-gap'> <'grid-column-gap'>?\",\"grid-row\":\"<grid-line> [/ <grid-line>]?\",\"grid-row-end\":\"<grid-line>\",\"grid-row-gap\":\"<length-percentage>\",\"grid-row-start\":\"<grid-line>\",\"grid-template\":\"none|[<'grid-template-rows'> / <'grid-template-columns'>]|[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?\",\"grid-template-areas\":\"none|<string>+\",\"grid-template-columns\":\"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?\",\"grid-template-rows\":\"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?\",\"hanging-punctuation\":\"none|[first||[force-end|allow-end]||last]\",height:\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"hyphenate-character\":\"auto|<string>\",\"hyphenate-limit-chars\":\"[auto|<integer>]{1,3}\",hyphens:\"none|manual|auto\",\"image-orientation\":\"from-image|<angle>|[<angle>? flip]\",\"image-rendering\":\"auto|crisp-edges|pixelated|optimizeSpeed|optimizeQuality|<-non-standard-image-rendering>\",\"image-resolution\":\"[from-image||<resolution>]&&snap?\",\"ime-mode\":\"auto|normal|active|inactive|disabled\",\"initial-letter\":\"normal|[<number> <integer>?]\",\"initial-letter-align\":\"[auto|alphabetic|hanging|ideographic]\",\"inline-size\":\"<'width'>\",\"input-security\":\"auto|none\",inset:\"<'top'>{1,4}\",\"inset-block\":\"<'top'>{1,2}\",\"inset-block-end\":\"<'top'>\",\"inset-block-start\":\"<'top'>\",\"inset-inline\":\"<'top'>{1,2}\",\"inset-inline-end\":\"<'top'>\",\"inset-inline-start\":\"<'top'>\",\"interpolate-size\":\"numeric-only|allow-keywords\",isolation:\"auto|isolate\",\"justify-content\":\"normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]\",\"justify-items\":\"normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]|legacy|legacy&&[left|right|center]\",\"justify-self\":\"auto|normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]\",\"justify-tracks\":\"[normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]]#\",left:\"<length>|<percentage>|auto\",\"letter-spacing\":\"normal|<length-percentage>\",\"line-break\":\"auto|loose|normal|strict|anywhere\",\"line-clamp\":\"none|<integer>\",\"line-height\":\"normal|<number>|<length>|<percentage>\",\"line-height-step\":\"<length>\",\"list-style\":\"<'list-style-type'>||<'list-style-position'>||<'list-style-image'>\",\"list-style-image\":\"<image>|none\",\"list-style-position\":\"inside|outside\",\"list-style-type\":\"<counter-style>|<string>|none\",margin:\"[<length>|<percentage>|auto]{1,4}\",\"margin-block\":\"<'margin-left'>{1,2}\",\"margin-block-end\":\"<'margin-left'>\",\"margin-block-start\":\"<'margin-left'>\",\"margin-bottom\":\"<length>|<percentage>|auto\",\"margin-inline\":\"<'margin-left'>{1,2}\",\"margin-inline-end\":\"<'margin-left'>\",\"margin-inline-start\":\"<'margin-left'>\",\"margin-left\":\"<length>|<percentage>|auto\",\"margin-right\":\"<length>|<percentage>|auto\",\"margin-top\":\"<length>|<percentage>|auto\",\"margin-trim\":\"none|in-flow|all\",marker:\"none|<url>\",\"marker-end\":\"none|<url>\",\"marker-mid\":\"none|<url>\",\"marker-start\":\"none|<url>\",mask:\"<mask-layer>#\",\"mask-border\":\"<'mask-border-source'>||<'mask-border-slice'> [/ <'mask-border-width'>? [/ <'mask-border-outset'>]?]?||<'mask-border-repeat'>||<'mask-border-mode'>\",\"mask-border-mode\":\"luminance|alpha\",\"mask-border-outset\":\"[<length>|<number>]{1,4}\",\"mask-border-repeat\":\"[stretch|repeat|round|space]{1,2}\",\"mask-border-slice\":\"<number-percentage>{1,4} fill?\",\"mask-border-source\":\"none|<image>\",\"mask-border-width\":\"[<length-percentage>|<number>|auto]{1,4}\",\"mask-clip\":\"[<geometry-box>|no-clip]#\",\"mask-composite\":\"<compositing-operator>#\",\"mask-image\":\"<mask-reference>#\",\"mask-mode\":\"<masking-mode>#\",\"mask-origin\":\"<geometry-box>#\",\"mask-position\":\"<position>#\",\"mask-repeat\":\"<repeat-style>#\",\"mask-size\":\"<bg-size>#\",\"mask-type\":\"luminance|alpha\",\"masonry-auto-flow\":\"[pack|next]||[definite-first|ordered]\",\"math-depth\":\"auto-add|add( <integer> )|<integer>\",\"math-shift\":\"normal|compact\",\"math-style\":\"normal|compact\",\"max-block-size\":\"<'max-width'>\",\"max-height\":\"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"max-inline-size\":\"<'max-width'>\",\"max-lines\":\"none|<integer>\",\"max-width\":\"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"min-block-size\":\"<'min-width'>\",\"min-height\":\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"min-inline-size\":\"<'min-width'>\",\"min-width\":\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"mix-blend-mode\":\"<blend-mode>|plus-lighter\",\"object-fit\":\"fill|contain|cover|none|scale-down\",\"object-position\":\"<position>\",offset:\"[<'offset-position'>? [<'offset-path'> [<'offset-distance'>||<'offset-rotate'>]?]?]! [/ <'offset-anchor'>]?\",\"offset-anchor\":\"auto|<position>\",\"offset-distance\":\"<length-percentage>\",\"offset-path\":\"none|<offset-path>||<coord-box>\",\"offset-position\":\"normal|auto|<position>\",\"offset-rotate\":\"[auto|reverse]||<angle>\",opacity:\"<alpha-value>\",order:\"<integer>\",orphans:\"<integer>\",outline:\"[<'outline-width'>||<'outline-style'>||<'outline-color'>]\",\"outline-color\":\"auto|<color>\",\"outline-offset\":\"<length>\",\"outline-style\":\"auto|<'border-style'>\",\"outline-width\":\"<line-width>\",overflow:\"[visible|hidden|clip|scroll|auto]{1,2}|<-non-standard-overflow>\",\"overflow-anchor\":\"auto|none\",\"overflow-block\":\"visible|hidden|clip|scroll|auto\",\"overflow-clip-box\":\"padding-box|content-box\",\"overflow-clip-margin\":\"<visual-box>||<length [0,\\u221E]>\",\"overflow-inline\":\"visible|hidden|clip|scroll|auto\",\"overflow-wrap\":\"normal|break-word|anywhere\",\"overflow-x\":\"visible|hidden|clip|scroll|auto\",\"overflow-y\":\"visible|hidden|clip|scroll|auto\",overlay:\"none|auto\",\"overscroll-behavior\":\"[contain|none|auto]{1,2}\",\"overscroll-behavior-block\":\"contain|none|auto\",\"overscroll-behavior-inline\":\"contain|none|auto\",\"overscroll-behavior-x\":\"contain|none|auto\",\"overscroll-behavior-y\":\"contain|none|auto\",padding:\"[<length>|<percentage>]{1,4}\",\"padding-block\":\"<'padding-left'>{1,2}\",\"padding-block-end\":\"<'padding-left'>\",\"padding-block-start\":\"<'padding-left'>\",\"padding-bottom\":\"<length>|<percentage>\",\"padding-inline\":\"<'padding-left'>{1,2}\",\"padding-inline-end\":\"<'padding-left'>\",\"padding-inline-start\":\"<'padding-left'>\",\"padding-left\":\"<length>|<percentage>\",\"padding-right\":\"<length>|<percentage>\",\"padding-top\":\"<length>|<percentage>\",page:\"auto|<custom-ident>\",\"page-break-after\":\"auto|always|avoid|left|right|recto|verso\",\"page-break-before\":\"auto|always|avoid|left|right|recto|verso\",\"page-break-inside\":\"auto|avoid\",\"paint-order\":\"normal|[fill||stroke||markers]\",perspective:\"none|<length>\",\"perspective-origin\":\"<position>\",\"place-content\":\"<'align-content'> <'justify-content'>?\",\"place-items\":\"<'align-items'> <'justify-items'>?\",\"place-self\":\"<'align-self'> <'justify-self'>?\",\"pointer-events\":\"auto|none|visiblePainted|visibleFill|visibleStroke|visible|painted|fill|stroke|all|inherit\",position:\"static|relative|absolute|sticky|fixed|-webkit-sticky\",\"position-anchor\":\"auto|<anchor-name>\",\"position-area\":\"none|<position-area>\",\"position-try\":\"<'position-try-order'>? <'position-try-fallbacks'>\",\"position-try-fallbacks\":\"none|[[<dashed-ident>||<try-tactic>]|<'position-area'>]#\",\"position-try-order\":\"normal|<try-size>\",\"position-visibility\":\"always|[anchors-valid||anchors-visible||no-overflow]\",\"print-color-adjust\":\"economy|exact\",quotes:\"none|auto|[<string> <string>]+\",r:\"<length>|<percentage>\",resize:\"none|both|horizontal|vertical|block|inline\",right:\"<length>|<percentage>|auto\",rotate:\"none|<angle>|[x|y|z|<number>{3}]&&<angle>\",\"row-gap\":\"normal|<length-percentage>\",\"ruby-align\":\"start|center|space-between|space-around\",\"ruby-merge\":\"separate|collapse|auto\",\"ruby-position\":\"[alternate||[over|under]]|inter-character\",rx:\"<length>|<percentage>\",ry:\"<length>|<percentage>\",scale:\"none|[<number>|<percentage>]{1,3}\",\"scrollbar-color\":\"auto|<color>{2}\",\"scrollbar-gutter\":\"auto|stable&&both-edges?\",\"scrollbar-width\":\"auto|thin|none\",\"scroll-behavior\":\"auto|smooth\",\"scroll-margin\":\"<length>{1,4}\",\"scroll-margin-block\":\"<length>{1,2}\",\"scroll-margin-block-start\":\"<length>\",\"scroll-margin-block-end\":\"<length>\",\"scroll-margin-bottom\":\"<length>\",\"scroll-margin-inline\":\"<length>{1,2}\",\"scroll-margin-inline-start\":\"<length>\",\"scroll-margin-inline-end\":\"<length>\",\"scroll-margin-left\":\"<length>\",\"scroll-margin-right\":\"<length>\",\"scroll-margin-top\":\"<length>\",\"scroll-padding\":\"[auto|<length-percentage>]{1,4}\",\"scroll-padding-block\":\"[auto|<length-percentage>]{1,2}\",\"scroll-padding-block-start\":\"auto|<length-percentage>\",\"scroll-padding-block-end\":\"auto|<length-percentage>\",\"scroll-padding-bottom\":\"auto|<length-percentage>\",\"scroll-padding-inline\":\"[auto|<length-percentage>]{1,2}\",\"scroll-padding-inline-start\":\"auto|<length-percentage>\",\"scroll-padding-inline-end\":\"auto|<length-percentage>\",\"scroll-padding-left\":\"auto|<length-percentage>\",\"scroll-padding-right\":\"auto|<length-percentage>\",\"scroll-padding-top\":\"auto|<length-percentage>\",\"scroll-snap-align\":\"[none|start|end|center]{1,2}\",\"scroll-snap-coordinate\":\"none|<position>#\",\"scroll-snap-destination\":\"<position>\",\"scroll-snap-points-x\":\"none|repeat( <length-percentage> )\",\"scroll-snap-points-y\":\"none|repeat( <length-percentage> )\",\"scroll-snap-stop\":\"normal|always\",\"scroll-snap-type\":\"none|[x|y|block|inline|both] [mandatory|proximity]?\",\"scroll-snap-type-x\":\"none|mandatory|proximity\",\"scroll-snap-type-y\":\"none|mandatory|proximity\",\"scroll-timeline\":\"[<'scroll-timeline-name'>||<'scroll-timeline-axis'>]#\",\"scroll-timeline-axis\":\"[block|inline|x|y]#\",\"scroll-timeline-name\":\"[none|<dashed-ident>]#\",\"shape-image-threshold\":\"<alpha-value>\",\"shape-margin\":\"<length-percentage>\",\"shape-outside\":\"none|[<shape-box>||<basic-shape>]|<image>\",\"shape-rendering\":\"auto|optimizeSpeed|crispEdges|geometricPrecision\",stroke:\"<paint>\",\"stroke-dasharray\":\"none|[<svg-length>+]#\",\"stroke-dashoffset\":\"<svg-length>\",\"stroke-linecap\":\"butt|round|square\",\"stroke-linejoin\":\"miter|round|bevel\",\"stroke-miterlimit\":\"<number-one-or-greater>\",\"stroke-opacity\":\"<'opacity'>\",\"stroke-width\":\"<svg-length>\",\"tab-size\":\"<integer>|<length>\",\"table-layout\":\"auto|fixed\",\"text-align\":\"start|end|left|right|center|justify|match-parent\",\"text-align-last\":\"auto|start|end|left|right|center|justify\",\"text-anchor\":\"start|middle|end\",\"text-combine-upright\":\"none|all|[digits <integer>?]\",\"text-decoration\":\"<'text-decoration-line'>||<'text-decoration-style'>||<'text-decoration-color'>||<'text-decoration-thickness'>\",\"text-decoration-color\":\"<color>\",\"text-decoration-line\":\"none|[underline||overline||line-through||blink]|spelling-error|grammar-error\",\"text-decoration-skip\":\"none|[objects||[spaces|[leading-spaces||trailing-spaces]]||edges||box-decoration]\",\"text-decoration-skip-ink\":\"auto|all|none\",\"text-decoration-style\":\"solid|double|dotted|dashed|wavy\",\"text-decoration-thickness\":\"auto|from-font|<length>|<percentage>\",\"text-emphasis\":\"<'text-emphasis-style'>||<'text-emphasis-color'>\",\"text-emphasis-color\":\"<color>\",\"text-emphasis-position\":\"auto|[over|under]&&[right|left]?\",\"text-emphasis-style\":\"none|[[filled|open]||[dot|circle|double-circle|triangle|sesame]]|<string>\",\"text-indent\":\"<length-percentage>&&hanging?&&each-line?\",\"text-justify\":\"auto|inter-character|inter-word|none\",\"text-orientation\":\"mixed|upright|sideways\",\"text-overflow\":\"[clip|ellipsis|<string>]{1,2}\",\"text-rendering\":\"auto|optimizeSpeed|optimizeLegibility|geometricPrecision\",\"text-shadow\":\"none|<shadow-t>#\",\"text-size-adjust\":\"none|auto|<percentage>\",\"text-spacing-trim\":\"space-all|normal|space-first|trim-start|trim-both|trim-all|auto\",\"text-transform\":\"none|capitalize|uppercase|lowercase|full-width|full-size-kana\",\"text-underline-offset\":\"auto|<length>|<percentage>\",\"text-underline-position\":\"auto|from-font|[under||[left|right]]\",\"text-wrap\":\"<'text-wrap-mode'>||<'text-wrap-style'>\",\"text-wrap-mode\":\"auto|wrap|nowrap\",\"text-wrap-style\":\"auto|balance|stable|pretty\",\"timeline-scope\":\"none|<dashed-ident>#\",top:\"<length>|<percentage>|auto\",\"touch-action\":\"auto|none|[[pan-x|pan-left|pan-right]||[pan-y|pan-up|pan-down]||pinch-zoom]|manipulation\",transform:\"none|<transform-list>\",\"transform-box\":\"content-box|border-box|fill-box|stroke-box|view-box\",\"transform-origin\":\"[<length-percentage>|left|center|right|top|bottom]|[[<length-percentage>|left|center|right]&&[<length-percentage>|top|center|bottom]] <length>?\",\"transform-style\":\"flat|preserve-3d\",transition:\"<single-transition>#\",\"transition-behavior\":\"<transition-behavior-value>#\",\"transition-delay\":\"<time>#\",\"transition-duration\":\"<time>#\",\"transition-property\":\"none|<single-transition-property>#\",\"transition-timing-function\":\"<easing-function>#\",translate:\"none|<length-percentage> [<length-percentage> <length>?]?\",\"unicode-bidi\":\"normal|embed|isolate|bidi-override|isolate-override|plaintext|-moz-isolate|-moz-isolate-override|-moz-plaintext|-webkit-isolate|-webkit-isolate-override|-webkit-plaintext\",\"user-select\":\"auto|text|none|contain|all\",\"vector-effect\":\"none|non-scaling-stroke|non-scaling-size|non-rotation|fixed-position\",\"vertical-align\":\"baseline|sub|super|text-top|text-bottom|middle|top|bottom|<percentage>|<length>\",\"view-timeline\":\"[<'view-timeline-name'> <'view-timeline-axis'>?]#\",\"view-timeline-axis\":\"[block|inline|x|y]#\",\"view-timeline-inset\":\"[[auto|<length-percentage>]{1,2}]#\",\"view-timeline-name\":\"none|<dashed-ident>#\",\"view-transition-name\":\"none|<custom-ident>\",visibility:\"visible|hidden|collapse\",\"white-space\":\"normal|pre|nowrap|pre-wrap|pre-line|break-spaces|[<'white-space-collapse'>||<'text-wrap'>||<'white-space-trim'>]\",\"white-space-collapse\":\"collapse|discard|preserve|preserve-breaks|preserve-spaces|break-spaces\",widows:\"<integer>\",width:\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"will-change\":\"auto|<animateable-feature>#\",\"word-break\":\"normal|break-all|keep-all|break-word|auto-phrase\",\"word-spacing\":\"normal|<length>\",\"word-wrap\":\"normal|break-word\",\"writing-mode\":\"horizontal-tb|vertical-rl|vertical-lr|sideways-rl|sideways-lr|<svg-writing-mode>\",x:\"<length>|<percentage>\",y:\"<length>|<percentage>\",\"z-index\":\"auto|<integer>\",zoom:\"normal|reset|<number>|<percentage>\",\"-moz-background-clip\":\"padding|border\",\"-moz-border-radius-bottomleft\":\"<'border-bottom-left-radius'>\",\"-moz-border-radius-bottomright\":\"<'border-bottom-right-radius'>\",\"-moz-border-radius-topleft\":\"<'border-top-left-radius'>\",\"-moz-border-radius-topright\":\"<'border-bottom-right-radius'>\",\"-moz-control-character-visibility\":\"visible|hidden\",\"-moz-osx-font-smoothing\":\"auto|grayscale\",\"-moz-user-select\":\"none|text|all|-moz-none\",\"-ms-flex-align\":\"start|end|center|baseline|stretch\",\"-ms-flex-item-align\":\"auto|start|end|center|baseline|stretch\",\"-ms-flex-line-pack\":\"start|end|center|justify|distribute|stretch\",\"-ms-flex-negative\":\"<'flex-shrink'>\",\"-ms-flex-pack\":\"start|end|center|justify|distribute\",\"-ms-flex-order\":\"<integer>\",\"-ms-flex-positive\":\"<'flex-grow'>\",\"-ms-flex-preferred-size\":\"<'flex-basis'>\",\"-ms-interpolation-mode\":\"nearest-neighbor|bicubic\",\"-ms-grid-column-align\":\"start|end|center|stretch\",\"-ms-grid-row-align\":\"start|end|center|stretch\",\"-ms-hyphenate-limit-last\":\"none|always|column|page|spread\",\"-webkit-background-clip\":\"[<box>|border|padding|content|text]#\",\"-webkit-column-break-after\":\"always|auto|avoid\",\"-webkit-column-break-before\":\"always|auto|avoid\",\"-webkit-column-break-inside\":\"always|auto|avoid\",\"-webkit-font-smoothing\":\"auto|none|antialiased|subpixel-antialiased\",\"-webkit-mask-box-image\":\"[<url>|<gradient>|none] [<length-percentage>{4} <-webkit-mask-box-repeat>{2}]?\",\"-webkit-print-color-adjust\":\"economy|exact\",\"-webkit-text-security\":\"none|circle|disc|square\",\"-webkit-user-drag\":\"none|element|auto\",\"-webkit-user-select\":\"auto|none|text|all\",\"alignment-baseline\":\"auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical\",\"baseline-shift\":\"baseline|sub|super|<svg-length>\",behavior:\"<url>+\",cue:\"<'cue-before'> <'cue-after'>?\",\"cue-after\":\"<url> <decibel>?|none\",\"cue-before\":\"<url> <decibel>?|none\",\"glyph-orientation-horizontal\":\"<angle>\",\"glyph-orientation-vertical\":\"<angle>\",kerning:\"auto|<svg-length>\",pause:\"<'pause-before'> <'pause-after'>?\",\"pause-after\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"pause-before\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",rest:\"<'rest-before'> <'rest-after'>?\",\"rest-after\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"rest-before\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",src:\"[<url> [format( <string># )]?|local( <family-name> )]#\",speak:\"auto|never|always\",\"speak-as\":\"normal|spell-out||digits||[literal-punctuation|no-punctuation]\",\"unicode-range\":\"<urange>#\",\"voice-balance\":\"<number>|left|center|right|leftwards|rightwards\",\"voice-duration\":\"auto|<time>\",\"voice-family\":\"[[<family-name>|<generic-voice>] ,]* [<family-name>|<generic-voice>]|preserve\",\"voice-pitch\":\"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]\",\"voice-range\":\"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]\",\"voice-rate\":\"[normal|x-slow|slow|medium|fast|x-fast]||<percentage>\",\"voice-stress\":\"normal|strong|moderate|none|reduced\",\"voice-volume\":\"silent|[[x-soft|soft|medium|loud|x-loud]||<decibel>]\",\"white-space-trim\":\"none|discard-before||discard-after||discard-inner\"},atrules:{charset:{prelude:\"<string>\",descriptors:null},\"counter-style\":{prelude:\"<counter-style-name>\",descriptors:{\"additive-symbols\":\"[<integer>&&<symbol>]#\",fallback:\"<counter-style-name>\",negative:\"<symbol> <symbol>?\",pad:\"<integer>&&<symbol>\",prefix:\"<symbol>\",range:\"[[<integer>|infinite]{2}]#|auto\",\"speak-as\":\"auto|bullets|numbers|words|spell-out|<counter-style-name>\",suffix:\"<symbol>\",symbols:\"<symbol>+\",system:\"cyclic|numeric|alphabetic|symbolic|additive|[fixed <integer>?]|[extends <counter-style-name>]\"}},document:{prelude:\"[<url>|url-prefix( <string> )|domain( <string> )|media-document( <string> )|regexp( <string> )]#\",descriptors:null},\"font-palette-values\":{prelude:\"<dashed-ident>\",descriptors:{\"base-palette\":\"light|dark|<integer [0,\\u221E]>\",\"font-family\":\"<family-name>#\",\"override-colors\":\"[<integer [0,\\u221E]> <absolute-color-base>]#\"}},\"font-face\":{prelude:null,descriptors:{\"ascent-override\":\"normal|<percentage>\",\"descent-override\":\"normal|<percentage>\",\"font-display\":\"[auto|block|swap|fallback|optional]\",\"font-family\":\"<family-name>\",\"font-feature-settings\":\"normal|<feature-tag-value>#\",\"font-variation-settings\":\"normal|[<string> <number>]#\",\"font-stretch\":\"<font-stretch-absolute>{1,2}\",\"font-style\":\"normal|italic|oblique <angle>{0,2}\",\"font-weight\":\"<font-weight-absolute>{1,2}\",\"line-gap-override\":\"normal|<percentage>\",\"size-adjust\":\"<percentage>\",src:\"[<url> [format( <string># )]?|local( <family-name> )]#\",\"unicode-range\":\"<urange>#\"}},\"font-feature-values\":{prelude:\"<family-name>#\",descriptors:null},import:{prelude:\"[<string>|<url>] [layer|layer( <layer-name> )]? [supports( [<supports-condition>|<declaration>] )]? <media-query-list>?\",descriptors:null},keyframes:{prelude:\"<keyframes-name>\",descriptors:null},layer:{prelude:\"[<layer-name>#|<layer-name>?]\",descriptors:null},media:{prelude:\"<media-query-list>\",descriptors:null},namespace:{prelude:\"<namespace-prefix>? [<string>|<url>]\",descriptors:null},page:{prelude:\"<page-selector-list>\",descriptors:{bleed:\"auto|<length>\",marks:\"none|[crop||cross]\",\"page-orientation\":\"upright|rotate-left|rotate-right\",size:\"<length>{1,2}|auto|[<page-size>||[portrait|landscape]]\"}},\"position-try\":{prelude:\"<dashed-ident>\",descriptors:{top:\"<'top'>\",left:\"<'left'>\",bottom:\"<'bottom'>\",right:\"<'right'>\",\"inset-block-start\":\"<'inset-block-start'>\",\"inset-block-end\":\"<'inset-block-end'>\",\"inset-inline-start\":\"<'inset-inline-start'>\",\"inset-inline-end\":\"<'inset-inline-end'>\",\"inset-block\":\"<'inset-block'>\",\"inset-inline\":\"<'inset-inline'>\",inset:\"<'inset'>\",\"margin-top\":\"<'margin-top'>\",\"margin-left\":\"<'margin-left'>\",\"margin-bottom\":\"<'margin-bottom'>\",\"margin-right\":\"<'margin-right'>\",\"margin-block-start\":\"<'margin-block-start'>\",\"margin-block-end\":\"<'margin-block-end'>\",\"margin-inline-start\":\"<'margin-inline-start'>\",\"margin-inline-end\":\"<'margin-inline-end'>\",margin:\"<'margin'>\",\"margin-block\":\"<'margin-block'>\",\"margin-inline\":\"<'margin-inline'>\",width:\"<'width'>\",height:\"<'height'>\",\"min-width\":\"<'min-width'>\",\"min-height\":\"<'min-height'>\",\"max-width\":\"<'max-width'>\",\"max-height\":\"<'max-height'>\",\"block-size\":\"<'block-size'>\",\"inline-size\":\"<'inline-size'>\",\"min-block-size\":\"<'min-block-size'>\",\"min-inline-size\":\"<'min-inline-size'>\",\"max-block-size\":\"<'max-block-size'>\",\"max-inline-size\":\"<'max-inline-size'>\",\"align-self\":\"<'align-self'>|anchor-center\",\"justify-self\":\"<'justify-self'>|anchor-center\"}},property:{prelude:\"<custom-property-name>\",descriptors:{syntax:\"<string>\",inherits:\"true|false\",\"initial-value\":\"<declaration-value>?\"}},scope:{prelude:\"[( <scope-start> )]? [to ( <scope-end> )]?\",descriptors:null},\"starting-style\":{prelude:null,descriptors:null},supports:{prelude:\"<supports-condition>\",descriptors:null},container:{prelude:\"[<container-name>]? <container-condition>\",descriptors:null},nest:{prelude:\"<complex-selector-list>\",descriptors:null}}};var f6={};y(f6,{AnPlusB:()=>e7,Atrule:()=>x7,AtrulePrelude:()=>n7,AttributeSelector:()=>a7,Block:()=>B7,Brackets:()=>I7,CDC:()=>c7,CDO:()=>h7,ClassSelector:()=>d7,Combinator:()=>K7,Comment:()=>m7,Condition:()=>g7,Declaration:()=>P7,DeclarationList:()=>O7,Dimension:()=>b7,Feature:()=>y7,FeatureFunction:()=>M7,FeatureRange:()=>N7,Function:()=>J7,GeneralEnclosed:()=>V7,Hash:()=>W7,IdSelector:()=>jk,Identifier:()=>Z7,Layer:()=>Fk,LayerList:()=>Gk,MediaQuery:()=>rk,MediaQueryList:()=>qk,NestingSelector:()=>lk,Nth:()=>$k,Number:()=>ak,Operator:()=>Bk,Parentheses:()=>Ik,Percentage:()=>ck,PseudoClassSelector:()=>hk,PseudoElementSelector:()=>dk,Ratio:()=>Kk,Raw:()=>mk,Rule:()=>gk,Scope:()=>Pk,Selector:()=>Lk,SelectorList:()=>Tk,String:()=>yk,StyleSheet:()=>Mk,SupportsDeclaration:()=>Sk,TypeSelector:()=>Jk,UnicodeRange:()=>Qk,Url:()=>Zk,Value:()=>jG,WhiteSpace:()=>FG});var e7={};y(e7,{generate:()=>xn,name:()=>en,parse:()=>r7,structure:()=>qn});var ZA=43,bA=45,fE=110,gj=!0,rn=!1;function gE(A,j){let F=this.tokenStart+A,E=this.charCodeAt(F);for((E===ZA||E===bA)&&(j&&this.error(\"Number sign is not allowed\"),F++);F<this.tokenEnd;F++)oA(this.charCodeAt(F))||this.error(\"Integer is expected\",F)}function Qj(A){return gE.call(this,0,A)}function Bj(A,j){if(!this.cmpChar(this.tokenStart+A,j)){let F=\"\";switch(j){case fE:F=\"N is expected\";break;case bA:F=\"HyphenMinus is expected\";break}this.error(F,this.tokenStart+A)}}function t7(){let A=0,j=0,F=this.tokenType;for(;F===13||F===25;)F=this.lookupType(++A);if(F!==10)if(this.isDelim(ZA,A)||this.isDelim(bA,A)){j=this.isDelim(ZA,A)?ZA:bA;do F=this.lookupType(++A);while(F===13||F===25);F!==10&&(this.skip(A),Qj.call(this,gj))}else return null;return A>0&&this.skip(A),j===0&&(F=this.charCodeAt(this.tokenStart),F!==ZA&&F!==bA&&this.error(\"Number sign is expected\")),Qj.call(this,j!==0),j===bA?\"-\"+this.consume(10):this.consume(10)}var en=\"AnPlusB\",qn={a:[String,null],b:[String,null]};function r7(){let A=this.tokenStart,j=null,F=null;if(this.tokenType===10)Qj.call(this,rn),F=this.consume(10);else if(this.tokenType===1&&this.cmpChar(this.tokenStart,bA))switch(j=\"-1\",Bj.call(this,1,fE),this.tokenEnd-this.tokenStart){case 2:this.next(),F=t7.call(this);break;case 3:Bj.call(this,2,bA),this.next(),this.skipSC(),Qj.call(this,gj),F=\"-\"+this.consume(10);break;default:Bj.call(this,2,bA),gE.call(this,3,gj),this.next(),F=this.substrToCursor(A+2)}else if(this.tokenType===1||this.isDelim(ZA)&&this.lookupType(1)===1){let E=0;switch(j=\"1\",this.isDelim(ZA)&&(E=1,this.next()),Bj.call(this,0,fE),this.tokenEnd-this.tokenStart){case 1:this.next(),F=t7.call(this);break;case 2:Bj.call(this,1,bA),this.next(),this.skipSC(),Qj.call(this,gj),F=\"-\"+this.consume(10);break;default:Bj.call(this,1,bA),gE.call(this,2,gj),this.next(),F=this.substrToCursor(A+E+1)}}else if(this.tokenType===12){let E=this.charCodeAt(this.tokenStart),k=E===ZA||E===bA,G=this.tokenStart+k;for(;G<this.tokenEnd&&oA(this.charCodeAt(G));G++);G===this.tokenStart+k&&this.error(\"Integer is expected\",this.tokenStart+k),Bj.call(this,G-this.tokenStart,fE),j=this.substring(A,G),G+1===this.tokenEnd?(this.next(),F=t7.call(this)):(Bj.call(this,G-this.tokenStart+1,bA),G+2===this.tokenEnd?(this.next(),this.skipSC(),Qj.call(this,gj),F=\"-\"+this.consume(10)):(gE.call(this,G-this.tokenStart+2,gj),this.next(),F=this.substrToCursor(G+1)))}else this.error();return j!==null&&j.charCodeAt(0)===ZA&&(j=j.substr(1)),F!==null&&F.charCodeAt(0)===ZA&&(F=F.substr(1)),{type:\"AnPlusB\",loc:this.getLocation(A,this.tokenStart),a:j,b:F}}function xn(A){if(A.a){let j=A.a===\"+1\"&&\"n\"||A.a===\"1\"&&\"n\"||A.a===\"-1\"&&\"-n\"||A.a+\"n\";if(A.b){let F=A.b[0]===\"-\"||A.b[0]===\"+\"?A.b:\"+\"+A.b;this.tokenize(j+F)}else this.tokenize(j)}else this.tokenize(A.b)}var x7={};y(x7,{generate:()=>on,name:()=>nn,parse:()=>q7,structure:()=>an,walkContext:()=>$n});function pe(){return this.Raw(this.consumeUntilLeftCurlyBracketOrSemicolon,!0)}function ln(){for(let A=1,j;j=this.lookupType(A);A++){if(j===24)return!0;if(j===23||j===3)return!1}return!1}var nn=\"Atrule\",$n=\"atrule\",an={name:String,prelude:[\"AtrulePrelude\",\"Raw\",null],block:[\"Block\",null]};function q7(A=!1){let j=this.tokenStart,F,E,k=null,G=null;switch(this.eat(3),F=this.substrToCursor(j+1),E=F.toLowerCase(),this.skipSC(),this.eof===!1&&this.tokenType!==23&&this.tokenType!==17&&(this.parseAtrulePrelude?k=this.parseWithFallback(this.AtrulePrelude.bind(this,F,A),pe):k=pe.call(this,this.tokenIndex),this.skipSC()),this.tokenType){case 17:this.next();break;case 23:hasOwnProperty.call(this.atrule,E)&&typeof this.atrule[E].block==\"function\"?G=this.atrule[E].block.call(this,A):G=this.Block(ln.call(this));break}return{type:\"Atrule\",loc:this.getLocation(j,this.tokenStart),name:F,prelude:k,block:G}}function on(A){this.token(3,\"@\"+A.name),A.prelude!==null&&this.node(A.prelude),A.block?this.node(A.block):this.token(17,\";\")}var n7={};y(n7,{generate:()=>Cn,name:()=>Bn,parse:()=>l7,structure:()=>In,walkContext:()=>sn});var Bn=\"AtrulePrelude\",sn=\"atrulePrelude\",In={children:[[]]};function l7(A){let j=null;return A!==null&&(A=A.toLowerCase()),this.skipSC(),hasOwnProperty.call(this.atrule,A)&&typeof this.atrule[A].prelude==\"function\"?j=this.atrule[A].prelude.call(this):j=this.readSequence(this.scope.AtrulePrelude),this.skipSC(),this.eof!==!0&&this.tokenType!==23&&this.tokenType!==17&&this.error(\"Semicolon or block is expected\"),{type:\"AtrulePrelude\",loc:this.getLocationFromList(j),children:j}}function Cn(A){this.children(A)}var a7={};y(a7,{generate:()=>vn,name:()=>Dn,parse:()=>i7,structure:()=>Kn});var cn=36,he=42,HE=61,pn=94,$7=124,hn=126;function un(){this.eof&&this.error(\"Unexpected end of input\");let A=this.tokenStart,j=!1;return this.isDelim(he)?(j=!0,this.next()):this.isDelim($7)||this.eat(1),this.isDelim($7)?this.charCodeAt(this.tokenStart+1)!==HE?(this.next(),this.eat(1)):j&&this.error(\"Identifier is expected\",this.tokenEnd):j&&this.error(\"Vertical line is expected\"),{type:\"Identifier\",loc:this.getLocation(A,this.tokenStart),name:this.substrToCursor(A)}}function dn(){let A=this.tokenStart,j=this.charCodeAt(A);return j!==HE&&j!==hn&&j!==pn&&j!==cn&&j!==he&&j!==$7&&this.error(\"Attribute selector (=, ~=, ^=, $=, *=, |=) is expected\"),this.next(),j!==HE&&(this.isDelim(HE)||this.error(\"Equal sign is expected\"),this.next()),this.substrToCursor(A)}var Dn=\"AttributeSelector\",Kn={name:\"Identifier\",matcher:[String,null],value:[\"String\",\"Identifier\",null],flags:[String,null]};function i7(){let A=this.tokenStart,j,F=null,E=null,k=null;return this.eat(19),this.skipSC(),j=un.call(this),this.skipSC(),this.tokenType!==20&&(this.tokenType!==1&&(F=dn.call(this),this.skipSC(),E=this.tokenType===5?this.String():this.Identifier(),this.skipSC()),this.tokenType===1&&(k=this.consume(1),this.skipSC())),this.eat(20),{type:\"AttributeSelector\",loc:this.getLocation(A,this.tokenStart),name:j,matcher:F,value:E,flags:k}}function vn(A){this.token(9,\"[\"),this.node(A.name),A.matcher!==null&&(this.tokenize(A.matcher),this.node(A.value)),A.flags!==null&&this.token(1,A.flags),this.token(9,\"]\")}var B7={};y(B7,{generate:()=>Xn,name:()=>gn,parse:()=>o7,structure:()=>Pn,walkContext:()=>Hn});var mn=38;function De(){return this.Raw(null,!0)}function ue(){return this.parseWithFallback(this.Rule,De)}function de(){return this.Raw(this.consumeUntilSemicolonIncluded,!0)}function fn(){if(this.tokenType===17)return de.call(this,this.tokenIndex);let A=this.parseWithFallback(this.Declaration,de);return this.tokenType===17&&this.next(),A}var gn=\"Block\",Hn=\"block\",Pn={children:[[\"Atrule\",\"Rule\",\"Declaration\"]]};function o7(A){let j=A?fn:ue,F=this.tokenStart,E=this.createList();this.eat(23);A:for(;!this.eof;)switch(this.tokenType){case 24:break A;case 13:case 25:this.next();break;case 3:E.push(this.parseWithFallback(this.Atrule.bind(this,A),De));break;default:A&&this.isDelim(mn)?E.push(ue.call(this)):E.push(j.call(this))}return this.eof||this.eat(24),{type:\"Block\",loc:this.getLocation(F,this.tokenStart),children:E}}function Xn(A){this.token(23,\"{\"),this.children(A,j=>{j.type===\"Declaration\"&&this.token(17,\";\")}),this.token(24,\"}\")}var I7={};y(I7,{generate:()=>Tn,name:()=>Ln,parse:()=>s7,structure:()=>On});var Ln=\"Brackets\",On={children:[[]]};function s7(A,j){let F=this.tokenStart,E=null;return this.eat(19),E=A.call(this,j),this.eof||this.eat(20),{type:\"Brackets\",loc:this.getLocation(F,this.tokenStart),children:E}}function Tn(A){this.token(9,\"[\"),this.children(A),this.token(9,\"]\")}var c7={};y(c7,{generate:()=>yn,name:()=>bn,parse:()=>C7,structure:()=>wn});var bn=\"CDC\",wn=[];function C7(){let A=this.tokenStart;return this.eat(15),{type:\"CDC\",loc:this.getLocation(A,this.tokenStart)}}function yn(){this.token(15,\"-->\")}var h7={};y(h7,{generate:()=>Rn,name:()=>_n,parse:()=>p7,structure:()=>Mn});var _n=\"CDO\",Mn=[];function p7(){let A=this.tokenStart;return this.eat(14),{type:\"CDO\",loc:this.getLocation(A,this.tokenStart)}}function Rn(){this.token(14,\"<!--\")}var d7={};y(d7,{generate:()=>Jn,name:()=>Nn,parse:()=>u7,structure:()=>zn});var Sn=46,Nn=\"ClassSelector\",zn={name:String};function u7(){return this.eatDelim(Sn),{type:\"ClassSelector\",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(1)}}function Jn(A){this.token(9,\".\"),this.token(1,A.name)}var K7={};y(K7,{generate:()=>Zn,name:()=>Wn,parse:()=>D7,structure:()=>Yn});var Un=43,Ke=47,Vn=62,Qn=126,Wn=\"Combinator\",Yn={name:String};function D7(){let A=this.tokenStart,j;switch(this.tokenType){case 13:j=\" \";break;case 9:switch(this.charCodeAt(this.tokenStart)){case Vn:case Un:case Qn:this.next();break;case Ke:this.next(),this.eatIdent(\"deep\"),this.eatDelim(Ke);break;default:this.error(\"Combinator is expected\")}j=this.substrToCursor(A);break}return{type:\"Combinator\",loc:this.getLocation(A,this.tokenStart),name:j}}function Zn(A){this.tokenize(A.name)}var m7={};y(m7,{generate:()=>k$,name:()=>E$,parse:()=>v7,structure:()=>F$});var A$=42,j$=47,E$=\"Comment\",F$={value:String};function v7(){let A=this.tokenStart,j=this.tokenEnd;return this.eat(25),j-A+2>=2&&this.charCodeAt(j-2)===A$&&this.charCodeAt(j-1)===j$&&(j-=2),{type:\"Comment\",loc:this.getLocation(A,this.tokenStart),value:this.substring(A+2,j)}}function k$(A){this.token(25,\"/*\"+A.value+\"*/\")}var g7={};y(g7,{generate:()=>q$,name:()=>t$,parse:()=>f7,structure:()=>r$});var G$=new Set([16,22,0]),t$=\"Condition\",r$={kind:String,children:[[\"Identifier\",\"Feature\",\"FeatureFunction\",\"FeatureRange\",\"SupportsDeclaration\"]]};function ve(A){return this.lookupTypeNonSC(1)===1&&G$.has(this.lookupTypeNonSC(2))?this.Feature(A):this.FeatureRange(A)}var e$={media:ve,container:ve,supports(){return this.SupportsDeclaration()}};function f7(A=\"media\"){let j=this.createList();A:for(;!this.eof;)switch(this.tokenType){case 25:case 13:this.next();continue;case 1:j.push(this.Identifier());break;case 21:{let F=this.parseWithFallback(()=>e$[A].call(this,A),()=>null);F||(F=this.parseWithFallback(()=>{this.eat(21);let E=this.Condition(A);return this.eat(22),E},()=>this.GeneralEnclosed(A))),j.push(F);break}case 2:{let F=this.parseWithFallback(()=>this.FeatureFunction(A),()=>null);F||(F=this.GeneralEnclosed(A)),j.push(F);break}default:break A}return j.isEmpty&&this.error(\"Condition is expected\"),{type:\"Condition\",loc:this.getLocationFromList(j),kind:A,children:j}}function q$(A){A.children.forEach(j=>{j.type===\"Condition\"?(this.token(21,\"(\"),this.node(j),this.token(22,\")\")):this.node(j)})}var P7={};y(P7,{generate:()=>c$,name:()=>s$,parse:()=>H7,structure:()=>C$,walkContext:()=>I$});var fe=33,x$=35,l$=36,n$=38,$$=42,i$=43,me=47;function a$(){return this.Raw(this.consumeUntilExclamationMarkOrSemicolon,!0)}function o$(){return this.Raw(this.consumeUntilExclamationMarkOrSemicolon,!1)}function B$(){let A=this.tokenIndex,j=this.Value();return j.type!==\"Raw\"&&this.eof===!1&&this.tokenType!==17&&this.isDelim(fe)===!1&&this.isBalanceEdge(A)===!1&&this.error(),j}var s$=\"Declaration\",I$=\"declaration\",C$={important:[Boolean,String],property:String,value:[\"Value\",\"Raw\"]};function H7(){let A=this.tokenStart,j=this.tokenIndex,F=p$.call(this),E=pE(F),k=E?this.parseCustomProperty:this.parseValue,G=E?o$:a$,t=!1,q;this.skipSC(),this.eat(16);let e=this.tokenIndex;if(E||this.skipSC(),k?q=this.parseWithFallback(B$,G):q=G.call(this,this.tokenIndex),E&&q.type===\"Value\"&&q.children.isEmpty){for(let r=e-this.tokenIndex;r<=0;r++)if(this.lookupType(r)===13){q.children.appendData({type:\"WhiteSpace\",loc:null,value:\" \"});break}}return this.isDelim(fe)&&(t=h$.call(this),this.skipSC()),this.eof===!1&&this.tokenType!==17&&this.isBalanceEdge(j)===!1&&this.error(),{type:\"Declaration\",loc:this.getLocation(A,this.tokenStart),important:t,property:F,value:q}}function c$(A){this.token(1,A.property),this.token(16,\":\"),this.node(A.value),A.important&&(this.token(9,\"!\"),this.token(1,A.important===!0?\"important\":A.important))}function p$(){let A=this.tokenStart;if(this.tokenType===9)switch(this.charCodeAt(this.tokenStart)){case $$:case l$:case i$:case x$:case n$:this.next();break;case me:this.next(),this.isDelim(me)&&this.next();break}return this.tokenType===4?this.eat(4):this.eat(1),this.substrToCursor(A)}function h$(){this.eat(9),this.skipSC();let A=this.consume(1);return A===\"important\"?!0:A}var O7={};y(O7,{generate:()=>K$,name:()=>d$,parse:()=>L7,structure:()=>D$});var u$=38;function X7(){return this.Raw(this.consumeUntilSemicolonIncluded,!0)}var d$=\"DeclarationList\",D$={children:[[\"Declaration\",\"Atrule\",\"Rule\"]]};function L7(){let A=this.createList();for(;!this.eof;)switch(this.tokenType){case 13:case 25:case 17:this.next();break;case 3:A.push(this.parseWithFallback(this.Atrule.bind(this,!0),X7));break;default:this.isDelim(u$)?A.push(this.parseWithFallback(this.Rule,X7)):A.push(this.parseWithFallback(this.Declaration,X7))}return{type:\"DeclarationList\",loc:this.getLocationFromList(A),children:A}}function K$(A){this.children(A,j=>{j.type===\"Declaration\"&&this.token(17,\";\")})}var b7={};y(b7,{generate:()=>f$,name:()=>v$,parse:()=>T7,structure:()=>m$});var v$=\"Dimension\",m$={value:String,unit:String};function T7(){let A=this.tokenStart,j=this.consumeNumber(12);return{type:\"Dimension\",loc:this.getLocation(A,this.tokenStart),value:j,unit:this.substring(A+j.length,this.tokenStart)}}function f$(A){this.token(12,A.value+A.unit)}var y7={};y(y7,{generate:()=>X$,name:()=>H$,parse:()=>w7,structure:()=>P$});var g$=47,H$=\"Feature\",P$={kind:String,name:String,value:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",\"Function\",null]};function w7(A){let j=this.tokenStart,F,E=null;if(this.eat(21),this.skipSC(),F=this.consume(1),this.skipSC(),this.tokenType!==22){switch(this.eat(16),this.skipSC(),this.tokenType){case 10:this.lookupNonWSType(1)===9?E=this.Ratio():E=this.Number();break;case 12:E=this.Dimension();break;case 1:E=this.Identifier();break;case 2:E=this.parseWithFallback(()=>{let k=this.Function(this.readSequence,this.scope.Value);return this.skipSC(),this.isDelim(g$)&&this.error(),k},()=>this.Ratio());break;default:this.error(\"Number, dimension, ratio or identifier is expected\")}this.skipSC()}return this.eof||this.eat(22),{type:\"Feature\",loc:this.getLocation(j,this.tokenStart),kind:A,name:F,value:E}}function X$(A){this.token(21,\"(\"),this.token(1,A.name),A.value!==null&&(this.token(16,\":\"),this.node(A.value)),this.token(22,\")\")}var M7={};y(M7,{generate:()=>b$,name:()=>L$,parse:()=>_7,structure:()=>O$});var L$=\"FeatureFunction\",O$={kind:String,feature:String,value:[\"Declaration\",\"Selector\"]};function T$(A,j){let E=(this.features[A]||{})[j];return typeof E!=\"function\"&&this.error(`Unknown feature ${j}()`),E}function _7(A=\"unknown\"){let j=this.tokenStart,F=this.consumeFunctionName(),E=T$.call(this,A,F.toLowerCase());this.skipSC();let k=this.parseWithFallback(()=>{let G=this.tokenIndex,t=E.call(this);return this.eof===!1&&this.isBalanceEdge(G)===!1&&this.error(),t},()=>this.Raw(null,!1));return this.eof||this.eat(22),{type:\"FeatureFunction\",loc:this.getLocation(j,this.tokenStart),kind:A,feature:F,value:k}}function b$(A){this.token(2,A.feature+\"(\"),this.node(A.value),this.token(22,\")\")}var N7={};y(N7,{generate:()=>R$,name:()=>_$,parse:()=>S7,structure:()=>M$});var ge=47,w$=60,He=61,y$=62,_$=\"FeatureRange\",M$={kind:String,left:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",\"Function\"],leftComparison:String,middle:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",\"Function\"],rightComparison:[String,null],right:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",\"Function\",null]};function R7(){switch(this.skipSC(),this.tokenType){case 10:return this.isDelim(ge,this.lookupOffsetNonSC(1))?this.Ratio():this.Number();case 12:return this.Dimension();case 1:return this.Identifier();case 2:return this.parseWithFallback(()=>{let A=this.Function(this.readSequence,this.scope.Value);return this.skipSC(),this.isDelim(ge)&&this.error(),A},()=>this.Ratio());default:this.error(\"Number, dimension, ratio or identifier is expected\")}}function Pe(A){if(this.skipSC(),this.isDelim(w$)||this.isDelim(y$)){let j=this.source[this.tokenStart];return this.next(),this.isDelim(He)?(this.next(),j+\"=\"):j}if(this.isDelim(He))return\"=\";this.error(`Expected ${A?'\":\", ':\"\"}\"<\", \">\", \"=\" or \")\"`)}function S7(A=\"unknown\"){let j=this.tokenStart;this.skipSC(),this.eat(21);let F=R7.call(this),E=Pe.call(this,F.type===\"Identifier\"),k=R7.call(this),G=null,t=null;return this.lookupNonWSType(0)!==22&&(G=Pe.call(this),t=R7.call(this)),this.skipSC(),this.eat(22),{type:\"FeatureRange\",loc:this.getLocation(j,this.tokenStart),kind:A,left:F,leftComparison:E,middle:k,rightComparison:G,right:t}}function R$(A){this.token(21,\"(\"),this.node(A.left),this.tokenize(A.leftComparison),this.node(A.middle),A.right&&(this.tokenize(A.rightComparison),this.node(A.right)),this.token(22,\")\")}var J7={};y(J7,{generate:()=>J$,name:()=>S$,parse:()=>z7,structure:()=>z$,walkContext:()=>N$});var S$=\"Function\",N$=\"function\",z$={name:String,children:[[]]};function z7(A,j){let F=this.tokenStart,E=this.consumeFunctionName(),k=E.toLowerCase(),G;return G=j.hasOwnProperty(k)?j[k].call(this,j):A.call(this,j),this.eof||this.eat(22),{type:\"Function\",loc:this.getLocation(F,this.tokenStart),name:E,children:G}}function J$(A){this.token(2,A.name+\"(\"),this.children(A),this.token(22,\")\")}var V7={};y(V7,{generate:()=>Q$,name:()=>U$,parse:()=>U7,structure:()=>V$});var U$=\"GeneralEnclosed\",V$={kind:String,function:[String,null],children:[[]]};function U7(A){let j=this.tokenStart,F=null;this.tokenType===2?F=this.consumeFunctionName():this.eat(21);let E=this.parseWithFallback(()=>{let k=this.tokenIndex,G=this.readSequence(this.scope.Value);return this.eof===!1&&this.isBalanceEdge(k)===!1&&this.error(),G},()=>this.createSingleNodeList(this.Raw(null,!1)));return this.eof||this.eat(22),{type:\"GeneralEnclosed\",loc:this.getLocation(j,this.tokenStart),kind:A,function:F,children:E}}function Q$(A){A.function?this.token(2,A.function+\"(\"):this.token(21,\"(\"),this.children(A),this.token(22,\")\")}var W7={};y(W7,{generate:()=>Ai,name:()=>Y$,parse:()=>Q7,structure:()=>Z$,xxx:()=>W$});var W$=\"XXX\",Y$=\"Hash\",Z$={value:String};function Q7(){let A=this.tokenStart;return this.eat(4),{type:\"Hash\",loc:this.getLocation(A,this.tokenStart),value:this.substrToCursor(A+1)}}function Ai(A){this.token(4,\"#\"+A.value)}var Z7={};y(Z7,{generate:()=>Fi,name:()=>ji,parse:()=>Y7,structure:()=>Ei});var ji=\"Identifier\",Ei={name:String};function Y7(){return{type:\"Identifier\",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(1)}}function Fi(A){this.token(1,A.name)}var jk={};y(jk,{generate:()=>ti,name:()=>ki,parse:()=>Ak,structure:()=>Gi});var ki=\"IdSelector\",Gi={name:String};function Ak(){let A=this.tokenStart;return this.eat(4),{type:\"IdSelector\",loc:this.getLocation(A,this.tokenStart),name:this.substrToCursor(A+1)}}function ti(A){this.token(9,\"#\"+A.name)}var Fk={};y(Fk,{generate:()=>xi,name:()=>ei,parse:()=>Ek,structure:()=>qi});var ri=46,ei=\"Layer\",qi={name:String};function Ek(){let A=this.tokenStart,j=this.consume(1);for(;this.isDelim(ri);)this.eat(9),j+=\".\"+this.consume(1);return{type:\"Layer\",loc:this.getLocation(A,this.tokenStart),name:j}}function xi(A){this.tokenize(A.name)}var Gk={};y(Gk,{generate:()=>$i,name:()=>li,parse:()=>kk,structure:()=>ni});var li=\"LayerList\",ni={children:[[\"Layer\"]]};function kk(){let A=this.createList();for(this.skipSC();!this.eof&&(A.push(this.Layer()),this.lookupTypeNonSC(0)===18);)this.skipSC(),this.next(),this.skipSC();return{type:\"LayerList\",loc:this.getLocationFromList(A),children:A}}function $i(A){this.children(A,()=>this.token(18,\",\"))}var rk={};y(rk,{generate:()=>oi,name:()=>ii,parse:()=>tk,structure:()=>ai});var ii=\"MediaQuery\",ai={modifier:[String,null],mediaType:[String,null],condition:[\"Condition\",null]};function tk(){let A=this.tokenStart,j=null,F=null,E=null;if(this.skipSC(),this.tokenType===1&&this.lookupTypeNonSC(1)!==21){let k=this.consume(1),G=k.toLowerCase();switch(G===\"not\"||G===\"only\"?(this.skipSC(),j=G,F=this.consume(1)):F=k,this.lookupTypeNonSC(0)){case 1:{this.skipSC(),this.eatIdent(\"and\"),E=this.Condition(\"media\");break}case 23:case 17:case 18:case 0:break;default:this.error(\"Identifier or parenthesis is expected\")}}else switch(this.tokenType){case 1:case 21:case 2:{E=this.Condition(\"media\");break}case 23:case 17:case 0:break;default:this.error(\"Identifier or parenthesis is expected\")}return{type:\"MediaQuery\",loc:this.getLocation(A,this.tokenStart),modifier:j,mediaType:F,condition:E}}function oi(A){A.mediaType?(A.modifier&&this.token(1,A.modifier),this.token(1,A.mediaType),A.condition&&(this.token(1,\"and\"),this.node(A.condition))):A.condition&&this.node(A.condition)}var qk={};y(qk,{generate:()=>Ii,name:()=>Bi,parse:()=>ek,structure:()=>si});var Bi=\"MediaQueryList\",si={children:[[\"MediaQuery\"]]};function ek(){let A=this.createList();for(this.skipSC();!this.eof&&(A.push(this.MediaQuery()),this.tokenType===18);)this.next();return{type:\"MediaQueryList\",loc:this.getLocationFromList(A),children:A}}function Ii(A){this.children(A,()=>this.token(18,\",\"))}var lk={};y(lk,{generate:()=>hi,name:()=>ci,parse:()=>xk,structure:()=>pi});var Ci=38,ci=\"NestingSelector\",pi={};function xk(){let A=this.tokenStart;return this.eatDelim(Ci),{type:\"NestingSelector\",loc:this.getLocation(A,this.tokenStart)}}function hi(){this.token(9,\"&\")}var $k={};y($k,{generate:()=>Di,name:()=>ui,parse:()=>nk,structure:()=>di});var ui=\"Nth\",di={nth:[\"AnPlusB\",\"Identifier\"],selector:[\"SelectorList\",null]};function nk(){this.skipSC();let A=this.tokenStart,j=A,F=null,E;return this.lookupValue(0,\"odd\")||this.lookupValue(0,\"even\")?E=this.Identifier():E=this.AnPlusB(),j=this.tokenStart,this.skipSC(),this.lookupValue(0,\"of\")&&(this.next(),F=this.SelectorList(),j=this.tokenStart),{type:\"Nth\",loc:this.getLocation(A,j),nth:E,selector:F}}function Di(A){this.node(A.nth),A.selector!==null&&(this.token(1,\"of\"),this.node(A.selector))}var ak={};y(ak,{generate:()=>mi,name:()=>Ki,parse:()=>ik,structure:()=>vi});var Ki=\"Number\",vi={value:String};function ik(){return{type:\"Number\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consume(10)}}function mi(A){this.token(10,A.value)}var Bk={};y(Bk,{generate:()=>Hi,name:()=>fi,parse:()=>ok,structure:()=>gi});var fi=\"Operator\",gi={value:String};function ok(){let A=this.tokenStart;return this.next(),{type:\"Operator\",loc:this.getLocation(A,this.tokenStart),value:this.substrToCursor(A)}}function Hi(A){this.tokenize(A.value)}var Ik={};y(Ik,{generate:()=>Li,name:()=>Pi,parse:()=>sk,structure:()=>Xi});var Pi=\"Parentheses\",Xi={children:[[]]};function sk(A,j){let F=this.tokenStart,E=null;return this.eat(21),E=A.call(this,j),this.eof||this.eat(22),{type:\"Parentheses\",loc:this.getLocation(F,this.tokenStart),children:E}}function Li(A){this.token(21,\"(\"),this.children(A),this.token(22,\")\")}var ck={};y(ck,{generate:()=>bi,name:()=>Oi,parse:()=>Ck,structure:()=>Ti});var Oi=\"Percentage\",Ti={value:String};function Ck(){return{type:\"Percentage\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(11)}}function bi(A){this.token(11,A.value+\"%\")}var hk={};y(hk,{generate:()=>Mi,name:()=>wi,parse:()=>pk,structure:()=>_i,walkContext:()=>yi});var wi=\"PseudoClassSelector\",yi=\"function\",_i={name:String,children:[[\"Raw\"],null]};function pk(){let A=this.tokenStart,j=null,F,E;return this.eat(16),this.tokenType===2?(F=this.consumeFunctionName(),E=F.toLowerCase(),this.lookupNonWSType(0)==22?j=this.createList():hasOwnProperty.call(this.pseudo,E)?(this.skipSC(),j=this.pseudo[E].call(this),this.skipSC()):(j=this.createList(),j.push(this.Raw(null,!1))),this.eat(22)):F=this.consume(1),{type:\"PseudoClassSelector\",loc:this.getLocation(A,this.tokenStart),name:F,children:j}}function Mi(A){this.token(16,\":\"),A.children===null?this.token(1,A.name):(this.token(2,A.name+\"(\"),this.children(A),this.token(22,\")\"))}var dk={};y(dk,{generate:()=>zi,name:()=>Ri,parse:()=>uk,structure:()=>Ni,walkContext:()=>Si});var Ri=\"PseudoElementSelector\",Si=\"function\",Ni={name:String,children:[[\"Raw\"],null]};function uk(){let A=this.tokenStart,j=null,F,E;return this.eat(16),this.eat(16),this.tokenType===2?(F=this.consumeFunctionName(),E=F.toLowerCase(),this.lookupNonWSType(0)==22?j=this.createList():hasOwnProperty.call(this.pseudo,E)?(this.skipSC(),j=this.pseudo[E].call(this),this.skipSC()):(j=this.createList(),j.push(this.Raw(null,!1))),this.eat(22)):F=this.consume(1),{type:\"PseudoElementSelector\",loc:this.getLocation(A,this.tokenStart),name:F,children:j}}function zi(A){this.token(16,\":\"),this.token(16,\":\"),A.children===null?this.token(1,A.name):(this.token(2,A.name+\"(\"),this.children(A),this.token(22,\")\"))}var Kk={};y(Kk,{generate:()=>Vi,name:()=>Ji,parse:()=>Dk,structure:()=>Ui});var Xe=47;function Le(){switch(this.skipSC(),this.tokenType){case 10:return this.Number();case 2:return this.Function(this.readSequence,this.scope.Value);default:this.error(\"Number of function is expected\")}}var Ji=\"Ratio\",Ui={left:[\"Number\",\"Function\"],right:[\"Number\",\"Function\",null]};function Dk(){let A=this.tokenStart,j=Le.call(this),F=null;return this.skipSC(),this.isDelim(Xe)&&(this.eatDelim(Xe),F=Le.call(this)),{type:\"Ratio\",loc:this.getLocation(A,this.tokenStart),left:j,right:F}}function Vi(A){this.node(A.left),this.token(9,\"/\"),A.right?this.node(A.right):this.node(10,1)}var mk={};y(mk,{generate:()=>Zi,name:()=>Wi,parse:()=>vk,structure:()=>Yi});function Qi(){return this.tokenIndex>0&&this.lookupType(-1)===13?this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset:this.tokenStart}var Wi=\"Raw\",Yi={value:String};function vk(A,j){let F=this.getTokenStart(this.tokenIndex),E;return this.skipUntilBalanced(this.tokenIndex,A||this.consumeUntilBalanceEnd),j&&this.tokenStart>F?E=Qi.call(this):E=this.tokenStart,{type:\"Raw\",loc:this.getLocation(F,E),value:this.substring(F,E)}}function Zi(A){this.tokenize(A.value)}var gk={};y(gk,{generate:()=>ka,name:()=>ja,parse:()=>fk,structure:()=>Fa,walkContext:()=>Ea});function Oe(){return this.Raw(this.consumeUntilLeftCurlyBracket,!0)}function Aa(){let A=this.SelectorList();return A.type!==\"Raw\"&&this.eof===!1&&this.tokenType!==23&&this.error(),A}var ja=\"Rule\",Ea=\"rule\",Fa={prelude:[\"SelectorList\",\"Raw\"],block:[\"Block\"]};function fk(){let A=this.tokenIndex,j=this.tokenStart,F,E;return this.parseRulePrelude?F=this.parseWithFallback(Aa,Oe):F=Oe.call(this,A),E=this.Block(!0),{type:\"Rule\",loc:this.getLocation(j,this.tokenStart),prelude:F,block:E}}function ka(A){this.node(A.prelude),this.node(A.block)}var Pk={};y(Pk,{generate:()=>ra,name:()=>Ga,parse:()=>Hk,structure:()=>ta});var Ga=\"Scope\",ta={root:[\"SelectorList\",\"Raw\",null],limit:[\"SelectorList\",\"Raw\",null]};function Hk(){let A=null,j=null;this.skipSC();let F=this.tokenStart;return this.tokenType===21&&(this.next(),this.skipSC(),A=this.parseWithFallback(this.SelectorList,()=>this.Raw(!1,!0)),this.skipSC(),this.eat(22)),this.lookupNonWSType(0)===1&&(this.skipSC(),this.eatIdent(\"to\"),this.skipSC(),this.eat(21),this.skipSC(),j=this.parseWithFallback(this.SelectorList,()=>this.Raw(!1,!0)),this.skipSC(),this.eat(22)),{type:\"Scope\",loc:this.getLocation(F,this.tokenStart),root:A,limit:j}}function ra(A){A.root&&(this.token(21,\"(\"),this.node(A.root),this.token(22,\")\")),A.limit&&(this.token(1,\"to\"),this.token(21,\"(\"),this.node(A.limit),this.token(22,\")\"))}var Lk={};y(Lk,{generate:()=>xa,name:()=>ea,parse:()=>Xk,structure:()=>qa});var ea=\"Selector\",qa={children:[[\"TypeSelector\",\"IdSelector\",\"ClassSelector\",\"AttributeSelector\",\"PseudoClassSelector\",\"PseudoElementSelector\",\"Combinator\"]]};function Xk(){let A=this.readSequence(this.scope.Selector);return this.getFirstListNode(A)===null&&this.error(\"Selector is expected\"),{type:\"Selector\",loc:this.getLocationFromList(A),children:A}}function xa(A){this.children(A)}var Tk={};y(Tk,{generate:()=>ia,name:()=>la,parse:()=>Ok,structure:()=>$a,walkContext:()=>na});var la=\"SelectorList\",na=\"selector\",$a={children:[[\"Selector\",\"Raw\"]]};function Ok(){let A=this.createList();for(;!this.eof;){if(A.push(this.Selector()),this.tokenType===18){this.next();continue}break}return{type:\"SelectorList\",loc:this.getLocationFromList(A),children:A}}function ia(A){this.children(A,()=>this.token(18,\",\"))}var yk={};y(yk,{generate:()=>Ba,name:()=>aa,parse:()=>wk,structure:()=>oa});var bk=92,Te=34,be=39;function PE(A){let j=A.length,F=A.charCodeAt(0),E=F===Te||F===be?1:0,k=E===1&&j>1&&A.charCodeAt(j-1)===F?j-2:j-1,G=\"\";for(let t=E;t<=k;t++){let q=A.charCodeAt(t);if(q===bk){if(t===k){t!==j-1&&(G=A.substr(t+1));break}if(q=A.charCodeAt(++t),LA(bk,q)){let e=t-1,r=UA(A,e);t=r-1,G+=x6(A.substring(e+1,r))}else q===13&&A.charCodeAt(t+1)===10&&t++}else G+=A[t]}return G}function we(A,j){let F=j?\"'\":'\"',E=j?be:Te,k=\"\",G=!1;for(let t=0;t<A.length;t++){let q=A.charCodeAt(t);if(q===0){k+=\"\\uFFFD\";continue}if(q<=31||q===127){k+=\"\\\\\"+q.toString(16),G=!0;continue}q===E||q===bk?(k+=\"\\\\\"+A.charAt(t),G=!1):(G&&(TA(q)||JA(q))&&(k+=\" \"),k+=A.charAt(t),G=!1)}return F+k+F}var aa=\"String\",oa={value:String};function wk(){return{type:\"String\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:PE(this.consume(5))}}function Ba(A){this.token(5,we(A.value))}var Mk={};y(Mk,{generate:()=>pa,name:()=>Ia,parse:()=>_k,structure:()=>ca,walkContext:()=>Ca});var sa=33;function _e(){return this.Raw(null,!1)}var Ia=\"StyleSheet\",Ca=\"stylesheet\",ca={children:[[\"Comment\",\"CDO\",\"CDC\",\"Atrule\",\"Rule\",\"Raw\"]]};function _k(){let A=this.tokenStart,j=this.createList(),F;for(;!this.eof;){switch(this.tokenType){case 13:this.next();continue;case 25:if(this.charCodeAt(this.tokenStart+2)!==sa){this.next();continue}F=this.Comment();break;case 14:F=this.CDO();break;case 15:F=this.CDC();break;case 3:F=this.parseWithFallback(this.Atrule,_e);break;default:F=this.parseWithFallback(this.Rule,_e)}j.push(F)}return{type:\"StyleSheet\",loc:this.getLocation(A,this.tokenStart),children:j}}function pa(A){this.children(A)}var Sk={};y(Sk,{generate:()=>da,name:()=>ha,parse:()=>Rk,structure:()=>ua});var ha=\"SupportsDeclaration\",ua={declaration:\"Declaration\"};function Rk(){let A=this.tokenStart;this.eat(21),this.skipSC();let j=this.Declaration();return this.eof||this.eat(22),{type:\"SupportsDeclaration\",loc:this.getLocation(A,this.tokenStart),declaration:j}}function da(A){this.token(21,\"(\"),this.node(A.declaration),this.token(22,\")\")}var Jk={};y(Jk,{generate:()=>ma,name:()=>Ka,parse:()=>zk,structure:()=>va});var Da=42,Me=124;function Nk(){this.tokenType!==1&&this.isDelim(Da)===!1&&this.error(\"Identifier or asterisk is expected\"),this.next()}var Ka=\"TypeSelector\",va={name:String};function zk(){let A=this.tokenStart;return this.isDelim(Me)?(this.next(),Nk.call(this)):(Nk.call(this),this.isDelim(Me)&&(this.next(),Nk.call(this))),{type:\"TypeSelector\",loc:this.getLocation(A,this.tokenStart),name:this.substrToCursor(A)}}function ma(A){this.tokenize(A.name)}var Qk={};y(Qk,{generate:()=>Xa,name:()=>Ha,parse:()=>Vk,structure:()=>Pa});var Re=43,Se=45,Uk=63;function m6(A,j){let F=0;for(let E=this.tokenStart+A;E<this.tokenEnd;E++){let k=this.charCodeAt(E);if(k===Se&&j&&F!==0)return m6.call(this,A+F+1,!1),-1;TA(k)||this.error(j&&F!==0?\"Hyphen minus\"+(F<6?\" or hex digit\":\"\")+\" is expected\":F<6?\"Hex digit is expected\":\"Unexpected input\",E),++F>6&&this.error(\"Too many hex digits\",E)}return this.next(),F}function XE(A){let j=0;for(;this.isDelim(Uk);)++j>A&&this.error(\"Too many question marks\"),this.next()}function fa(A){this.charCodeAt(this.tokenStart)!==A&&this.error((A===Re?\"Plus sign\":\"Hyphen minus\")+\" is expected\")}function ga(){let A=0;switch(this.tokenType){case 10:if(A=m6.call(this,1,!0),this.isDelim(Uk)){XE.call(this,6-A);break}if(this.tokenType===12||this.tokenType===10){fa.call(this,Se),m6.call(this,1,!1);break}break;case 12:A=m6.call(this,1,!0),A>0&&XE.call(this,6-A);break;default:if(this.eatDelim(Re),this.tokenType===1){A=m6.call(this,0,!0),A>0&&XE.call(this,6-A);break}if(this.isDelim(Uk)){this.next(),XE.call(this,5);break}this.error(\"Hex digit or question mark is expected\")}}var Ha=\"UnicodeRange\",Pa={value:String};function Vk(){let A=this.tokenStart;return this.eatIdent(\"u\"),ga.call(this),{type:\"UnicodeRange\",loc:this.getLocation(A,this.tokenStart),value:this.substrToCursor(A)}}function Xa(A){this.tokenize(A.value)}var Zk={};y(Zk,{generate:()=>_a,name:()=>wa,parse:()=>Yk,structure:()=>ya});var La=32,Wk=92,Oa=34,Ta=39,ba=40,Ne=41;function ze(A){let j=A.length,F=4,E=A.charCodeAt(j-1)===Ne?j-2:j-1,k=\"\";for(;F<E&&JA(A.charCodeAt(F));)F++;for(;F<E&&JA(A.charCodeAt(E));)E--;for(let G=F;G<=E;G++){let t=A.charCodeAt(G);if(t===Wk){if(G===E){G!==j-1&&(k=A.substr(G+1));break}if(t=A.charCodeAt(++G),LA(Wk,t)){let q=G-1,e=UA(A,q);G=e-1,k+=x6(A.substring(q+1,e))}else t===13&&A.charCodeAt(G+1)===10&&G++}else k+=A[G]}return k}function Je(A){let j=\"\",F=!1;for(let E=0;E<A.length;E++){let k=A.charCodeAt(E);if(k===0){j+=\"\\uFFFD\";continue}if(k<=31||k===127){j+=\"\\\\\"+k.toString(16),F=!0;continue}k===La||k===Wk||k===Oa||k===Ta||k===ba||k===Ne?(j+=\"\\\\\"+A.charAt(E),F=!1):(F&&TA(k)&&(j+=\" \"),j+=A.charAt(E),F=!1)}return\"url(\"+j+\")\"}var wa=\"Url\",ya={value:String};function Yk(){let A=this.tokenStart,j;switch(this.tokenType){case 7:j=ze(this.consume(7));break;case 2:this.cmpStr(this.tokenStart,this.tokenEnd,\"url(\")||this.error(\"Function name must be `url`\"),this.eat(2),this.skipSC(),j=PE(this.consume(5)),this.skipSC(),this.eof||this.eat(22);break;default:this.error(\"Url or Function is expected\")}return{type:\"Url\",loc:this.getLocation(A,this.tokenStart),value:j}}function _a(A){this.token(7,Je(A.value))}var jG={};y(jG,{generate:()=>Sa,name:()=>Ma,parse:()=>AG,structure:()=>Ra});var Ma=\"Value\",Ra={children:[[]]};function AG(){let A=this.tokenStart,j=this.readSequence(this.scope.Value);return{type:\"Value\",loc:this.getLocation(A,this.tokenStart),children:j}}function Sa(A){this.children(A)}var FG={};y(FG,{generate:()=>Ua,name:()=>za,parse:()=>EG,structure:()=>Ja});var Na=Object.freeze({type:\"WhiteSpace\",loc:null,value:\" \"}),za=\"WhiteSpace\",Ja={value:String};function EG(){return this.eat(13),Na}function Ua(A){this.token(13,A.value)}var Ve={generic:!0,cssWideKeywords:Nj,...ce,node:f6};var kG={};y(kG,{AtrulePrelude:()=>We,Selector:()=>Ze,Value:()=>Fq});var Va=35,Qa=42,Qe=43,Wa=45,Ya=47,Za=117;function g6(A){switch(this.tokenType){case 4:return this.Hash();case 18:return this.Operator();case 21:return this.Parentheses(this.readSequence,A.recognizer);case 19:return this.Brackets(this.readSequence,A.recognizer);case 5:return this.String();case 12:return this.Dimension();case 11:return this.Percentage();case 10:return this.Number();case 2:return this.cmpStr(this.tokenStart,this.tokenEnd,\"url(\")?this.Url():this.Function(this.readSequence,A.recognizer);case 7:return this.Url();case 1:return this.cmpChar(this.tokenStart,Za)&&this.cmpChar(this.tokenStart+1,Qe)?this.UnicodeRange():this.Identifier();case 9:{let j=this.charCodeAt(this.tokenStart);if(j===Ya||j===Qa||j===Qe||j===Wa)return this.Operator();j===Va&&this.error(\"Hex or identifier is expected\",this.tokenStart+1);break}}}var We={getNode:g6};var A4=35,j4=38,E4=42,F4=43,k4=47,Ye=46,G4=62,t4=124,r4=126;function e4(A,j){j.last!==null&&j.last.type!==\"Combinator\"&&A!==null&&A.type!==\"Combinator\"&&j.push({type:\"Combinator\",loc:null,name:\" \"})}function q4(){switch(this.tokenType){case 19:return this.AttributeSelector();case 4:return this.IdSelector();case 16:return this.lookupType(1)===16?this.PseudoElementSelector():this.PseudoClassSelector();case 1:return this.TypeSelector();case 10:case 11:return this.Percentage();case 12:this.charCodeAt(this.tokenStart)===Ye&&this.error(\"Identifier is expected\",this.tokenStart+1);break;case 9:{switch(this.charCodeAt(this.tokenStart)){case F4:case G4:case r4:case k4:return this.Combinator();case Ye:return this.ClassSelector();case E4:case t4:return this.TypeSelector();case A4:return this.IdSelector();case j4:return this.NestingSelector()}break}}}var Ze={onWhiteSpace:e4,getNode:q4};function Aq(){return this.createSingleNodeList(this.Raw(null,!1))}function jq(){let A=this.createList();if(this.skipSC(),A.push(this.Identifier()),this.skipSC(),this.tokenType===18){A.push(this.Operator());let j=this.tokenIndex,F=this.parseCustomProperty?this.Value(null):this.Raw(this.consumeUntilExclamationMarkOrSemicolon,!1);if(F.type===\"Value\"&&F.children.isEmpty){for(let E=j-this.tokenIndex;E<=0;E++)if(this.lookupType(E)===13){F.children.appendData({type:\"WhiteSpace\",loc:null,value:\" \"});break}}A.push(F)}return A}function Eq(A){return A!==null&&A.type===\"Operator\"&&(A.value[A.value.length-1]===\"-\"||A.value[A.value.length-1]===\"+\")}var Fq={getNode:g6,onWhiteSpace(A,j){Eq(A)&&(A.value=\" \"+A.value),Eq(j.last)&&(j.last.value+=\" \")},expression:Aq,var:jq};var x4=new Set([\"none\",\"and\",\"not\",\"or\"]),kq={parse:{prelude(){let A=this.createList();if(this.tokenType===1){let j=this.substring(this.tokenStart,this.tokenEnd);x4.has(j.toLowerCase())||A.push(this.Identifier())}return A.push(this.Condition(\"container\")),A},block(A=!1){return this.Block(A)}}};var Gq={parse:{prelude:null,block(){return this.Block(!0)}}};function GG(A,j){return this.parseWithFallback(()=>{try{return A.call(this)}finally{this.skipSC(),this.lookupNonWSType(0)!==22&&this.error()}},j||(()=>this.Raw(null,!0)))}var tq={layer(){this.skipSC();let A=this.createList(),j=GG.call(this,this.Layer);return(j.type!==\"Raw\"||j.value!==\"\")&&A.push(j),A},supports(){this.skipSC();let A=this.createList(),j=GG.call(this,this.Declaration,()=>GG.call(this,()=>this.Condition(\"supports\")));return(j.type!==\"Raw\"||j.value!==\"\")&&A.push(j),A}},rq={parse:{prelude(){let A=this.createList();switch(this.tokenType){case 5:A.push(this.String());break;case 7:case 2:A.push(this.Url());break;default:this.error(\"String or url() is expected\")}return this.skipSC(),this.tokenType===1&&this.cmpStr(this.tokenStart,this.tokenEnd,\"layer\")?A.push(this.Identifier()):this.tokenType===2&&this.cmpStr(this.tokenStart,this.tokenEnd,\"layer(\")&&A.push(this.Function(null,tq)),this.skipSC(),this.tokenType===2&&this.cmpStr(this.tokenStart,this.tokenEnd,\"supports(\")&&A.push(this.Function(null,tq)),(this.lookupNonWSType(0)===1||this.lookupNonWSType(0)===21)&&A.push(this.MediaQueryList()),A},block:null}};var eq={parse:{prelude(){return this.createSingleNodeList(this.LayerList())},block(){return this.Block(!1)}}};var qq={parse:{prelude(){return this.createSingleNodeList(this.MediaQueryList())},block(A=!1){return this.Block(A)}}};var xq={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(!0)}}};var lq={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(!0)}}};var nq={parse:{prelude(){return this.createSingleNodeList(this.Scope())},block(A=!1){return this.Block(A)}}};var $q={parse:{prelude:null,block(A=!1){return this.Block(A)}}};var iq={parse:{prelude(){return this.createSingleNodeList(this.Condition(\"supports\"))},block(A=!1){return this.Block(A)}}};var aq={container:kq,\"font-face\":Gq,import:rq,layer:eq,media:qq,nest:xq,page:lq,scope:nq,\"starting-style\":$q,supports:iq};function oq(){let A=this.createList();this.skipSC();A:for(;!this.eof;){switch(this.tokenType){case 1:A.push(this.Identifier());break;case 5:A.push(this.String());break;case 18:A.push(this.Operator());break;case 22:break A;default:this.error(\"Identifier, string or comma is expected\")}this.skipSC()}return A}var Hj={parse(){return this.createSingleNodeList(this.SelectorList())}},tG={parse(){return this.createSingleNodeList(this.Selector())}},l4={parse(){return this.createSingleNodeList(this.Identifier())}},n4={parse:oq},LE={parse(){return this.createSingleNodeList(this.Nth())}},Bq={dir:l4,has:Hj,lang:n4,matches:Hj,is:Hj,\"-moz-any\":Hj,\"-webkit-any\":Hj,where:Hj,not:Hj,\"nth-child\":LE,\"nth-last-child\":LE,\"nth-last-of-type\":LE,\"nth-of-type\":LE,slotted:tG,host:tG,\"host-context\":tG};var rG={};y(rG,{AnPlusB:()=>r7,Atrule:()=>q7,AtrulePrelude:()=>l7,AttributeSelector:()=>i7,Block:()=>o7,Brackets:()=>s7,CDC:()=>C7,CDO:()=>p7,ClassSelector:()=>u7,Combinator:()=>D7,Comment:()=>v7,Condition:()=>f7,Declaration:()=>H7,DeclarationList:()=>L7,Dimension:()=>T7,Feature:()=>w7,FeatureFunction:()=>_7,FeatureRange:()=>S7,Function:()=>z7,GeneralEnclosed:()=>U7,Hash:()=>Q7,IdSelector:()=>Ak,Identifier:()=>Y7,Layer:()=>Ek,LayerList:()=>kk,MediaQuery:()=>tk,MediaQueryList:()=>ek,NestingSelector:()=>xk,Nth:()=>nk,Number:()=>ik,Operator:()=>ok,Parentheses:()=>sk,Percentage:()=>Ck,PseudoClassSelector:()=>pk,PseudoElementSelector:()=>uk,Ratio:()=>Dk,Raw:()=>vk,Rule:()=>fk,Scope:()=>Hk,Selector:()=>Xk,SelectorList:()=>Ok,String:()=>wk,StyleSheet:()=>_k,SupportsDeclaration:()=>Rk,TypeSelector:()=>zk,UnicodeRange:()=>Vk,Url:()=>Yk,Value:()=>AG,WhiteSpace:()=>EG});var sq={parseContext:{default:\"StyleSheet\",stylesheet:\"StyleSheet\",atrule:\"Atrule\",atrulePrelude(A){return this.AtrulePrelude(A.atrule?String(A.atrule):null)},mediaQueryList:\"MediaQueryList\",mediaQuery:\"MediaQuery\",condition(A){return this.Condition(A.kind)},rule:\"Rule\",selectorList:\"SelectorList\",selector:\"Selector\",block(){return this.Block(!0)},declarationList:\"DeclarationList\",declaration:\"Declaration\",value:\"Value\"},features:{supports:{selector(){return this.Selector()}},container:{style(){return this.Declaration()}}},scope:kG,atrule:aq,pseudo:Bq,node:rG};var Iq={node:f6};var Cq=G7({...Ve,...sq,...Iq});var{tokenize:_C,parse:cq,generate:eG,lexer:MC,createLexer:RC,walk:pq,find:SC,findLast:NC,findAll:zC,toPlainObject:JC,fromPlainObject:UC,fork:VC}=Cq;function qG(A){let j=cq(A),F=[];return pq(j,(E,k,G)=>{if(E.type===\"Atrule\"&&E.name===\"import\"){let t=eG(E);t=t.replace(/url\\(([^)'\"]+)\\)/g,'url(\"$1\")'),F.push(t),G.remove(k)}}),{cssWithoutImports:eG(j),importRules:F.join(`\n`)}}function i4(A){return Array.from(new Set((0,hq.defaultExtractor)({tailwindConfig:{separator:\":\"}})(A)))}async function a4(A,j,{addPreflight:F=!0}={}){let{cssWithoutImports:E,importRules:k}=qG(j),{build:G}=await $F(`\n ${k}\n ${F?Rt:\"\"}\n ${St}\n ${E}\n @tailwind utilities;\n `);return G(A)}async function o4(A,{minify:j=!0}={}){await _E(new URL(BG,import.meta.url).href);function F(k){return oG({filename:\"input.css\",code:k,minify:j,drafts:{customMedia:!0},nonStandard:{deepSelectorCombinator:!0},include:sj.Nesting|sj.MediaQueries,exclude:sj.LogicalProperties|sj.DirSelector|sj.LightDark,targets:{safari:16<<16|1024,ios_saf:16<<16|1024,firefox:8388608,chrome:7274496},errorRecovery:!0}).code}let E=new TextDecoder().decode(F(F(new TextEncoder().encode(A))));return E=E.replaceAll(\"@media not (\",\"@media not all and (\"),E}async function B4(A,j,{compileCssOptions:F,transformCssOptions:E}={}){let k=i4(A),G=await a4(k,j,F);return await o4(G,E)}var nc=B4;export{a4 as compileCss,nc as default,i4 as extractClassNameCandidates,o4 as transformCss};\n","/**\n * @file\n * Utility functions for managing class name candidates in a JS comment.\n *\n * The JS comment is used as an index for Tailwind CSS class name candidates\n * extracted from each code component. This allows us to build the global CSS\n * using Tailwind CSS.\n *\n * @example\n *\n * ```js\n * // @classNameCandidates {\"card\": [\"bg-primary\", \"text-white\"], \"button\": [\"font-bold\", \"text-white\"]}\n * ```\n */\n\nconst COMMENT = '// @classNameCandidates ' as const;\n\n/**\n * Finds the comment with the class name candidates in the source string.\n */\nexport function findComment(source: string): {\n parsedData: Record<string, string[]>;\n commentStart: number;\n commentEnd: number;\n} | null {\n const commentStart = source.indexOf(COMMENT);\n if (commentStart === -1) {\n return null;\n }\n const commentEnd = source.indexOf('\\n', commentStart);\n const json = source.slice(commentStart + COMMENT.length, commentEnd);\n try {\n const parsedData = JSON.parse(json) as Record<string, string[]>;\n return {\n parsedData,\n commentStart,\n commentEnd,\n };\n } catch (error) {\n return null;\n }\n}\n\n/**\n * Gets unique class name candidates parsed from a source string.\n *\n * @param source - The source string to parse.\n * @returns An array of unique class name candidates.\n */\nexport function getClassNameCandidatesFromComment(source: string): string[] {\n const result = findComment(source);\n if (!result) {\n return [];\n }\n const { parsedData } = result;\n return [...new Set(Object.values(parsedData).flat())];\n}\n\n/**\n * Upserts class name candidates for a component in the source string.\n *\n * @param source - The source string to update.\n * @param componentName - The name of the component to update or insert.\n * @param candidates - The class name candidates for the component.\n */\nexport function upsertClassNameCandidatesInComment(\n source: string,\n componentName: string,\n candidates: string[],\n): {\n nextSource: string;\n nextClassNameCandidates: string[];\n} {\n const initialContent =\n COMMENT +\n JSON.stringify({\n [componentName]: candidates,\n }) +\n '\\n' +\n source;\n\n // If the source is empty, return the initial content.\n if (source === '') {\n return {\n nextSource: initialContent,\n nextClassNameCandidates: candidates,\n };\n }\n\n // If the comment is not found, return the initial content added at the\n // beginning of the source.\n const result = findComment(source);\n if (!result) {\n return {\n nextSource: initialContent,\n nextClassNameCandidates: candidates,\n };\n }\n\n // If the comment is found, update the comment with the new candidates.\n const { parsedData, commentStart, commentEnd } = result;\n parsedData[componentName] = candidates;\n // Replace the old comment with the new one\n return {\n nextSource:\n source.slice(0, commentStart) +\n COMMENT +\n JSON.stringify(parsedData) +\n source.slice(commentEnd),\n nextClassNameCandidates: [...new Set(Object.values(parsedData).flat())],\n };\n}\n\n/**\n * Deletes class name candidates for a component in the source string.\n *\n * @param source - The source string to update.\n * @param componentName - The name of the component to delete.\n */\nexport function deleteClassNameCandidatesInComment(\n source: string,\n componentName: string,\n) {\n const result = findComment(source);\n if (!result) {\n return source;\n }\n const { parsedData, commentStart, commentEnd } = result;\n if (!parsedData[componentName]) {\n return source;\n }\n delete parsedData[componentName];\n return (\n source.slice(0, commentStart) +\n COMMENT +\n JSON.stringify(parsedData) +\n source.slice(commentEnd)\n );\n}\n","/**\n * This is a copy of the transformCss function from below.\n * @see https://github.com/balintbrews/tailwindcss-in-browser/blob/main/src/index.ts\n */\nimport {\n Features as LightningCssFeatures,\n transform as lightningCssTransform,\n} from 'lightningcss';\n\n/**\n * Options for transforming CSS.\n * @see {transformCss}\n */\ntype TransformCssOptions = {\n /**\n * Whether to minify the CSS.\n *\n * @default true\n */\n minify?: boolean;\n};\n\n/**\n * Transforms CSS to ensure compatibility with older browsers.\n *\n * Uses the WASM build of Lightning CSS to match the behavior of Tailwind 4's\n * CLI.\n *\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.1.4/packages/%40tailwindcss-node/src/optimize.ts\n *\n * @param css - The CSS to transform.\n * @param options - Options for transforming the CSS.\n * @param [options.minify=true] - @see {TransformCssOptions.minify}\n *\n * @returns The transformed CSS.\n */\nasync function transformCss(\n css: string,\n { minify = true }: TransformCssOptions = {},\n): Promise<string> {\n function transform(code: Buffer | Uint8Array) {\n return lightningCssTransform({\n filename: 'input.css',\n code: code,\n minify,\n drafts: {\n customMedia: true,\n },\n nonStandard: {\n deepSelectorCombinator: true,\n },\n include: LightningCssFeatures.Nesting | LightningCssFeatures.MediaQueries,\n exclude:\n LightningCssFeatures.LogicalProperties |\n LightningCssFeatures.DirSelector |\n LightningCssFeatures.LightDark,\n targets: {\n safari: (16 << 16) | (4 << 8),\n ios_saf: (16 << 16) | (4 << 8),\n firefox: 128 << 16,\n chrome: 111 << 16,\n },\n errorRecovery: true,\n }).code;\n }\n\n // Running Lightning CSS twice to ensure that adjacent rules are merged after\n // nesting is applied. This creates a more optimized output.\n let out = new TextDecoder().decode(\n transform(transform(new TextEncoder().encode(css))),\n );\n // Work around an issue where the media query range syntax transpilation\n // generates code that is invalid with `@media` queries level 3.\n out = out.replaceAll('@media not (', '@media not all and (');\n\n return out;\n}\nexport { transformCss };\n","import axios from 'axios';\n\nimport { getConfig } from '../config.js';\n\nimport type { AxiosInstance } from 'axios';\nimport type { AssetLibrary, Component } from '../types/Component';\n\nexport interface ApiOptions {\n siteUrl: string;\n clientId: string;\n clientSecret: string;\n scope: string;\n}\n\nexport class ApiService {\n private client: AxiosInstance;\n private readonly siteUrl: string;\n private readonly clientId: string;\n private readonly clientSecret: string;\n private readonly scope: string;\n private accessToken: string | null = null;\n\n private constructor(options: ApiOptions) {\n this.clientId = options.clientId;\n this.clientSecret = options.clientSecret;\n this.siteUrl = options.siteUrl;\n this.scope = options.scope;\n\n // Create the client without authorization headers by default\n this.client = axios.create({\n baseURL: options.siteUrl,\n headers: {\n 'Content-Type': 'application/json',\n // Add the CLI marker header to identify CLI requests\n 'X-Canvas-CLI': '1',\n },\n // Allow longer timeout for uploads\n timeout: 30000,\n transformResponse: [\n (data) => {\n const forbidden = ['Fatal error'];\n\n // data comes as string, check it directly\n if (data.includes && forbidden.some((str) => data.includes(str))) {\n throw new Error(data);\n }\n\n // Parse JSON if it's a string (default axios behavior)\n try {\n return JSON.parse(data);\n } catch {\n return data;\n }\n },\n ],\n });\n }\n\n public static async create(options: ApiOptions): Promise<ApiService> {\n const instance = new ApiService(options);\n try {\n const response = await instance.client.post(\n '/oauth/token',\n new URLSearchParams({\n grant_type: 'client_credentials',\n client_id: instance.clientId,\n client_secret: instance.clientSecret,\n scope: instance.scope,\n }).toString(),\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n },\n );\n\n instance.accessToken = response.data.access_token;\n\n // Update the default headers to include the access token\n instance.client.defaults.headers.common['Authorization'] =\n `Bearer ${instance.accessToken}`;\n } catch (error) {\n instance.handleApiError(error);\n throw new Error(\n 'Failed to initialize API service: Could not obtain access token',\n );\n }\n return instance;\n }\n\n getAccessToken(): string | null {\n return this.accessToken;\n }\n\n /**\n * List all components.\n */\n async listComponents(): Promise<Record<string, Component>> {\n try {\n const response = await this.client.get(\n '/canvas/api/v0/config/js_component',\n );\n return response.data;\n } catch (error) {\n this.handleApiError(error);\n throw new Error('Failed to list components');\n }\n }\n\n /**\n * Create a new component in Canvas.\n */\n async createComponent(\n component: Component,\n raw: boolean = false,\n ): Promise<Component> {\n try {\n const response = await this.client.post(\n '/canvas/api/v0/config/js_component',\n component,\n );\n return response.data;\n } catch (error) {\n // If raw is true (not the default), rethrow so the caller can handle it.\n if (raw) {\n throw error;\n }\n this.handleApiError(error as Error);\n throw new Error(`Failed to create component: '${component.machineName}'`);\n }\n }\n\n /**\n * Get a specific component\n */\n async getComponent(machineName: string): Promise<Component> {\n try {\n const response = await this.client.get(\n `/canvas/api/v0/config/js_component/${machineName}`,\n );\n return response.data;\n } catch (error) {\n this.handleApiError(error);\n throw new Error(`Component '${machineName}' not found`);\n }\n }\n\n /**\n * Update an existing component\n */\n async updateComponent(\n machineName: string,\n component: Partial<Component>,\n ): Promise<Component> {\n try {\n const response = await this.client.patch(\n `/canvas/api/v0/config/js_component/${machineName}`,\n component,\n );\n return response.data;\n } catch (error) {\n this.handleApiError(error);\n throw new Error(`Failed to update component '${machineName}'`);\n }\n }\n\n /**\n * Get global asset library.\n */\n async getGlobalAssetLibrary(): Promise<AssetLibrary> {\n try {\n const response = await this.client.get(\n '/canvas/api/v0/config/asset_library/global',\n );\n return response.data;\n } catch (error) {\n this.handleApiError(error);\n throw new Error('Failed to get global asset library');\n }\n }\n\n /**\n * Update global asset library.\n */\n async updateGlobalAssetLibrary(\n assetLibrary: Partial<AssetLibrary>,\n ): Promise<AssetLibrary> {\n try {\n const response = await this.client.patch(\n '/canvas/api/v0/config/asset_library/global',\n assetLibrary,\n );\n return response.data;\n } catch (error) {\n this.handleApiError(error);\n throw new Error('Failed to update global asset library');\n }\n }\n\n private handleApiError(error: Error): void {\n const config = getConfig();\n const verbose = config.verbose;\n\n if (axios.isAxiosError(error)) {\n if (error.response) {\n const status = error.response.status;\n const data = error.response.data;\n\n // Do not output verbose logs for 404 responses. They are expected when\n // uploading newly created components.\n if (verbose && status !== 404) {\n console.error('API Error Details:');\n console.error(`- Status: ${status}`);\n console.error(`- URL: ${error.config?.url || 'unknown'}`);\n console.error(\n `- Method: ${error.config?.method?.toUpperCase() || 'unknown'}`,\n );\n console.error('- Response data:', JSON.stringify(data, null, 2));\n\n // Hide auth token in logs\n const safeHeaders = { ...error.config?.headers };\n if (safeHeaders && safeHeaders.Authorization) {\n safeHeaders.Authorization = 'Bearer ********';\n }\n console.error(\n '- Request headers:',\n JSON.stringify(safeHeaders, null, 2),\n );\n }\n\n if (status === 401) {\n throw new Error(\n 'Authentication failed. Please check your client ID and secret.',\n );\n } else if (status === 403) {\n throw new Error(\n 'You do not have permission to perform this action. Check your configured scope.',\n );\n } else if (\n data &&\n (data.error || data.error_description || data.hint)\n ) {\n throw new Error(\n `API Error (${status}): ${[\n data.error,\n data.error_description,\n data.hint,\n ]\n .filter(Boolean)\n .join(' | ')}`,\n );\n } else {\n throw new Error(`API Error (${status}): ${error.message}`);\n }\n } else if (error.request) {\n // Request was made but no response received\n if (verbose) {\n console.error('Network Error Details:');\n console.error(`- No response received from server`);\n console.error(`- URL: ${error.config?.url || 'unknown'}`);\n console.error(\n `- Method: ${error.config?.method?.toUpperCase() || 'unknown'}`,\n );\n\n // Hide auth token in logs\n const safeHeaders = { ...error.config?.headers };\n if (safeHeaders && safeHeaders.Authorization) {\n safeHeaders.Authorization = 'Bearer ********';\n }\n console.error(\n '- Request headers:',\n JSON.stringify(safeHeaders, null, 2),\n );\n\n // Check if this is a local development site\n if (this.siteUrl.includes('ddev.site')) {\n console.error('\\nDDEV Local Development Troubleshooting Tips:');\n console.error('1. Make sure DDEV is running: try \"ddev status\"');\n console.error(\n '2. Try using HTTP instead of HTTPS: use \"http://drupal-dev.ddev.site\" as URL',\n );\n console.error('3. Check if the site is accessible in your browser');\n console.error(\n '4. For HTTPS issues: Try \"ddev auth ssl\" to set up local SSL certificates',\n );\n }\n }\n\n if (this.siteUrl.includes('ddev.site')) {\n throw new Error(\n `Network error: No response from DDEV site. Is DDEV running? Try using HTTP instead of HTTPS.`,\n );\n } else {\n throw new Error(\n `Network error: No response from server. Check your site URL and internet connection.`,\n );\n }\n } else {\n if (verbose) {\n console.error('Request Setup Error:');\n console.error(`- Error: ${error.message}`);\n console.error('- Stack:', error.stack);\n }\n throw new Error(`Request setup error: ${error.message}`);\n }\n } else if (error instanceof Error) {\n if (verbose) {\n console.error('General Error:');\n console.error(`- Message: ${error.message}`);\n console.error('- Stack:', error.stack);\n }\n throw new Error(`Network error: ${error.message}`);\n } else {\n if (verbose) {\n console.error('Unknown Error:', error);\n }\n throw new Error('Unknown API error occurred');\n }\n }\n}\n\nexport function createApiService(): Promise<ApiService> {\n const config = getConfig();\n\n if (!config.siteUrl) {\n throw new Error(\n 'Site URL is required. Set it in the CANVAS_SITE_URL environment variable or pass it with --site-url.',\n );\n }\n\n if (!config.clientId) {\n throw new Error(\n 'Client ID is required. Set it in the CANVAS_CLIENT_ID environment variable or pass it with --client-id.',\n );\n }\n\n if (!config.clientSecret) {\n throw new Error(\n 'Client secret is required. Set it in the CANVAS_CLIENT_SECRET environment variable or pass it with --client-secret.',\n );\n }\n\n if (!config.scope) {\n throw new Error(\n 'Scope is required. Set it in the CANVAS_SCOPE environment variable or pass it with --scope.',\n );\n }\n\n return ApiService.create({\n siteUrl: config.siteUrl,\n clientId: config.clientId,\n clientSecret: config.clientSecret,\n scope: config.scope,\n });\n}\n","import fs from 'fs/promises';\nimport os from 'os';\nimport path from 'path';\nimport chalk from 'chalk';\nimport * as p from '@clack/prompts';\n\nexport const CANVAS_CACHE_DIR = path.join(os.homedir(), '.canvas');\n\n// Download the JS source of all code components into a local directory: ~/.canvas\nexport async function downloadJsSourceFromCanvas(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n componentsToDownload: Record<string, any>,\n) {\n for (const key in componentsToDownload) {\n const component = componentsToDownload[key];\n try {\n // Create component directory structure\n const componentDir = path.join(CANVAS_CACHE_DIR, component.machineName);\n await fs.rm(componentDir, { recursive: true, force: true });\n await fs.mkdir(componentDir, { recursive: true });\n\n // Create JS file\n if (component.sourceCodeJs) {\n await fs.writeFile(\n path.join(componentDir, `index.jsx`),\n component.sourceCodeJs,\n 'utf-8',\n );\n }\n } catch (error) {\n if (error instanceof Error) {\n p.note(chalk.red(`Error: ${error.message}`));\n } else {\n p.note(chalk.red(`Unknown error: ${String(error)}`));\n }\n }\n }\n}\n\n// Copy local JS sources from the CLI components directory to ~/.canvas\nexport async function copyLocalJsSource(\n componentsToCopy: string[],\n): Promise<void> {\n try {\n // Ensure the target directory exists\n await fs.mkdir(CANVAS_CACHE_DIR, { recursive: true });\n // Copy each component to the target directory\n for (const componentPath of componentsToCopy) {\n const baseName = path.basename(componentPath);\n const sourcePath = componentPath;\n const targetPath = path.join(CANVAS_CACHE_DIR, baseName);\n // Check if it's a directory\n const stats = await fs.stat(sourcePath);\n if (stats.isDirectory()) {\n // Create the component directory in the target\n await fs.mkdir(targetPath, { recursive: true });\n const sourceFile = path.join(sourcePath, 'index.jsx');\n const targetFile = path.join(targetPath, 'index.jsx');\n await fs.copyFile(sourceFile, targetFile);\n }\n }\n } catch (error) {\n if (error instanceof Error) {\n p.note(chalk.red(`Error: ${error.message}`));\n } else {\n p.note(chalk.red(`Unknown error: ${String(error)}`));\n }\n }\n}\n\nexport async function cleanUpCacheDirectory(): Promise<void> {\n try {\n const cacheEntries = await fs.readdir(CANVAS_CACHE_DIR, {\n withFileTypes: true,\n });\n for (const entry of cacheEntries) {\n const entryPath = path.join(CANVAS_CACHE_DIR, entry.name);\n if (entry.isDirectory()) {\n await fs.rm(entryPath, { recursive: true, force: true });\n } else {\n await fs.unlink(entryPath);\n }\n }\n } catch (error) {\n p.note(\n chalk.red(\n `Failed to clean cache directory contents: ${error instanceof Error ? error.message : String(error)}`,\n ),\n );\n }\n}\n","import { promises as fs } from 'fs';\nimport path from 'path';\nimport { compileCss, extractClassNameCandidates } from 'tailwindcss-in-browser';\nimport { upsertClassNameCandidatesInComment } from '@drupal-canvas/ui/features/code-editor/utils/classNameCandidates';\n\nimport { getConfig } from '../config';\nimport { transformCss } from '../lib/transform-css';\nimport { createApiService } from '../services/api';\nimport {\n CANVAS_CACHE_DIR,\n cleanUpCacheDirectory,\n copyLocalJsSource,\n downloadJsSourceFromCanvas,\n} from './process-cache-dir';\n\nimport type { Component } from '../types/Component';\nimport type { Result } from '../types/Result';\n\nexport async function getAllClassNameCandidatesFromCacheDir(\n componentsToDownload: Record<string, Component>,\n localComponentsToCopy: string[],\n) {\n if (Object.keys(componentsToDownload).length > 0) {\n // Download the JS source of all online code components to ~/.canvas.\n await downloadJsSourceFromCanvas(componentsToDownload);\n }\n // Copy local JS source files to ~/.canvas.\n await copyLocalJsSource(localComponentsToCopy);\n\n const cacheEntries = await fs.readdir(CANVAS_CACHE_DIR, {\n withFileTypes: true,\n });\n const cacheDirs = cacheEntries\n .filter((entry) => entry.isDirectory())\n .map((dir) => path.join(CANVAS_CACHE_DIR, dir.name));\n\n let allClassNameCandidates: string[] = [];\n\n // Get the class name candidates from all components in the cache directory.\n for (const cacheDir of cacheDirs) {\n const componentClassNameCandidates =\n await getClassNameCandidatesForComponent(cacheDir);\n allClassNameCandidates = [\n ...allClassNameCandidates,\n ...componentClassNameCandidates,\n ];\n }\n // Delete the contents of the cache directory at the end.\n await cleanUpCacheDirectory();\n\n return allClassNameCandidates;\n}\n\n// Builds CSS using the given class name candidates.\nexport async function buildTailwindCss(\n classNameCandidates: string[],\n globalSourceCodeCss: string,\n distDir: string,\n) {\n const compiledTwCss = await compileCss(\n classNameCandidates,\n globalSourceCodeCss,\n );\n const transformedTwCss = await transformCss(compiledTwCss);\n await fs.writeFile(path.join(distDir, 'index.css'), transformedTwCss);\n}\n\n// Extracts class name candidates from a component's JS source code.\nexport async function getClassNameCandidatesForComponent(\n dir: string,\n): Promise<string[]> {\n const componentName = path.basename(dir);\n const config = getConfig();\n const componentsDir = config.componentDir;\n const distDir = path.join(componentsDir, 'dist');\n\n // Read the JS source code of the component from the cache directory.\n const jsSource = await fs.readFile(path.join(dir, 'index.jsx'), 'utf-8');\n\n // Read the current global source code JS from the components' directory.\n // components/dist/index.js read the global source code JS.\n const currentGlobalSourceCodeJs = await fs.readFile(\n path.join(distDir, 'index.js'),\n 'utf-8',\n );\n // Extract class name candidates from the source code.\n const classNameCandidates = extractClassNameCandidates(jsSource);\n\n // Add it to our globally tracked index of class name candidates, which\n // are extracted from all code components. They're stored as a JS comment\n // in the global asset library.\n // @see ui/src/features/code-editor/utils/classNameCandidates.ts\n const { nextSource: globalJSClassNameIndex, nextClassNameCandidates } =\n upsertClassNameCandidatesInComment(\n currentGlobalSourceCodeJs,\n componentName,\n classNameCandidates,\n );\n\n // Write this to components/dist/index.js.\n await fs.writeFile(path.join(distDir, 'index.js'), globalJSClassNameIndex);\n\n return nextClassNameCandidates;\n}\n\n/**\n * Complete Tailwind CSS building workflow that can be shared between commands\n */\nexport async function buildTailwindForComponents(\n selectedComponents: string[],\n): Promise<Result> {\n try {\n const config = getConfig();\n const apiService = await createApiService();\n\n // Fetch all components from the API to prepare for the Tailwind CSS build.\n const onlineComponents = await apiService.listComponents();\n const globalAssetLibrary = await apiService.getGlobalAssetLibrary();\n const globalSourceCodeJs = globalAssetLibrary.js.original;\n const globalSourceCodeCss = globalAssetLibrary.css.original;\n\n // Write the existing global JS source code to the components' dist directory.\n const distDir = path.join(config.componentDir, 'dist');\n await fs.mkdir(distDir, { recursive: true });\n const targetFile = path.join(distDir, 'index.js');\n await fs.writeFile(targetFile, globalSourceCodeJs, 'utf-8');\n\n // Gather all class name candidates from both local and online components.\n const allClassNameCandidates = await getAllClassNameCandidatesFromCacheDir(\n onlineComponents,\n selectedComponents,\n );\n\n await buildTailwindCss(\n allClassNameCandidates,\n globalSourceCodeCss,\n distDir,\n );\n\n return {\n itemName: 'Tailwind CSS',\n success: true,\n };\n } catch (error) {\n return {\n itemName: 'Tailwind CSS',\n success: false,\n details: [\n {\n heading: 'Error',\n content: error instanceof Error ? error.message : String(error),\n },\n ],\n };\n }\n}\n","import { transformSync } from '@swc/wasm';\n\nimport type { Options as SwcOptions } from '@swc/wasm';\n\n// @see src/features/code-editor/hooks/useCompileJavaScript.ts\nconst SWC_OPTIONS: SwcOptions = {\n jsc: {\n parser: {\n syntax: 'ecmascript',\n jsx: true,\n },\n target: 'es2015',\n transform: {\n react: {\n pragmaFrag: 'Fragment',\n throwIfNamespace: true,\n development: false,\n runtime: 'automatic',\n },\n },\n },\n module: {\n type: 'es6',\n },\n} as const;\n\nexport function compileJS(source: string): string {\n const { code } = transformSync(source, SWC_OPTIONS);\n return code;\n}\n","import fs from 'fs/promises';\n\nexport async function fileExists(filePath: string): Promise<boolean> {\n try {\n await fs.access(filePath);\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function directoryExists(dirPath: string): Promise<boolean> {\n return await fs\n .stat(dirPath)\n .then(() => true)\n .catch(() => false);\n}\n","import { promises as fs } from 'fs';\nimport path from 'path';\n\nimport { compileJS } from '../lib/compile-js';\nimport { transformCss } from '../lib/transform-css';\nimport { fileExists } from './utils';\n\nimport type { Result } from '../types/Result';\n\nexport async function buildComponent(componentDir: string): Promise<Result> {\n const componentName = path.basename(componentDir);\n const result: Result = {\n itemName: componentName,\n success: true,\n details: [],\n };\n\n // Create `dist` directory\n const distDir = path.join(componentDir, 'dist');\n try {\n await fs.mkdir(distDir, { recursive: true });\n } catch (error) {\n result.success = false;\n result.details?.push({\n heading: 'Error while creating `dist` directory',\n content: String(error),\n });\n return result;\n }\n\n // Read JS source and compile it.\n try {\n const jsSource = await fs.readFile(\n path.join(componentDir, 'index.jsx'),\n 'utf-8',\n );\n const jsCompiled = compileJS(jsSource);\n await fs.writeFile(path.join(distDir, 'index.js'), jsCompiled);\n } catch (error) {\n result.success = false;\n result.details?.push({\n heading: 'Error while transforming JavaScript',\n content: String(error),\n });\n }\n\n // Read the CSS source and transpile it.\n try {\n const cssPath = path.join(componentDir, 'index.css');\n const cssFileExists = await fileExists(cssPath);\n if (cssFileExists) {\n const cssSource = await fs.readFile(cssPath, 'utf-8');\n const cssTranspiled = await transformCss(cssSource);\n await fs.writeFile(path.join(distDir, 'index.css'), cssTranspiled);\n }\n } catch (error) {\n result.success = false;\n result.details?.push({\n heading: 'Error while transforming CSS',\n content: String(error),\n });\n }\n\n return result;\n}\n","import chalk from 'chalk';\nimport { table } from 'table';\nimport * as p from '@clack/prompts';\n\nimport type { Result } from '../types/Result';\n\n/**\n * Report operation results in a table.\n */\nexport function reportResults(\n results: Result[],\n title: string,\n itemLabel = 'Component',\n): void {\n // Alphabetize results by component name.\n results.sort((a, b) => a.itemName.localeCompare(b.itemName));\n\n const successful = results.filter((r) => r.success).length;\n const failed = results.filter((r) => !r.success).length;\n const hasDetails = results.some((r) => (r.details?.length ?? 0) > 0);\n\n const succeededText =\n failed === 0\n ? chalk.green(`${successful} succeeded`)\n : `${successful} succeeded`;\n const failedText =\n failed > 0 ? chalk.red(`${failed} failed`) : chalk.dim(`${failed} failed`);\n const summary = `${succeededText}, ${failedText}`;\n\n if (results.length > 0) {\n const tableData = [\n hasDetails ? [chalk.bold(title), '', ''] : [chalk.bold(title), ''],\n hasDetails ? [itemLabel, 'Status', 'Details'] : [itemLabel, 'Status'],\n ...results.map((r) =>\n hasDetails\n ? [\n r.itemName,\n r.success ? chalk.green('Success') : chalk.red('Failed'),\n r.details\n ?.map((d) =>\n d.heading\n ? `${chalk.underline(d.heading)}:\\n${d.content}`\n : d.content,\n )\n .join('\\n\\n'),\n ]\n : [\n r.itemName,\n r.success ? chalk.green('Success') : chalk.red('Failed'),\n ],\n ),\n hasDetails ? ['SUMMARY', '', summary] : ['SUMMARY', summary],\n ];\n p.log.info(\n table(tableData, {\n spanningCells: [\n {\n row: 0,\n col: 0,\n colSpan: hasDetails ? 3 : 2,\n alignment: 'center',\n },\n {\n row: results.length + 2,\n col: 0,\n colSpan: hasDetails ? 2 : 1,\n alignment: hasDetails ? 'right' : 'left',\n },\n ],\n }),\n );\n }\n}\n","import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n | 'aix'\n | 'android'\n | 'darwin'\n | 'freebsd'\n | 'haiku'\n | 'linux'\n | 'openbsd'\n | 'sunos'\n | 'win32'\n | 'cygwin'\n | 'netbsd'\n\nexport interface MinimatchOptions {\n nobrace?: boolean\n nocomment?: boolean\n nonegate?: boolean\n debug?: boolean\n noglobstar?: boolean\n noext?: boolean\n nonull?: boolean\n windowsPathsNoEscape?: boolean\n allowWindowsEscape?: boolean\n partial?: boolean\n dot?: boolean\n nocase?: boolean\n nocaseMagicOnly?: boolean\n magicalBraces?: boolean\n matchBase?: boolean\n flipNegate?: boolean\n preserveMultipleSlashes?: boolean\n optimizationLevel?: number\n platform?: Platform\n windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n p: string,\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n (pattern: string, options: MinimatchOptions = {}) =>\n (p: string) =>\n minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n const orig = minimatch\n\n const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n orig(p, pattern, ext(def, options))\n\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern: string, options: MinimatchOptions = {}) {\n super(pattern, ext(def, options))\n }\n static defaults(options: MinimatchOptions) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n },\n\n AST: class AST extends orig.AST {\n /* c8 ignore start */\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n super(type, parent, ext(def, options))\n }\n /* c8 ignore stop */\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n return orig.AST.fromGlob(pattern, ext(def, options))\n }\n },\n\n unescape: (\n s: string,\n options: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n ) => orig.unescape(s, ext(def, options)),\n\n escape: (\n s: string,\n options: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n ) => orig.escape(s, ext(def, options)),\n\n filter: (pattern: string, options: MinimatchOptions = {}) =>\n orig.filter(pattern, ext(def, options)),\n\n defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n orig.makeRe(pattern, ext(def, options)),\n\n braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n orig.braceExpand(pattern, ext(def, options)),\n\n match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n orig.match(list, pattern, ext(def, options)),\n\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n })\n}\nminimatch.defaults = defaults\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li <https://github.com/yetingli> for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n list: string[],\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n const mm = new Minimatch(pattern, options)\n list = list.filter(f => mm.match(f))\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n _src?: string\n _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n options: MinimatchOptions\n set: ParseReturnFiltered[][]\n pattern: string\n\n windowsPathsNoEscape: boolean\n nonegate: boolean\n negate: boolean\n comment: boolean\n empty: boolean\n preserveMultipleSlashes: boolean\n partial: boolean\n globSet: string[]\n globParts: string[][]\n nocase: boolean\n\n isWindows: boolean\n platform: Platform\n windowsNoMagicRoot: boolean\n\n regexp: false | null | MMRegExp\n constructor(pattern: string, options: MinimatchOptions = {}) {\n assertValidPattern(pattern)\n\n options = options || {}\n this.options = options\n this.pattern = pattern\n this.platform = options.platform || defaultPlatform\n this.isWindows = this.platform === 'win32'\n this.windowsPathsNoEscape =\n !!options.windowsPathsNoEscape || options.allowWindowsEscape === false\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/')\n }\n this.preserveMultipleSlashes = !!options.preserveMultipleSlashes\n this.regexp = null\n this.negate = false\n this.nonegate = !!options.nonegate\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n this.nocase = !!this.options.nocase\n this.windowsNoMagicRoot =\n options.windowsNoMagicRoot !== undefined\n ? options.windowsNoMagicRoot\n : !!(this.isWindows && this.nocase)\n\n this.globSet = []\n this.globParts = []\n this.set = []\n\n // make the set of regexps etc.\n this.make()\n }\n\n hasMagic(): boolean {\n if (this.options.magicalBraces && this.set.length > 1) {\n return true\n }\n for (const pattern of this.set) {\n for (const part of pattern) {\n if (typeof part !== 'string') return true\n }\n }\n return false\n }\n\n debug(..._: any[]) {}\n\n make() {\n const pattern = this.pattern\n const options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())]\n\n if (options.debug) {\n this.debug = (...args: any[]) => console.error(...args)\n }\n\n this.debug(this.pattern, this.globSet)\n\n // step 3: now we have a set, so turn each one into a series of\n // path-portion matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n //\n // First, we preprocess to make the glob pattern sets a bit simpler\n // and deduped. There are some perf-killing patterns that can cause\n // problems with a glob walk, but we can simplify them down a bit.\n const rawGlobParts = this.globSet.map(s => this.slashSplit(s))\n this.globParts = this.preprocess(rawGlobParts)\n this.debug(this.pattern, this.globParts)\n\n // glob --> regexps\n let set = this.globParts.map((s, _, __) => {\n if (this.isWindows && this.windowsNoMagicRoot) {\n // check if it's a drive or unc path.\n const isUNC =\n s[0] === '' &&\n s[1] === '' &&\n (s[2] === '?' || !globMagic.test(s[2])) &&\n !globMagic.test(s[3])\n const isDrive = /^[a-z]:/i.test(s[0])\n if (isUNC) {\n return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]\n } else if (isDrive) {\n return [s[0], ...s.slice(1).map(ss => this.parse(ss))]\n }\n }\n return s.map(ss => this.parse(ss))\n })\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n this.set = set.filter(\n s => s.indexOf(false) === -1\n ) as ParseReturnFiltered[][]\n\n // do not treat the ? in UNC paths as magic\n if (this.isWindows) {\n for (let i = 0; i < this.set.length; i++) {\n const p = this.set[i]\n if (\n p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])\n ) {\n p[2] = '?'\n }\n }\n }\n\n this.debug(this.pattern, this.set)\n }\n\n // various transforms to equivalent pattern sets that are\n // faster to process in a filesystem walk. The goal is to\n // eliminate what we can, and push all ** patterns as far\n // to the right as possible, even if it increases the number\n // of patterns that we have to process.\n preprocess(globParts: string[][]) {\n // if we're not in globstar mode, then turn all ** into *\n if (this.options.noglobstar) {\n for (let i = 0; i < globParts.length; i++) {\n for (let j = 0; j < globParts[i].length; j++) {\n if (globParts[i][j] === '**') {\n globParts[i][j] = '*'\n }\n }\n }\n }\n\n const { optimizationLevel = 1 } = this.options\n\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts)\n globParts = this.secondPhasePreProcess(globParts)\n } else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts)\n } else {\n // just collapse multiple ** portions into one\n globParts = this.adjascentGlobstarOptimize(globParts)\n }\n\n return globParts\n }\n\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let i = gs\n while (parts[i + 1] === '**') {\n i++\n }\n if (i !== gs) {\n parts.splice(gs, i - gs)\n }\n }\n return parts\n })\n }\n\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n parts = parts.reduce((set: string[], part) => {\n const prev = set[set.length - 1]\n if (part === '**' && prev === '**') {\n return set\n }\n if (part === '..') {\n if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n set.pop()\n return set\n }\n }\n set.push(part)\n return set\n }, [])\n return parts.length === 0 ? [''] : parts\n })\n }\n\n levelTwoFileOptimize(parts: string | string[]) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts)\n }\n let didSomething: boolean = false\n do {\n didSomething = false\n // <pre>/<e>/<rest> -> <pre>/<rest>\n if (!this.preserveMultipleSlashes) {\n for (let i = 1; i < parts.length - 1; i++) {\n const p = parts[i]\n // don't squeeze out UNC patterns\n if (i === 1 && p === '' && parts[0] === '') continue\n if (p === '.' || p === '') {\n didSomething = true\n parts.splice(i, 1)\n i--\n }\n }\n if (\n parts[0] === '.' &&\n parts.length === 2 &&\n (parts[1] === '.' || parts[1] === '')\n ) {\n didSomething = true\n parts.pop()\n }\n }\n\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n let dd: number = 0\n while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n const p = parts[dd - 1]\n if (p && p !== '.' && p !== '..' && p !== '**') {\n didSomething = true\n parts.splice(dd - 1, 2)\n dd -= 2\n }\n }\n } while (didSomething)\n return parts.length === 0 ? [''] : parts\n }\n\n // First phase: single-pattern processing\n // <pre> is 1 or more portions\n // <rest> is 1 or more portions\n // <p> is any portion other than ., .., '', or **\n // <e> is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n // <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}\n // <pre>/<e>/<rest> -> <pre>/<rest>\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n // **/**/<rest> -> **/<rest>\n //\n // **/*/<rest> -> */**/<rest> <== not valid because ** doesn't follow\n // this WOULD be allowed if ** did follow symlinks, or * didn't\n firstPhasePreProcess(globParts: string[][]) {\n let didSomething = false\n do {\n didSomething = false\n // <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = gs\n while (parts[gss + 1] === '**') {\n // <pre>/**/**/<rest> -> <pre>/**/<rest>\n gss++\n }\n // eg, if gs is 2 and gss is 4, that means we have 3 **\n // parts, and can remove 2 of them.\n if (gss > gs) {\n parts.splice(gs + 1, gss - gs)\n }\n\n let next = parts[gs + 1]\n const p = parts[gs + 2]\n const p2 = parts[gs + 3]\n if (next !== '..') continue\n if (\n !p ||\n p === '.' ||\n p === '..' ||\n !p2 ||\n p2 === '.' ||\n p2 === '..'\n ) {\n continue\n }\n didSomething = true\n // edit parts in place, and push the new one\n parts.splice(gs, 1)\n const other = parts.slice(0)\n other[gs] = '**'\n globParts.push(other)\n gs--\n }\n\n // <pre>/<e>/<rest> -> <pre>/<rest>\n if (!this.preserveMultipleSlashes) {\n for (let i = 1; i < parts.length - 1; i++) {\n const p = parts[i]\n // don't squeeze out UNC patterns\n if (i === 1 && p === '' && parts[0] === '') continue\n if (p === '.' || p === '') {\n didSomething = true\n parts.splice(i, 1)\n i--\n }\n }\n if (\n parts[0] === '.' &&\n parts.length === 2 &&\n (parts[1] === '.' || parts[1] === '')\n ) {\n didSomething = true\n parts.pop()\n }\n }\n\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n let dd: number = 0\n while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n const p = parts[dd - 1]\n if (p && p !== '.' && p !== '..' && p !== '**') {\n didSomething = true\n const needDot = dd === 1 && parts[dd + 1] === '**'\n const splin = needDot ? ['.'] : []\n parts.splice(dd - 1, 2, ...splin)\n if (parts.length === 0) parts.push('')\n dd -= 2\n }\n }\n }\n } while (didSomething)\n\n return globParts\n }\n\n // second phase: multi-pattern dedupes\n // {<pre>/*/<rest>,<pre>/<p>/<rest>} -> <pre>/*/<rest>\n // {<pre>/<rest>,<pre>/<rest>} -> <pre>/<rest>\n // {<pre>/**/<rest>,<pre>/<rest>} -> <pre>/**/<rest>\n //\n // {<pre>/**/<rest>,<pre>/**/<p>/<rest>} -> <pre>/**/<rest>\n // ^-- not valid because ** doens't follow symlinks\n secondPhasePreProcess(globParts: string[][]): string[][] {\n for (let i = 0; i < globParts.length - 1; i++) {\n for (let j = i + 1; j < globParts.length; j++) {\n const matched = this.partsMatch(\n globParts[i],\n globParts[j],\n !this.preserveMultipleSlashes\n )\n if (matched) {\n globParts[i] = []\n globParts[j] = matched\n break\n }\n }\n }\n return globParts.filter(gs => gs.length)\n }\n\n partsMatch(\n a: string[],\n b: string[],\n emptyGSMatch: boolean = false\n ): false | string[] {\n let ai = 0\n let bi = 0\n let result: string[] = []\n let which: string = ''\n while (ai < a.length && bi < b.length) {\n if (a[ai] === b[bi]) {\n result.push(which === 'b' ? b[bi] : a[ai])\n ai++\n bi++\n } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n result.push(a[ai])\n ai++\n } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n result.push(b[bi])\n bi++\n } else if (\n a[ai] === '*' &&\n b[bi] &&\n (this.options.dot || !b[bi].startsWith('.')) &&\n b[bi] !== '**'\n ) {\n if (which === 'b') return false\n which = 'a'\n result.push(a[ai])\n ai++\n bi++\n } else if (\n b[bi] === '*' &&\n a[ai] &&\n (this.options.dot || !a[ai].startsWith('.')) &&\n a[ai] !== '**'\n ) {\n if (which === 'a') return false\n which = 'b'\n result.push(b[bi])\n ai++\n bi++\n } else {\n return false\n }\n }\n // if we fall out of the loop, it means they two are identical\n // as long as their lengths match\n return a.length === b.length && result\n }\n\n parseNegate() {\n if (this.nonegate) return\n\n const pattern = this.pattern\n let negate = false\n let negateOffset = 0\n\n for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.slice(negateOffset)\n this.negate = negate\n }\n\n // set partial to true to test if, for example,\n // \"/a/b\" matches the start of \"/*/b/*/d\"\n // Partial means, if you run out of file before you run\n // out of pattern, then that's fine, as long as all\n // the parts match.\n matchOne(file: string[], pattern: ParseReturn[], partial: boolean = false) {\n const options = this.options\n\n // UNC paths like //?/X:/... can match X:/... and vice versa\n // Drive letters in absolute drive or unc paths are always compared\n // case-insensitively.\n if (this.isWindows) {\n const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0])\n const fileUNC =\n !fileDrive &&\n file[0] === '' &&\n file[1] === '' &&\n file[2] === '?' &&\n /^[a-z]:$/i.test(file[3])\n\n const patternDrive =\n typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0])\n const patternUNC =\n !patternDrive &&\n pattern[0] === '' &&\n pattern[1] === '' &&\n pattern[2] === '?' &&\n typeof pattern[3] === 'string' &&\n /^[a-z]:$/i.test(pattern[3])\n\n const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined\n const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined\n if (typeof fdi === 'number' && typeof pdi === 'number') {\n const [fd, pd]: [string, string] = [file[fdi], pattern[pdi] as string]\n if (fd.toLowerCase() === pd.toLowerCase()) {\n pattern[pdi] = fd\n if (pdi > fdi) {\n pattern = pattern.slice(pdi)\n } else if (fdi > pdi) {\n file = file.slice(fdi)\n }\n }\n }\n }\n\n // resolve and reduce . and .. portions in the file as well.\n // dont' need to do the second phase, because it's only one string[]\n const { optimizationLevel = 1 } = this.options\n if (optimizationLevel >= 2) {\n file = this.levelTwoFileOptimize(file)\n }\n\n this.debug('matchOne', this, { file, pattern })\n this.debug('matchOne', file.length, pattern.length)\n\n for (\n var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n fi < fl && pi < pl;\n fi++, pi++\n ) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* c8 ignore start */\n if (p === false) {\n return false\n }\n /* c8 ignore stop */\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (\n file[fi] === '.' ||\n file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')\n )\n return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (\n swallowee === '.' ||\n swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')\n ) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n /* c8 ignore start */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) {\n return true\n }\n }\n /* c8 ignore stop */\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n let hit: boolean\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = p.test(f)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return fi === fl - 1 && file[fi] === ''\n\n /* c8 ignore start */\n } else {\n // should be unreachable.\n throw new Error('wtf?')\n }\n /* c8 ignore stop */\n }\n\n braceExpand() {\n return braceExpand(this.pattern, this.options)\n }\n\n parse(pattern: string): ParseReturn {\n assertValidPattern(pattern)\n\n const options = this.options\n\n // shortcuts\n if (pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n // far and away, the most common glob pattern parts are\n // *, *.*, and *.<ext> Add a fast check method for those.\n let m: RegExpMatchArray | null\n let fastTest: null | ((f: string) => boolean) = null\n if ((m = pattern.match(starRE))) {\n fastTest = options.dot ? starTestDot : starTest\n } else if ((m = pattern.match(starDotExtRE))) {\n fastTest = (\n options.nocase\n ? options.dot\n ? starDotExtTestNocaseDot\n : starDotExtTestNocase\n : options.dot\n ? starDotExtTestDot\n : starDotExtTest\n )(m[1])\n } else if ((m = pattern.match(qmarksRE))) {\n fastTest = (\n options.nocase\n ? options.dot\n ? qmarksTestNocaseDot\n : qmarksTestNocase\n : options.dot\n ? qmarksTestDot\n : qmarksTest\n )(m)\n } else if ((m = pattern.match(starDotStarRE))) {\n fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n } else if ((m = pattern.match(dotStarRE))) {\n fastTest = dotStarTest\n }\n\n const re = AST.fromGlob(pattern, this.options).toMMPattern()\n if (fastTest && typeof re === 'object') {\n // Avoids overriding in frozen environments\n Reflect.defineProperty(re, 'test', { value: fastTest })\n }\n return re\n }\n\n makeRe() {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n const set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n const options = this.options\n\n const twoStar = options.noglobstar\n ? star\n : options.dot\n ? twoStarDot\n : twoStarNoDot\n const flags = new Set(options.nocase ? ['i'] : [])\n\n // regexpify non-globstar patterns\n // if ** is only item, then we just do one twoStar\n // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n // if ** is last, append (\\/twoStar|) to previous\n // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n // then filter out GLOBSTAR symbols\n let re = set\n .map(pattern => {\n const pp: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n if (p instanceof RegExp) {\n for (const f of p.flags.split('')) flags.add(f)\n }\n return typeof p === 'string'\n ? regExpEscape(p)\n : p === GLOBSTAR\n ? GLOBSTAR\n : p._src\n }) as (string | typeof GLOBSTAR)[]\n pp.forEach((p, i) => {\n const next = pp[i + 1]\n const prev = pp[i - 1]\n if (p !== GLOBSTAR || prev === GLOBSTAR) {\n return\n }\n if (prev === undefined) {\n if (next !== undefined && next !== GLOBSTAR) {\n pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n } else {\n pp[i] = twoStar\n }\n } else if (next === undefined) {\n pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n } else if (next !== GLOBSTAR) {\n pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n pp[i + 1] = GLOBSTAR\n }\n })\n return pp.filter(p => p !== GLOBSTAR).join('/')\n })\n .join('|')\n\n // need to wrap in parens if we had more than one thing with |,\n // otherwise only the first will be anchored to ^ and the last to $\n const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', '']\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^' + open + re + close + '$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').+$'\n\n try {\n this.regexp = new RegExp(re, [...flags].join(''))\n /* c8 ignore start */\n } catch (ex) {\n // should be impossible\n this.regexp = false\n }\n /* c8 ignore stop */\n return this.regexp\n }\n\n slashSplit(p: string) {\n // if p starts with // on windows, we preserve that\n // so that UNC paths aren't broken. Otherwise, any number of\n // / characters are coalesced into one, unless\n // preserveMultipleSlashes is set to true.\n if (this.preserveMultipleSlashes) {\n return p.split('/')\n } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n // add an extra '' for the one we lose\n return ['', ...p.split(/\\/+/)]\n } else {\n return p.split(/\\/+/)\n }\n }\n\n match(f: string, partial = this.partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) {\n return false\n }\n if (this.empty) {\n return f === ''\n }\n\n if (f === '/' && partial) {\n return true\n }\n\n const options = this.options\n\n // windows: need to use /, not \\\n if (this.isWindows) {\n f = f.split('\\\\').join('/')\n }\n\n // treat the test path as a set of pathparts.\n const ff = this.slashSplit(f)\n this.debug(this.pattern, 'split', ff)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n const set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n let filename: string = ff[ff.length - 1]\n if (!filename) {\n for (let i = ff.length - 2; !filename && i >= 0; i--) {\n filename = ff[i]\n }\n }\n\n for (let i = 0; i < set.length; i++) {\n const pattern = set[i]\n let file = ff\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n const hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) {\n return true\n }\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) {\n return false\n }\n return this.negate\n }\n\n static defaults(def: MinimatchOptions) {\n return minimatch.defaults(def).Minimatch\n }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n","const MAX_PATTERN_LENGTH = 1024 * 64\nexport const assertValidPattern: (pattern: any) => void = (\n pattern: any\n): asserts pattern is string => {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n\n// { <posix class>: [<translation>, /u flag required, negated]\nconst posixClasses: { [k: string]: [e: string, u: boolean, n?: boolean] } = {\n '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n '[:cntrl:]': ['\\\\p{Cc}', true],\n '[:digit:]': ['\\\\p{Nd}', true],\n '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n '[:lower:]': ['\\\\p{Ll}', true],\n '[:print:]': ['\\\\p{C}', true],\n '[:punct:]': ['\\\\p{P}', true],\n '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n '[:upper:]': ['\\\\p{Lu}', true],\n '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n '[:xdigit:]': ['A-Fa-f0-9', false],\n}\n\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s: string) => s.replace(/[[\\]\\\\-]/g, '\\\\$&')\n// escape all regexp magic characters\nconst regexpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges: string[]): string => ranges.join('')\n\nexport type ParseClassResult = [\n src: string,\n uFlag: boolean,\n consumed: number,\n hasMagic: boolean\n]\n\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (\n glob: string,\n position: number\n): ParseClassResult => {\n const pos = position\n /* c8 ignore start */\n if (glob.charAt(pos) !== '[') {\n throw new Error('not in a brace expression')\n }\n /* c8 ignore stop */\n const ranges: string[] = []\n const negs: string[] = []\n\n let i = pos + 1\n let sawStart = false\n let uflag = false\n let escaping = false\n let negate = false\n let endPos = pos\n let rangeStart = ''\n WHILE: while (i < glob.length) {\n const c = glob.charAt(i)\n if ((c === '!' || c === '^') && i === pos + 1) {\n negate = true\n i++\n continue\n }\n\n if (c === ']' && sawStart && !escaping) {\n endPos = i + 1\n break\n }\n\n sawStart = true\n if (c === '\\\\') {\n if (!escaping) {\n escaping = true\n i++\n continue\n }\n // escaped \\ char, fall through and treat like normal char\n }\n if (c === '[' && !escaping) {\n // either a posix class, a collation equivalent, or just a [\n for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n if (glob.startsWith(cls, i)) {\n // invalid, [a-[] is fine, but not [a-[:alpha]]\n if (rangeStart) {\n return ['$.', false, glob.length - pos, true]\n }\n i += cls.length\n if (neg) negs.push(unip)\n else ranges.push(unip)\n uflag = uflag || u\n continue WHILE\n }\n }\n }\n\n // now it's just a normal character, effectively\n escaping = false\n if (rangeStart) {\n // throw this range away if it's not valid, but others\n // can still match.\n if (c > rangeStart) {\n ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c))\n } else if (c === rangeStart) {\n ranges.push(braceEscape(c))\n }\n rangeStart = ''\n i++\n continue\n }\n\n // now might be the start of a range.\n // can be either c-d or c-] or c<more...>] or c] at this point\n if (glob.startsWith('-]', i + 1)) {\n ranges.push(braceEscape(c + '-'))\n i += 2\n continue\n }\n if (glob.startsWith('-', i + 1)) {\n rangeStart = c\n i += 2\n continue\n }\n\n // not the start of a range, just a single character\n ranges.push(braceEscape(c))\n i++\n }\n\n if (endPos < i) {\n // didn't see the end of the class, not a valid class,\n // but might still be valid as a literal match.\n return ['', false, 0, false]\n }\n\n // if we got no ranges and no negates, then we have a range that\n // cannot possibly match anything, and that poisons the whole glob\n if (!ranges.length && !negs.length) {\n return ['$.', false, glob.length - pos, true]\n }\n\n // if we got one positive range, and it's a single character, then that's\n // not actually a magic pattern, it's just that one literal character.\n // we should not treat that as \"magic\", we should just return the literal\n // character. [_] is a perfectly valid way to escape glob magic chars.\n if (\n negs.length === 0 &&\n ranges.length === 1 &&\n /^\\\\?.$/.test(ranges[0]) &&\n !negate\n ) {\n const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]\n return [regexpEscape(r), false, endPos - pos, false]\n }\n\n const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']'\n const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']'\n const comb =\n ranges.length && negs.length\n ? '(' + sranges + '|' + snegs + ')'\n : ranges.length\n ? sranges\n : snegs\n\n return [comb, uflag, endPos - pos, true]\n}\n","import { MinimatchOptions } from './index.js'\n/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes. For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (\n s: string,\n {\n windowsPathsNoEscape = false,\n }: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n) => {\n return windowsPathsNoEscape\n ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1')\n}\n","// parse a single path portion\n\nimport { parseClass } from './brace-expressions.js'\nimport { MinimatchOptions, MMRegExp } from './index.js'\nimport { unescape } from './unescape.js'\n\n// classes [] are handled by the parseClass method\n// for positive extglobs, we sub-parse the contents, and combine,\n// with the appropriate regexp close.\n// for negative extglobs, we sub-parse the contents, but then\n// have to include the rest of the pattern, then the parent, etc.,\n// as the thing that cannot be because RegExp negative lookaheads\n// are different from globs.\n//\n// So for example:\n// a@(i|w!(x|y)z|j)b => ^a(i|w((!?(x|y)zb).*)z|j)b$\n// 1 2 3 4 5 6 1 2 3 46 5 6\n//\n// Assembling the extglob requires not just the negated patterns themselves,\n// but also anything following the negative patterns up to the boundary\n// of the current pattern, plus anything following in the parent pattern.\n//\n//\n// So, first, we parse the string into an AST of extglobs, without turning\n// anything into regexps yet.\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y']}, 'z'], ['j']]}, 'b']\n//\n// Then, for all the negative extglobs, we append whatever comes after in\n// each parent as their tail\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y'], 'z', 'b'}, 'z'], ['j']]}, 'b']\n//\n// Lastly, we turn each of these pieces into a regexp, and join\n//\n// v----- .* because there's more following,\n// v v otherwise, .+ because it must be\n// v v *something* there.\n// ['^a', {@ ['i', 'w(?:(!?(?:x|y).*zb$).*)z', 'j' ]}, 'b$']\n// copy what follows into here--^^^^^\n// ['^a', '(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)', 'b$']\n// ['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport type ExtglobType = '!' | '?' | '+' | '*' | '@'\nconst types = new Set<ExtglobType>(['!', '?', '+', '*', '@'])\nconst isExtglobType = (c: string): c is ExtglobType =>\n types.has(c as ExtglobType)\n\n// Patterns that get prepended to bind to the start of either the\n// entire string, or just a single path portion, to prevent dots\n// and/or traversal patterns, when needed.\n// Exts don't need the ^ or / bit, because the root binds that already.\nconst startNoTraversal = '(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst startNoDot = '(?!\\\\.)'\n\n// characters that indicate a start of pattern needs the \"no dots\" bit,\n// because a dot *might* be matched. ( is not in the list, because in\n// the case of a child extglob, it will handle the prevention itself.\nconst addPatternStart = new Set(['[', '.'])\n// cases where traversal is A-OK, no dot prevention needed\nconst justDots = new Set(['..', '.'])\nconst reSpecials = new Set('().*{}+?[]^$\\\\!')\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// any single thing other than /\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n// use + when we need to ensure that *something* matches, because the * is\n// the only thing in the path portion.\nconst starNoEmpty = qmark + '+?'\n\n// remove the \\ chars that we added if we end up doing a nonmagic compare\n// const deslash = (s: string) => s.replace(/\\\\(.)/g, '$1')\n\nexport class AST {\n type: ExtglobType | null\n readonly #root: AST\n\n #hasMagic?: boolean\n #uflag: boolean = false\n #parts: (string | AST)[] = []\n readonly #parent?: AST\n readonly #parentIndex: number\n #negs: AST[]\n #filledNegs: boolean = false\n #options: MinimatchOptions\n #toString?: string\n // set to true if it's an extglob with no children\n // (which really means one child of '')\n #emptyExt: boolean = false\n\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n this.type = type\n // extglobs are inherently magical\n if (type) this.#hasMagic = true\n this.#parent = parent\n this.#root = this.#parent ? this.#parent.#root : this\n this.#options = this.#root === this ? options : this.#root.#options\n this.#negs = this.#root === this ? [] : this.#root.#negs\n if (type === '!' && !this.#root.#filledNegs) this.#negs.push(this)\n this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0\n }\n\n get hasMagic(): boolean | undefined {\n /* c8 ignore start */\n if (this.#hasMagic !== undefined) return this.#hasMagic\n /* c8 ignore stop */\n for (const p of this.#parts) {\n if (typeof p === 'string') continue\n if (p.type || p.hasMagic) return (this.#hasMagic = true)\n }\n // note: will be undefined until we generate the regexp src and find out\n return this.#hasMagic\n }\n\n // reconstructs the pattern\n toString(): string {\n if (this.#toString !== undefined) return this.#toString\n if (!this.type) {\n return (this.#toString = this.#parts.map(p => String(p)).join(''))\n } else {\n return (this.#toString =\n this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')')\n }\n }\n\n #fillNegs() {\n /* c8 ignore start */\n if (this !== this.#root) throw new Error('should only call on root')\n if (this.#filledNegs) return this\n /* c8 ignore stop */\n\n // call toString() once to fill this out\n this.toString()\n this.#filledNegs = true\n let n: AST | undefined\n while ((n = this.#negs.pop())) {\n if (n.type !== '!') continue\n // walk up the tree, appending everthing that comes AFTER parentIndex\n let p: AST | undefined = n\n let pp = p.#parent\n while (pp) {\n for (\n let i = p.#parentIndex + 1;\n !pp.type && i < pp.#parts.length;\n i++\n ) {\n for (const part of n.#parts) {\n /* c8 ignore start */\n if (typeof part === 'string') {\n throw new Error('string part in extglob AST??')\n }\n /* c8 ignore stop */\n part.copyIn(pp.#parts[i])\n }\n }\n p = pp\n pp = p.#parent\n }\n }\n return this\n }\n\n push(...parts: (string | AST)[]) {\n for (const p of parts) {\n if (p === '') continue\n /* c8 ignore start */\n if (typeof p !== 'string' && !(p instanceof AST && p.#parent === this)) {\n throw new Error('invalid part: ' + p)\n }\n /* c8 ignore stop */\n this.#parts.push(p)\n }\n }\n\n toJSON() {\n const ret: any[] =\n this.type === null\n ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))\n : [this.type, ...this.#parts.map(p => (p as AST).toJSON())]\n if (this.isStart() && !this.type) ret.unshift([])\n if (\n this.isEnd() &&\n (this === this.#root ||\n (this.#root.#filledNegs && this.#parent?.type === '!'))\n ) {\n ret.push({})\n }\n return ret\n }\n\n isStart(): boolean {\n if (this.#root === this) return true\n // if (this.type) return !!this.#parent?.isStart()\n if (!this.#parent?.isStart()) return false\n if (this.#parentIndex === 0) return true\n // if everything AHEAD of this is a negation, then it's still the \"start\"\n const p = this.#parent\n for (let i = 0; i < this.#parentIndex; i++) {\n const pp = p.#parts[i]\n if (!(pp instanceof AST && pp.type === '!')) {\n return false\n }\n }\n return true\n }\n\n isEnd(): boolean {\n if (this.#root === this) return true\n if (this.#parent?.type === '!') return true\n if (!this.#parent?.isEnd()) return false\n if (!this.type) return this.#parent?.isEnd()\n // if not root, it'll always have a parent\n /* c8 ignore start */\n const pl = this.#parent ? this.#parent.#parts.length : 0\n /* c8 ignore stop */\n return this.#parentIndex === pl - 1\n }\n\n copyIn(part: AST | string) {\n if (typeof part === 'string') this.push(part)\n else this.push(part.clone(this))\n }\n\n clone(parent: AST) {\n const c = new AST(this.type, parent)\n for (const p of this.#parts) {\n c.copyIn(p)\n }\n return c\n }\n\n static #parseAST(\n str: string,\n ast: AST,\n pos: number,\n opt: MinimatchOptions\n ): number {\n let escaping = false\n let inBrace = false\n let braceStart = -1\n let braceNeg = false\n if (ast.type === null) {\n // outside of a extglob, append until we find a start\n let i = pos\n let acc = ''\n while (i < str.length) {\n const c = str.charAt(i++)\n // still accumulate escapes at this point, but we do ignore\n // starts that are escaped\n if (escaping || c === '\\\\') {\n escaping = !escaping\n acc += c\n continue\n }\n\n if (inBrace) {\n if (i === braceStart + 1) {\n if (c === '^' || c === '!') {\n braceNeg = true\n }\n } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n inBrace = false\n }\n acc += c\n continue\n } else if (c === '[') {\n inBrace = true\n braceStart = i\n braceNeg = false\n acc += c\n continue\n }\n\n if (!opt.noext && isExtglobType(c) && str.charAt(i) === '(') {\n ast.push(acc)\n acc = ''\n const ext = new AST(c, ast)\n i = AST.#parseAST(str, ext, i, opt)\n ast.push(ext)\n continue\n }\n acc += c\n }\n ast.push(acc)\n return i\n }\n\n // some kind of extglob, pos is at the (\n // find the next | or )\n let i = pos + 1\n let part = new AST(null, ast)\n const parts: AST[] = []\n let acc = ''\n while (i < str.length) {\n const c = str.charAt(i++)\n // still accumulate escapes at this point, but we do ignore\n // starts that are escaped\n if (escaping || c === '\\\\') {\n escaping = !escaping\n acc += c\n continue\n }\n\n if (inBrace) {\n if (i === braceStart + 1) {\n if (c === '^' || c === '!') {\n braceNeg = true\n }\n } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n inBrace = false\n }\n acc += c\n continue\n } else if (c === '[') {\n inBrace = true\n braceStart = i\n braceNeg = false\n acc += c\n continue\n }\n\n if (isExtglobType(c) && str.charAt(i) === '(') {\n part.push(acc)\n acc = ''\n const ext = new AST(c, part)\n part.push(ext)\n i = AST.#parseAST(str, ext, i, opt)\n continue\n }\n if (c === '|') {\n part.push(acc)\n acc = ''\n parts.push(part)\n part = new AST(null, ast)\n continue\n }\n if (c === ')') {\n if (acc === '' && ast.#parts.length === 0) {\n ast.#emptyExt = true\n }\n part.push(acc)\n acc = ''\n ast.push(...parts, part)\n return i\n }\n acc += c\n }\n\n // unfinished extglob\n // if we got here, it was a malformed extglob! not an extglob, but\n // maybe something else in there.\n ast.type = null\n ast.#hasMagic = undefined\n ast.#parts = [str.substring(pos - 1)]\n return i\n }\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n const ast = new AST(null, undefined, options)\n AST.#parseAST(pattern, ast, 0, options)\n return ast\n }\n\n // returns the regular expression if there's magic, or the unescaped\n // string if not.\n toMMPattern(): MMRegExp | string {\n // should only be called on root\n /* c8 ignore start */\n if (this !== this.#root) return this.#root.toMMPattern()\n /* c8 ignore stop */\n const glob = this.toString()\n const [re, body, hasMagic, uflag] = this.toRegExpSource()\n // if we're in nocase mode, and not nocaseMagicOnly, then we do\n // still need a regular expression if we have to case-insensitively\n // match capital/lowercase characters.\n const anyMagic =\n hasMagic ||\n this.#hasMagic ||\n (this.#options.nocase &&\n !this.#options.nocaseMagicOnly &&\n glob.toUpperCase() !== glob.toLowerCase())\n if (!anyMagic) {\n return body\n }\n\n const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : '')\n return Object.assign(new RegExp(`^${re}$`, flags), {\n _src: re,\n _glob: glob,\n })\n }\n\n get options() {\n return this.#options\n }\n\n // returns the string match, the regexp source, whether there's magic\n // in the regexp (so a regular expression is required) and whether or\n // not the uflag is needed for the regular expression (for posix classes)\n // TODO: instead of injecting the start/end at this point, just return\n // the BODY of the regexp, along with the start/end portions suitable\n // for binding the start/end in either a joined full-path makeRe context\n // (where we bind to (^|/), or a standalone matchPart context (where\n // we bind to ^, and not /). Otherwise slashes get duped!\n //\n // In part-matching mode, the start is:\n // - if not isStart: nothing\n // - if traversal possible, but not allowed: ^(?!\\.\\.?$)\n // - if dots allowed or not possible: ^\n // - if dots possible and not allowed: ^(?!\\.)\n // end is:\n // - if not isEnd(): nothing\n // - else: $\n //\n // In full-path matching mode, we put the slash at the START of the\n // pattern, so start is:\n // - if first pattern: same as part-matching mode\n // - if not isStart(): nothing\n // - if traversal possible, but not allowed: /(?!\\.\\.?(?:$|/))\n // - if dots allowed or not possible: /\n // - if dots possible and not allowed: /(?!\\.)\n // end is:\n // - if last pattern, same as part-matching mode\n // - else nothing\n //\n // Always put the (?:$|/) on negated tails, though, because that has to be\n // there to bind the end of the negated pattern portion, and it's easier to\n // just stick it in now rather than try to inject it later in the middle of\n // the pattern.\n //\n // We can just always return the same end, and leave it up to the caller\n // to know whether it's going to be used joined or in parts.\n // And, if the start is adjusted slightly, can do the same there:\n // - if not isStart: nothing\n // - if traversal possible, but not allowed: (?:/|^)(?!\\.\\.?$)\n // - if dots allowed or not possible: (?:/|^)\n // - if dots possible and not allowed: (?:/|^)(?!\\.)\n //\n // But it's better to have a simpler binding without a conditional, for\n // performance, so probably better to return both start options.\n //\n // Then the caller just ignores the end if it's not the first pattern,\n // and the start always gets applied.\n //\n // But that's always going to be $ if it's the ending pattern, or nothing,\n // so the caller can just attach $ at the end of the pattern when building.\n //\n // So the todo is:\n // - better detect what kind of start is needed\n // - return both flavors of starting pattern\n // - attach $ at the end of the pattern when creating the actual RegExp\n //\n // Ah, but wait, no, that all only applies to the root when the first pattern\n // is not an extglob. If the first pattern IS an extglob, then we need all\n // that dot prevention biz to live in the extglob portions, because eg\n // +(*|.x*) can match .xy but not .yx.\n //\n // So, return the two flavors if it's #root and the first child is not an\n // AST, otherwise leave it to the child AST to handle it, and there,\n // use the (?:^|/) style of start binding.\n //\n // Even simplified further:\n // - Since the start for a join is eg /(?!\\.) and the start for a part\n // is ^(?!\\.), we can just prepend (?!\\.) to the pattern (either root\n // or start or whatever) and prepend ^ or / at the Regexp construction.\n toRegExpSource(\n allowDot?: boolean\n ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\n const dot = allowDot ?? !!this.#options.dot\n if (this.#root === this) this.#fillNegs()\n if (!this.type) {\n const noEmpty = this.isStart() && this.isEnd()\n const src = this.#parts\n .map(p => {\n const [re, _, hasMagic, uflag] =\n typeof p === 'string'\n ? AST.#parseGlob(p, this.#hasMagic, noEmpty)\n : p.toRegExpSource(allowDot)\n this.#hasMagic = this.#hasMagic || hasMagic\n this.#uflag = this.#uflag || uflag\n return re\n })\n .join('')\n\n let start = ''\n if (this.isStart()) {\n if (typeof this.#parts[0] === 'string') {\n // this is the string that will match the start of the pattern,\n // so we need to protect against dots and such.\n\n // '.' and '..' cannot match unless the pattern is that exactly,\n // even if it starts with . or dot:true is set.\n const dotTravAllowed =\n this.#parts.length === 1 && justDots.has(this.#parts[0])\n if (!dotTravAllowed) {\n const aps = addPatternStart\n // check if we have a possibility of matching . or ..,\n // and prevent that.\n const needNoTrav =\n // dots are allowed, and the pattern starts with [ or .\n (dot && aps.has(src.charAt(0))) ||\n // the pattern starts with \\., and then [ or .\n (src.startsWith('\\\\.') && aps.has(src.charAt(2))) ||\n // the pattern starts with \\.\\., and then [ or .\n (src.startsWith('\\\\.\\\\.') && aps.has(src.charAt(4)))\n // no need to prevent dots if it can't match a dot, or if a\n // sub-pattern will be preventing it anyway.\n const needNoDot = !dot && !allowDot && aps.has(src.charAt(0))\n\n start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ''\n }\n }\n }\n\n // append the \"end of path portion\" pattern to negation tails\n let end = ''\n if (\n this.isEnd() &&\n this.#root.#filledNegs &&\n this.#parent?.type === '!'\n ) {\n end = '(?:$|\\\\/)'\n }\n const final = start + src + end\n return [\n final,\n unescape(src),\n (this.#hasMagic = !!this.#hasMagic),\n this.#uflag,\n ]\n }\n\n // We need to calculate the body *twice* if it's a repeat pattern\n // at the start, once in nodot mode, then again in dot mode, so a\n // pattern like *(?) can match 'x.y'\n\n const repeated = this.type === '*' || this.type === '+'\n // some kind of extglob\n const start = this.type === '!' ? '(?:(?!(?:' : '(?:'\n let body = this.#partsToRegExp(dot)\n\n if (this.isStart() && this.isEnd() && !body && this.type !== '!') {\n // invalid extglob, has to at least be *something* present, if it's\n // the entire path portion.\n const s = this.toString()\n this.#parts = [s]\n this.type = null\n this.#hasMagic = undefined\n return [s, unescape(this.toString()), false, false]\n }\n\n // XXX abstract out this map method\n let bodyDotAllowed =\n !repeated || allowDot || dot || !startNoDot\n ? ''\n : this.#partsToRegExp(true)\n if (bodyDotAllowed === body) {\n bodyDotAllowed = ''\n }\n if (bodyDotAllowed) {\n body = `(?:${body})(?:${bodyDotAllowed})*?`\n }\n\n // an empty !() is exactly equivalent to a starNoEmpty\n let final = ''\n if (this.type === '!' && this.#emptyExt) {\n final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty\n } else {\n const close =\n this.type === '!'\n ? // !() must match something,but !(x) can match ''\n '))' +\n (this.isStart() && !dot && !allowDot ? startNoDot : '') +\n star +\n ')'\n : this.type === '@'\n ? ')'\n : this.type === '?'\n ? ')?'\n : this.type === '+' && bodyDotAllowed\n ? ')'\n : this.type === '*' && bodyDotAllowed\n ? `)?`\n : `)${this.type}`\n final = start + body + close\n }\n return [\n final,\n unescape(body),\n (this.#hasMagic = !!this.#hasMagic),\n this.#uflag,\n ]\n }\n\n #partsToRegExp(dot: boolean) {\n return this.#parts\n .map(p => {\n // extglob ASTs should only contain parent ASTs\n /* c8 ignore start */\n if (typeof p === 'string') {\n throw new Error('string type in extglob ast??')\n }\n /* c8 ignore stop */\n // can ignore hasMagic, because extglobs are already always magic\n const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot)\n this.#uflag = this.#uflag || uflag\n return re\n })\n .filter(p => !(this.isStart() && this.isEnd()) || !!p)\n .join('|')\n }\n\n static #parseGlob(\n glob: string,\n hasMagic: boolean | undefined,\n noEmpty: boolean = false\n ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\n let escaping = false\n let re = ''\n let uflag = false\n for (let i = 0; i < glob.length; i++) {\n const c = glob.charAt(i)\n if (escaping) {\n escaping = false\n re += (reSpecials.has(c) ? '\\\\' : '') + c\n continue\n }\n if (c === '\\\\') {\n if (i === glob.length - 1) {\n re += '\\\\\\\\'\n } else {\n escaping = true\n }\n continue\n }\n if (c === '[') {\n const [src, needUflag, consumed, magic] = parseClass(glob, i)\n if (consumed) {\n re += src\n uflag = uflag || needUflag\n i += consumed - 1\n hasMagic = hasMagic || magic\n continue\n }\n }\n if (c === '*') {\n if (noEmpty && glob === '*') re += starNoEmpty\n else re += star\n hasMagic = true\n continue\n }\n if (c === '?') {\n re += qmark\n hasMagic = true\n continue\n }\n re += regExpEscape(c)\n }\n return [re, unescape(glob), !!hasMagic, uflag]\n }\n}\n","import { MinimatchOptions } from './index.js'\n/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character. In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (\n s: string,\n {\n windowsPathsNoEscape = false,\n }: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n) => {\n // don't need to escape +@! because we escape the parens\n // that make those magic, and escaping ! as [!] isn't valid,\n // because [!]] is a valid glob class meaning not ']'.\n return windowsPathsNoEscape\n ? s.replace(/[?*()[\\]]/g, '[$&]')\n : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&')\n}\n","/**\n * @module LRUCache\n */\n\n// module-private names and types\ntype Perf = { now: () => number }\nconst perf: Perf =\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ? performance\n : Date\n\nconst warned = new Set<string>()\n\n// either a function or a class\ntype ForC = ((...a: any[]) => any) | { new (...a: any[]): any }\n\n/* c8 ignore start */\nconst PROCESS = (\n typeof process === 'object' && !!process ? process : {}\n) as { [k: string]: any }\n/* c8 ignore start */\n\nconst emitWarning = (\n msg: string,\n type: string,\n code: string,\n fn: ForC\n) => {\n typeof PROCESS.emitWarning === 'function'\n ? PROCESS.emitWarning(msg, type, code, fn)\n : console.error(`[${code}] ${type}: ${msg}`)\n}\n\nlet AC = globalThis.AbortController\nlet AS = globalThis.AbortSignal\n\n/* c8 ignore start */\nif (typeof AC === 'undefined') {\n //@ts-ignore\n AS = class AbortSignal {\n onabort?: (...a: any[]) => any\n _onabort: ((...a: any[]) => any)[] = []\n reason?: any\n aborted: boolean = false\n addEventListener(_: string, fn: (...a: any[]) => any) {\n this._onabort.push(fn)\n }\n }\n //@ts-ignore\n AC = class AbortController {\n constructor() {\n warnACPolyfill()\n }\n signal = new AS()\n abort(reason: any) {\n if (this.signal.aborted) return\n //@ts-ignore\n this.signal.reason = reason\n //@ts-ignore\n this.signal.aborted = true\n //@ts-ignore\n for (const fn of this.signal._onabort) {\n fn(reason)\n }\n this.signal.onabort?.(reason)\n }\n }\n let printACPolyfillWarning =\n PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1'\n const warnACPolyfill = () => {\n if (!printACPolyfillWarning) return\n printACPolyfillWarning = false\n emitWarning(\n 'AbortController is not defined. If using lru-cache in ' +\n 'node 14, load an AbortController polyfill from the ' +\n '`node-abort-controller` package. A minimal polyfill is ' +\n 'provided for use by LRUCache.fetch(), but it should not be ' +\n 'relied upon in other contexts (eg, passing it to other APIs that ' +\n 'use AbortController/AbortSignal might have undesirable effects). ' +\n 'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.',\n 'NO_ABORT_CONTROLLER',\n 'ENOTSUP',\n warnACPolyfill\n )\n }\n}\n/* c8 ignore stop */\n\nconst shouldWarn = (code: string) => !warned.has(code)\n\nconst TYPE = Symbol('type')\nexport type PosInt = number & { [TYPE]: 'Positive Integer' }\nexport type Index = number & { [TYPE]: 'LRUCache Index' }\n\nconst isPosInt = (n: any): n is PosInt =>\n n && n === Math.floor(n) && n > 0 && isFinite(n)\n\nexport type UintArray = Uint8Array | Uint16Array | Uint32Array\nexport type NumberArray = UintArray | number[]\n\n/* c8 ignore start */\n// This is a little bit ridiculous, tbh.\n// The maximum array length is 2^32-1 or thereabouts on most JS impls.\n// And well before that point, you're caching the entire world, I mean,\n// that's ~32GB of just integers for the next/prev links, plus whatever\n// else to hold that many keys and values. Just filling the memory with\n// zeroes at init time is brutal when you get that big.\n// But why not be complete?\n// Maybe in the future, these limits will have expanded.\nconst getUintArray = (max: number) =>\n !isPosInt(max)\n ? null\n : max <= Math.pow(2, 8)\n ? Uint8Array\n : max <= Math.pow(2, 16)\n ? Uint16Array\n : max <= Math.pow(2, 32)\n ? Uint32Array\n : max <= Number.MAX_SAFE_INTEGER\n ? ZeroArray\n : null\n/* c8 ignore stop */\n\nclass ZeroArray extends Array<number> {\n constructor(size: number) {\n super(size)\n this.fill(0)\n }\n}\nexport type { ZeroArray }\nexport type { Stack }\n\nexport type StackLike = Stack | Index[]\nclass Stack {\n heap: NumberArray\n length: number\n // private constructor\n static #constructing: boolean = false\n static create(max: number): StackLike {\n const HeapCls = getUintArray(max)\n if (!HeapCls) return []\n Stack.#constructing = true\n const s = new Stack(max, HeapCls)\n Stack.#constructing = false\n return s\n }\n constructor(\n max: number,\n HeapCls: { new (n: number): NumberArray }\n ) {\n /* c8 ignore start */\n if (!Stack.#constructing) {\n throw new TypeError('instantiate Stack using Stack.create(n)')\n }\n /* c8 ignore stop */\n this.heap = new HeapCls(max)\n this.length = 0\n }\n push(n: Index) {\n this.heap[this.length++] = n\n }\n pop(): Index {\n return this.heap[--this.length] as Index\n }\n}\n\n/**\n * Promise representing an in-progress {@link LRUCache#fetch} call\n */\nexport type BackgroundFetch<V> = Promise<V | undefined> & {\n __returned: BackgroundFetch<V> | undefined\n __abortController: AbortController\n __staleWhileFetching: V | undefined\n}\n\nexport type DisposeTask<K, V> = [\n value: V,\n key: K,\n reason: LRUCache.DisposeReason\n]\n\nexport namespace LRUCache {\n /**\n * An integer greater than 0, reflecting the calculated size of items\n */\n export type Size = number\n\n /**\n * Integer greater than 0, representing some number of milliseconds, or the\n * time at which a TTL started counting from.\n */\n export type Milliseconds = number\n\n /**\n * An integer greater than 0, reflecting a number of items\n */\n export type Count = number\n\n /**\n * The reason why an item was removed from the cache, passed\n * to the {@link Disposer} methods.\n *\n * - `evict`: The item was evicted because it is the least recently used,\n * and the cache is full.\n * - `set`: A new value was set, overwriting the old value being disposed.\n * - `delete`: The item was explicitly deleted, either by calling\n * {@link LRUCache#delete}, {@link LRUCache#clear}, or\n * {@link LRUCache#set} with an undefined value.\n * - `expire`: The item was removed due to exceeding its TTL.\n * - `fetch`: A {@link OptionsBase#fetchMethod} operation returned\n * `undefined` or was aborted, causing the item to be deleted.\n */\n export type DisposeReason =\n | 'evict'\n | 'set'\n | 'delete'\n | 'expire'\n | 'fetch'\n /**\n * A method called upon item removal, passed as the\n * {@link OptionsBase.dispose} and/or\n * {@link OptionsBase.disposeAfter} options.\n */\n export type Disposer<K, V> = (\n value: V,\n key: K,\n reason: DisposeReason\n ) => void\n\n /**\n * A function that returns the effective calculated size\n * of an entry in the cache.\n */\n export type SizeCalculator<K, V> = (value: V, key: K) => Size\n\n /**\n * Options provided to the\n * {@link OptionsBase.fetchMethod} function.\n */\n export interface FetcherOptions<K, V, FC = unknown> {\n signal: AbortSignal\n options: FetcherFetchOptions<K, V, FC>\n /**\n * Object provided in the {@link FetchOptions.context} option to\n * {@link LRUCache#fetch}\n */\n context: FC\n }\n\n /**\n * Occasionally, it may be useful to track the internal behavior of the\n * cache, particularly for logging, debugging, or for behavior within the\n * `fetchMethod`. To do this, you can pass a `status` object to the\n * {@link LRUCache#fetch}, {@link LRUCache#get}, {@link LRUCache#set},\n * {@link LRUCache#memo}, and {@link LRUCache#has} methods.\n *\n * The `status` option should be a plain JavaScript object. The following\n * fields will be set on it appropriately, depending on the situation.\n */\n export interface Status<V> {\n /**\n * The status of a set() operation.\n *\n * - add: the item was not found in the cache, and was added\n * - update: the item was in the cache, with the same value provided\n * - replace: the item was in the cache, and replaced\n * - miss: the item was not added to the cache for some reason\n */\n set?: 'add' | 'update' | 'replace' | 'miss'\n\n /**\n * the ttl stored for the item, or undefined if ttls are not used.\n */\n ttl?: Milliseconds\n\n /**\n * the start time for the item, or undefined if ttls are not used.\n */\n start?: Milliseconds\n\n /**\n * The timestamp used for TTL calculation\n */\n now?: Milliseconds\n\n /**\n * the remaining ttl for the item, or undefined if ttls are not used.\n */\n remainingTTL?: Milliseconds\n\n /**\n * The calculated size for the item, if sizes are used.\n */\n entrySize?: Size\n\n /**\n * The total calculated size of the cache, if sizes are used.\n */\n totalCalculatedSize?: Size\n\n /**\n * A flag indicating that the item was not stored, due to exceeding the\n * {@link OptionsBase.maxEntrySize}\n */\n maxEntrySizeExceeded?: true\n\n /**\n * The old value, specified in the case of `set:'update'` or\n * `set:'replace'`\n */\n oldValue?: V\n\n /**\n * The results of a {@link LRUCache#has} operation\n *\n * - hit: the item was found in the cache\n * - stale: the item was found in the cache, but is stale\n * - miss: the item was not found in the cache\n */\n has?: 'hit' | 'stale' | 'miss'\n\n /**\n * The status of a {@link LRUCache#fetch} operation.\n * Note that this can change as the underlying fetch() moves through\n * various states.\n *\n * - inflight: there is another fetch() for this key which is in process\n * - get: there is no {@link OptionsBase.fetchMethod}, so\n * {@link LRUCache#get} was called.\n * - miss: the item is not in cache, and will be fetched.\n * - hit: the item is in the cache, and was resolved immediately.\n * - stale: the item is in the cache, but stale.\n * - refresh: the item is in the cache, and not stale, but\n * {@link FetchOptions.forceRefresh} was specified.\n */\n fetch?: 'get' | 'inflight' | 'miss' | 'hit' | 'stale' | 'refresh'\n\n /**\n * The {@link OptionsBase.fetchMethod} was called\n */\n fetchDispatched?: true\n\n /**\n * The cached value was updated after a successful call to\n * {@link OptionsBase.fetchMethod}\n */\n fetchUpdated?: true\n\n /**\n * The reason for a fetch() rejection. Either the error raised by the\n * {@link OptionsBase.fetchMethod}, or the reason for an\n * AbortSignal.\n */\n fetchError?: Error\n\n /**\n * The fetch received an abort signal\n */\n fetchAborted?: true\n\n /**\n * The abort signal received was ignored, and the fetch was allowed to\n * continue.\n */\n fetchAbortIgnored?: true\n\n /**\n * The fetchMethod promise resolved successfully\n */\n fetchResolved?: true\n\n /**\n * The fetchMethod promise was rejected\n */\n fetchRejected?: true\n\n /**\n * The status of a {@link LRUCache#get} operation.\n *\n * - fetching: The item is currently being fetched. If a previous value\n * is present and allowed, that will be returned.\n * - stale: The item is in the cache, and is stale.\n * - hit: the item is in the cache\n * - miss: the item is not in the cache\n */\n get?: 'stale' | 'hit' | 'miss'\n\n /**\n * A fetch or get operation returned a stale value.\n */\n returnedStale?: true\n }\n\n /**\n * options which override the options set in the LRUCache constructor\n * when calling {@link LRUCache#fetch}.\n *\n * This is the union of {@link GetOptions} and {@link SetOptions}, plus\n * {@link OptionsBase.noDeleteOnFetchRejection},\n * {@link OptionsBase.allowStaleOnFetchRejection},\n * {@link FetchOptions.forceRefresh}, and\n * {@link FetcherOptions.context}\n *\n * Any of these may be modified in the {@link OptionsBase.fetchMethod}\n * function, but the {@link GetOptions} fields will of course have no\n * effect, as the {@link LRUCache#get} call already happened by the time\n * the fetchMethod is called.\n */\n export interface FetcherFetchOptions<K, V, FC = unknown>\n extends Pick<\n OptionsBase<K, V, FC>,\n | 'allowStale'\n | 'updateAgeOnGet'\n | 'noDeleteOnStaleGet'\n | 'sizeCalculation'\n | 'ttl'\n | 'noDisposeOnSet'\n | 'noUpdateTTL'\n | 'noDeleteOnFetchRejection'\n | 'allowStaleOnFetchRejection'\n | 'ignoreFetchAbort'\n | 'allowStaleOnFetchAbort'\n > {\n status?: Status<V>\n size?: Size\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#fetch} method.\n */\n export interface FetchOptions<K, V, FC>\n extends FetcherFetchOptions<K, V, FC> {\n /**\n * Set to true to force a re-load of the existing data, even if it\n * is not yet stale.\n */\n forceRefresh?: boolean\n /**\n * Context provided to the {@link OptionsBase.fetchMethod} as\n * the {@link FetcherOptions.context} param.\n *\n * If the FC type is specified as unknown (the default),\n * undefined or void, then this is optional. Otherwise, it will\n * be required.\n */\n context?: FC\n signal?: AbortSignal\n status?: Status<V>\n }\n /**\n * Options provided to {@link LRUCache#fetch} when the FC type is something\n * other than `unknown`, `undefined`, or `void`\n */\n export interface FetchOptionsWithContext<K, V, FC>\n extends FetchOptions<K, V, FC> {\n context: FC\n }\n /**\n * Options provided to {@link LRUCache#fetch} when the FC type is\n * `undefined` or `void`\n */\n export interface FetchOptionsNoContext<K, V>\n extends FetchOptions<K, V, undefined> {\n context?: undefined\n }\n\n export interface MemoOptions<K, V, FC = unknown>\n extends Pick<\n OptionsBase<K, V, FC>,\n | 'allowStale'\n | 'updateAgeOnGet'\n | 'noDeleteOnStaleGet'\n | 'sizeCalculation'\n | 'ttl'\n | 'noDisposeOnSet'\n | 'noUpdateTTL'\n | 'noDeleteOnFetchRejection'\n | 'allowStaleOnFetchRejection'\n | 'ignoreFetchAbort'\n | 'allowStaleOnFetchAbort'\n > {\n /**\n * Set to true to force a re-load of the existing data, even if it\n * is not yet stale.\n */\n forceRefresh?: boolean\n /**\n * Context provided to the {@link OptionsBase.memoMethod} as\n * the {@link MemoizerOptions.context} param.\n *\n * If the FC type is specified as unknown (the default),\n * undefined or void, then this is optional. Otherwise, it will\n * be required.\n */\n context?: FC\n status?: Status<V>\n }\n /**\n * Options provided to {@link LRUCache#memo} when the FC type is something\n * other than `unknown`, `undefined`, or `void`\n */\n export interface MemoOptionsWithContext<K, V, FC>\n extends MemoOptions<K, V, FC> {\n context: FC\n }\n /**\n * Options provided to {@link LRUCache#memo} when the FC type is\n * `undefined` or `void`\n */\n export interface MemoOptionsNoContext<K, V>\n extends MemoOptions<K, V, undefined> {\n context?: undefined\n }\n\n /**\n * Options provided to the\n * {@link OptionsBase.memoMethod} function.\n */\n export interface MemoizerOptions<K, V, FC = unknown> {\n options: MemoizerMemoOptions<K, V, FC>\n /**\n * Object provided in the {@link MemoOptions.context} option to\n * {@link LRUCache#memo}\n */\n context: FC\n }\n\n /**\n * options which override the options set in the LRUCache constructor\n * when calling {@link LRUCache#memo}.\n *\n * This is the union of {@link GetOptions} and {@link SetOptions}, plus\n * {@link MemoOptions.forceRefresh}, and\n * {@link MemoerOptions.context}\n *\n * Any of these may be modified in the {@link OptionsBase.memoMethod}\n * function, but the {@link GetOptions} fields will of course have no\n * effect, as the {@link LRUCache#get} call already happened by the time\n * the memoMethod is called.\n */\n export interface MemoizerMemoOptions<K, V, FC = unknown>\n extends Pick<\n OptionsBase<K, V, FC>,\n | 'allowStale'\n | 'updateAgeOnGet'\n | 'noDeleteOnStaleGet'\n | 'sizeCalculation'\n | 'ttl'\n | 'noDisposeOnSet'\n | 'noUpdateTTL'\n > {\n status?: Status<V>\n size?: Size\n start?: Milliseconds\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#has} method.\n */\n export interface HasOptions<K, V, FC>\n extends Pick<OptionsBase<K, V, FC>, 'updateAgeOnHas'> {\n status?: Status<V>\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#get} method.\n */\n export interface GetOptions<K, V, FC>\n extends Pick<\n OptionsBase<K, V, FC>,\n 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet'\n > {\n status?: Status<V>\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#peek} method.\n */\n export interface PeekOptions<K, V, FC>\n extends Pick<OptionsBase<K, V, FC>, 'allowStale'> {}\n\n /**\n * Options that may be passed to the {@link LRUCache#set} method.\n */\n export interface SetOptions<K, V, FC>\n extends Pick<\n OptionsBase<K, V, FC>,\n 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL'\n > {\n /**\n * If size tracking is enabled, then setting an explicit size\n * in the {@link LRUCache#set} call will prevent calling the\n * {@link OptionsBase.sizeCalculation} function.\n */\n size?: Size\n /**\n * If TTL tracking is enabled, then setting an explicit start\n * time in the {@link LRUCache#set} call will override the\n * default time from `performance.now()` or `Date.now()`.\n *\n * Note that it must be a valid value for whichever time-tracking\n * method is in use.\n */\n start?: Milliseconds\n status?: Status<V>\n }\n\n /**\n * The type signature for the {@link OptionsBase.fetchMethod} option.\n */\n export type Fetcher<K, V, FC = unknown> = (\n key: K,\n staleValue: V | undefined,\n options: FetcherOptions<K, V, FC>\n ) => Promise<V | undefined | void> | V | undefined | void\n\n /**\n * the type signature for the {@link OptionsBase.memoMethod} option.\n */\n export type Memoizer<K, V, FC = unknown> = (\n key: K,\n staleValue: V | undefined,\n options: MemoizerOptions<K, V, FC>\n ) => V\n\n /**\n * Options which may be passed to the {@link LRUCache} constructor.\n *\n * Most of these may be overridden in the various options that use\n * them.\n *\n * Despite all being technically optional, the constructor requires that\n * a cache is at minimum limited by one or more of {@link OptionsBase.max},\n * {@link OptionsBase.ttl}, or {@link OptionsBase.maxSize}.\n *\n * If {@link OptionsBase.ttl} is used alone, then it is strongly advised\n * (and in fact required by the type definitions here) that the cache\n * also set {@link OptionsBase.ttlAutopurge}, to prevent potentially\n * unbounded storage.\n *\n * All options are also available on the {@link LRUCache} instance, making\n * it safe to pass an LRUCache instance as the options argumemnt to\n * make another empty cache of the same type.\n *\n * Some options are marked as read-only, because changing them after\n * instantiation is not safe. Changing any of the other options will of\n * course only have an effect on subsequent method calls.\n */\n export interface OptionsBase<K, V, FC> {\n /**\n * The maximum number of items to store in the cache before evicting\n * old entries. This is read-only on the {@link LRUCache} instance,\n * and may not be overridden.\n *\n * If set, then storage space will be pre-allocated at construction\n * time, and the cache will perform significantly faster.\n *\n * Note that significantly fewer items may be stored, if\n * {@link OptionsBase.maxSize} and/or {@link OptionsBase.ttl} are also\n * set.\n *\n * **It is strongly recommended to set a `max` to prevent unbounded growth\n * of the cache.**\n */\n max?: Count\n\n /**\n * Max time in milliseconds for items to live in cache before they are\n * considered stale. Note that stale items are NOT preemptively removed by\n * default, and MAY live in the cache, contributing to its LRU max, long\n * after they have expired, unless {@link OptionsBase.ttlAutopurge} is\n * set.\n *\n * If set to `0` (the default value), then that means \"do not track\n * TTL\", not \"expire immediately\".\n *\n * Also, as this cache is optimized for LRU/MRU operations, some of\n * the staleness/TTL checks will reduce performance, as they will incur\n * overhead by deleting items.\n *\n * This is not primarily a TTL cache, and does not make strong TTL\n * guarantees. There is no pre-emptive pruning of expired items, but you\n * _may_ set a TTL on the cache, and it will treat expired items as missing\n * when they are fetched, and delete them.\n *\n * Optional, but must be a non-negative integer in ms if specified.\n *\n * This may be overridden by passing an options object to `cache.set()`.\n *\n * At least one of `max`, `maxSize`, or `TTL` is required. This must be a\n * positive integer if set.\n *\n * Even if ttl tracking is enabled, **it is strongly recommended to set a\n * `max` to prevent unbounded growth of the cache.**\n *\n * If ttl tracking is enabled, and `max` and `maxSize` are not set,\n * and `ttlAutopurge` is not set, then a warning will be emitted\n * cautioning about the potential for unbounded memory consumption.\n * (The TypeScript definitions will also discourage this.)\n */\n ttl?: Milliseconds\n\n /**\n * Minimum amount of time in ms in which to check for staleness.\n * Defaults to 1, which means that the current time is checked\n * at most once per millisecond.\n *\n * Set to 0 to check the current time every time staleness is tested.\n * (This reduces performance, and is theoretically unnecessary.)\n *\n * Setting this to a higher value will improve performance somewhat\n * while using ttl tracking, albeit at the expense of keeping stale\n * items around a bit longer than their TTLs would indicate.\n *\n * @default 1\n */\n ttlResolution?: Milliseconds\n\n /**\n * Preemptively remove stale items from the cache.\n *\n * Note that this may *significantly* degrade performance, especially if\n * the cache is storing a large number of items. It is almost always best\n * to just leave the stale items in the cache, and let them fall out as new\n * items are added.\n *\n * Note that this means that {@link OptionsBase.allowStale} is a bit\n * pointless, as stale items will be deleted almost as soon as they\n * expire.\n *\n * Use with caution!\n */\n ttlAutopurge?: boolean\n\n /**\n * When using time-expiring entries with `ttl`, setting this to `true` will\n * make each item's age reset to 0 whenever it is retrieved from cache with\n * {@link LRUCache#get}, causing it to not expire. (It can still fall out\n * of cache based on recency of use, of course.)\n *\n * Has no effect if {@link OptionsBase.ttl} is not set.\n *\n * This may be overridden by passing an options object to `cache.get()`.\n */\n updateAgeOnGet?: boolean\n\n /**\n * When using time-expiring entries with `ttl`, setting this to `true` will\n * make each item's age reset to 0 whenever its presence in the cache is\n * checked with {@link LRUCache#has}, causing it to not expire. (It can\n * still fall out of cache based on recency of use, of course.)\n *\n * Has no effect if {@link OptionsBase.ttl} is not set.\n */\n updateAgeOnHas?: boolean\n\n /**\n * Allow {@link LRUCache#get} and {@link LRUCache#fetch} calls to return\n * stale data, if available.\n *\n * By default, if you set `ttl`, stale items will only be deleted from the\n * cache when you `get(key)`. That is, it's not preemptively pruning items,\n * unless {@link OptionsBase.ttlAutopurge} is set.\n *\n * If you set `allowStale:true`, it'll return the stale value *as well as*\n * deleting it. If you don't set this, then it'll return `undefined` when\n * you try to get a stale entry.\n *\n * Note that when a stale entry is fetched, _even if it is returned due to\n * `allowStale` being set_, it is removed from the cache immediately. You\n * can suppress this behavior by setting\n * {@link OptionsBase.noDeleteOnStaleGet}, either in the constructor, or in\n * the options provided to {@link LRUCache#get}.\n *\n * This may be overridden by passing an options object to `cache.get()`.\n * The `cache.has()` method will always return `false` for stale items.\n *\n * Only relevant if a ttl is set.\n */\n allowStale?: boolean\n\n /**\n * Function that is called on items when they are dropped from the\n * cache, as `dispose(value, key, reason)`.\n *\n * This can be handy if you want to close file descriptors or do\n * other cleanup tasks when items are no longer stored in the cache.\n *\n * **NOTE**: It is called _before_ the item has been fully removed\n * from the cache, so if you want to put it right back in, you need\n * to wait until the next tick. If you try to add it back in during\n * the `dispose()` function call, it will break things in subtle and\n * weird ways.\n *\n * Unlike several other options, this may _not_ be overridden by\n * passing an option to `set()`, for performance reasons.\n *\n * The `reason` will be one of the following strings, corresponding\n * to the reason for the item's deletion:\n *\n * - `evict` Item was evicted to make space for a new addition\n * - `set` Item was overwritten by a new value\n * - `expire` Item expired its TTL\n * - `fetch` Item was deleted due to a failed or aborted fetch, or a\n * fetchMethod returning `undefined.\n * - `delete` Item was removed by explicit `cache.delete(key)`,\n * `cache.clear()`, or `cache.set(key, undefined)`.\n */\n dispose?: Disposer<K, V>\n\n /**\n * The same as {@link OptionsBase.dispose}, but called *after* the entry\n * is completely removed and the cache is once again in a clean state.\n *\n * It is safe to add an item right back into the cache at this point.\n * However, note that it is *very* easy to inadvertently create infinite\n * recursion this way.\n */\n disposeAfter?: Disposer<K, V>\n\n /**\n * Set to true to suppress calling the\n * {@link OptionsBase.dispose} function if the entry key is\n * still accessible within the cache.\n *\n * This may be overridden by passing an options object to\n * {@link LRUCache#set}.\n *\n * Only relevant if `dispose` or `disposeAfter` are set.\n */\n noDisposeOnSet?: boolean\n\n /**\n * Boolean flag to tell the cache to not update the TTL when setting a new\n * value for an existing key (ie, when updating a value rather than\n * inserting a new value). Note that the TTL value is _always_ set (if\n * provided) when adding a new entry into the cache.\n *\n * Has no effect if a {@link OptionsBase.ttl} is not set.\n *\n * May be passed as an option to {@link LRUCache#set}.\n */\n noUpdateTTL?: boolean\n\n /**\n * Set to a positive integer to track the sizes of items added to the\n * cache, and automatically evict items in order to stay below this size.\n * Note that this may result in fewer than `max` items being stored.\n *\n * Attempting to add an item to the cache whose calculated size is greater\n * that this amount will be a no-op. The item will not be cached, and no\n * other items will be evicted.\n *\n * Optional, must be a positive integer if provided.\n *\n * Sets `maxEntrySize` to the same value, unless a different value is\n * provided for `maxEntrySize`.\n *\n * At least one of `max`, `maxSize`, or `TTL` is required. This must be a\n * positive integer if set.\n *\n * Even if size tracking is enabled, **it is strongly recommended to set a\n * `max` to prevent unbounded growth of the cache.**\n *\n * Note also that size tracking can negatively impact performance,\n * though for most cases, only minimally.\n */\n maxSize?: Size\n\n /**\n * The maximum allowed size for any single item in the cache.\n *\n * If a larger item is passed to {@link LRUCache#set} or returned by a\n * {@link OptionsBase.fetchMethod} or {@link OptionsBase.memoMethod}, then\n * it will not be stored in the cache.\n *\n * Attempting to add an item whose calculated size is greater than\n * this amount will not cache the item or evict any old items, but\n * WILL delete an existing value if one is already present.\n *\n * Optional, must be a positive integer if provided. Defaults to\n * the value of `maxSize` if provided.\n */\n maxEntrySize?: Size\n\n /**\n * A function that returns a number indicating the item's size.\n *\n * Requires {@link OptionsBase.maxSize} to be set.\n *\n * If not provided, and {@link OptionsBase.maxSize} or\n * {@link OptionsBase.maxEntrySize} are set, then all\n * {@link LRUCache#set} calls **must** provide an explicit\n * {@link SetOptions.size} or sizeCalculation param.\n */\n sizeCalculation?: SizeCalculator<K, V>\n\n /**\n * Method that provides the implementation for {@link LRUCache#fetch}\n *\n * ```ts\n * fetchMethod(key, staleValue, { signal, options, context })\n * ```\n *\n * If `fetchMethod` is not provided, then `cache.fetch(key)` is equivalent\n * to `Promise.resolve(cache.get(key))`.\n *\n * If at any time, `signal.aborted` is set to `true`, or if the\n * `signal.onabort` method is called, or if it emits an `'abort'` event\n * which you can listen to with `addEventListener`, then that means that\n * the fetch should be abandoned. This may be passed along to async\n * functions aware of AbortController/AbortSignal behavior.\n *\n * The `fetchMethod` should **only** return `undefined` or a Promise\n * resolving to `undefined` if the AbortController signaled an `abort`\n * event. In all other cases, it should return or resolve to a value\n * suitable for adding to the cache.\n *\n * The `options` object is a union of the options that may be provided to\n * `set()` and `get()`. If they are modified, then that will result in\n * modifying the settings to `cache.set()` when the value is resolved, and\n * in the case of\n * {@link OptionsBase.noDeleteOnFetchRejection} and\n * {@link OptionsBase.allowStaleOnFetchRejection}, the handling of\n * `fetchMethod` failures.\n *\n * For example, a DNS cache may update the TTL based on the value returned\n * from a remote DNS server by changing `options.ttl` in the `fetchMethod`.\n */\n fetchMethod?: Fetcher<K, V, FC>\n\n /**\n * Method that provides the implementation for {@link LRUCache#memo}\n */\n memoMethod?: Memoizer<K, V, FC>\n\n /**\n * Set to true to suppress the deletion of stale data when a\n * {@link OptionsBase.fetchMethod} returns a rejected promise.\n */\n noDeleteOnFetchRejection?: boolean\n\n /**\n * Do not delete stale items when they are retrieved with\n * {@link LRUCache#get}.\n *\n * Note that the `get` return value will still be `undefined`\n * unless {@link OptionsBase.allowStale} is true.\n *\n * When using time-expiring entries with `ttl`, by default stale\n * items will be removed from the cache when the key is accessed\n * with `cache.get()`.\n *\n * Setting this option will cause stale items to remain in the cache, until\n * they are explicitly deleted with `cache.delete(key)`, or retrieved with\n * `noDeleteOnStaleGet` set to `false`.\n *\n * This may be overridden by passing an options object to `cache.get()`.\n *\n * Only relevant if a ttl is used.\n */\n noDeleteOnStaleGet?: boolean\n\n /**\n * Set to true to allow returning stale data when a\n * {@link OptionsBase.fetchMethod} throws an error or returns a rejected\n * promise.\n *\n * This differs from using {@link OptionsBase.allowStale} in that stale\n * data will ONLY be returned in the case that the {@link LRUCache#fetch}\n * fails, not any other times.\n *\n * If a `fetchMethod` fails, and there is no stale value available, the\n * `fetch()` will resolve to `undefined`. Ie, all `fetchMethod` errors are\n * suppressed.\n *\n * Implies `noDeleteOnFetchRejection`.\n *\n * This may be set in calls to `fetch()`, or defaulted on the constructor,\n * or overridden by modifying the options object in the `fetchMethod`.\n */\n allowStaleOnFetchRejection?: boolean\n\n /**\n * Set to true to return a stale value from the cache when the\n * `AbortSignal` passed to the {@link OptionsBase.fetchMethod} dispatches\n * an `'abort'` event, whether user-triggered, or due to internal cache\n * behavior.\n *\n * Unless {@link OptionsBase.ignoreFetchAbort} is also set, the underlying\n * {@link OptionsBase.fetchMethod} will still be considered canceled, and\n * any value it returns will be ignored and not cached.\n *\n * Caveat: since fetches are aborted when a new value is explicitly\n * set in the cache, this can lead to fetch returning a stale value,\n * since that was the fallback value _at the moment the `fetch()` was\n * initiated_, even though the new updated value is now present in\n * the cache.\n *\n * For example:\n *\n * ```ts\n * const cache = new LRUCache<string, any>({\n * ttl: 100,\n * fetchMethod: async (url, oldValue, { signal }) => {\n * const res = await fetch(url, { signal })\n * return await res.json()\n * }\n * })\n * cache.set('https://example.com/', { some: 'data' })\n * // 100ms go by...\n * const result = cache.fetch('https://example.com/')\n * cache.set('https://example.com/', { other: 'thing' })\n * console.log(await result) // { some: 'data' }\n * console.log(cache.get('https://example.com/')) // { other: 'thing' }\n * ```\n */\n allowStaleOnFetchAbort?: boolean\n\n /**\n * Set to true to ignore the `abort` event emitted by the `AbortSignal`\n * object passed to {@link OptionsBase.fetchMethod}, and still cache the\n * resulting resolution value, as long as it is not `undefined`.\n *\n * When used on its own, this means aborted {@link LRUCache#fetch} calls\n * are not immediately resolved or rejected when they are aborted, and\n * instead take the full time to await.\n *\n * When used with {@link OptionsBase.allowStaleOnFetchAbort}, aborted\n * {@link LRUCache#fetch} calls will resolve immediately to their stale\n * cached value or `undefined`, and will continue to process and eventually\n * update the cache when they resolve, as long as the resulting value is\n * not `undefined`, thus supporting a \"return stale on timeout while\n * refreshing\" mechanism by passing `AbortSignal.timeout(n)` as the signal.\n *\n * For example:\n *\n * ```ts\n * const c = new LRUCache({\n * ttl: 100,\n * ignoreFetchAbort: true,\n * allowStaleOnFetchAbort: true,\n * fetchMethod: async (key, oldValue, { signal }) => {\n * // note: do NOT pass the signal to fetch()!\n * // let's say this fetch can take a long time.\n * const res = await fetch(`https://slow-backend-server/${key}`)\n * return await res.json()\n * },\n * })\n *\n * // this will return the stale value after 100ms, while still\n * // updating in the background for next time.\n * const val = await c.fetch('key', { signal: AbortSignal.timeout(100) })\n * ```\n *\n * **Note**: regardless of this setting, an `abort` event _is still\n * emitted on the `AbortSignal` object_, so may result in invalid results\n * when passed to other underlying APIs that use AbortSignals.\n *\n * This may be overridden in the {@link OptionsBase.fetchMethod} or the\n * call to {@link LRUCache#fetch}.\n */\n ignoreFetchAbort?: boolean\n }\n\n export interface OptionsMaxLimit<K, V, FC>\n extends OptionsBase<K, V, FC> {\n max: Count\n }\n export interface OptionsTTLLimit<K, V, FC>\n extends OptionsBase<K, V, FC> {\n ttl: Milliseconds\n ttlAutopurge: boolean\n }\n export interface OptionsSizeLimit<K, V, FC>\n extends OptionsBase<K, V, FC> {\n maxSize: Size\n }\n\n /**\n * The valid safe options for the {@link LRUCache} constructor\n */\n export type Options<K, V, FC> =\n | OptionsMaxLimit<K, V, FC>\n | OptionsSizeLimit<K, V, FC>\n | OptionsTTLLimit<K, V, FC>\n\n /**\n * Entry objects used by {@link LRUCache#load} and {@link LRUCache#dump},\n * and returned by {@link LRUCache#info}.\n */\n export interface Entry<V> {\n value: V\n ttl?: Milliseconds\n size?: Size\n start?: Milliseconds\n }\n}\n\n/**\n * Default export, the thing you're using this module to get.\n *\n * The `K` and `V` types define the key and value types, respectively. The\n * optional `FC` type defines the type of the `context` object passed to\n * `cache.fetch()` and `cache.memo()`.\n *\n * Keys and values **must not** be `null` or `undefined`.\n *\n * All properties from the options object (with the exception of `max`,\n * `maxSize`, `fetchMethod`, `memoMethod`, `dispose` and `disposeAfter`) are\n * added as normal public members. (The listed options are read-only getters.)\n *\n * Changing any of these will alter the defaults for subsequent method calls.\n */\nexport class LRUCache<K extends {}, V extends {}, FC = unknown>\n implements Map<K, V>\n{\n // options that cannot be changed without disaster\n readonly #max: LRUCache.Count\n readonly #maxSize: LRUCache.Size\n readonly #dispose?: LRUCache.Disposer<K, V>\n readonly #disposeAfter?: LRUCache.Disposer<K, V>\n readonly #fetchMethod?: LRUCache.Fetcher<K, V, FC>\n readonly #memoMethod?: LRUCache.Memoizer<K, V, FC>\n\n /**\n * {@link LRUCache.OptionsBase.ttl}\n */\n ttl: LRUCache.Milliseconds\n\n /**\n * {@link LRUCache.OptionsBase.ttlResolution}\n */\n ttlResolution: LRUCache.Milliseconds\n /**\n * {@link LRUCache.OptionsBase.ttlAutopurge}\n */\n ttlAutopurge: boolean\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnGet}\n */\n updateAgeOnGet: boolean\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnHas}\n */\n updateAgeOnHas: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStale}\n */\n allowStale: boolean\n\n /**\n * {@link LRUCache.OptionsBase.noDisposeOnSet}\n */\n noDisposeOnSet: boolean\n /**\n * {@link LRUCache.OptionsBase.noUpdateTTL}\n */\n noUpdateTTL: boolean\n /**\n * {@link LRUCache.OptionsBase.maxEntrySize}\n */\n maxEntrySize: LRUCache.Size\n /**\n * {@link LRUCache.OptionsBase.sizeCalculation}\n */\n sizeCalculation?: LRUCache.SizeCalculator<K, V>\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}\n */\n noDeleteOnFetchRejection: boolean\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}\n */\n noDeleteOnStaleGet: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}\n */\n allowStaleOnFetchAbort: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}\n */\n allowStaleOnFetchRejection: boolean\n /**\n * {@link LRUCache.OptionsBase.ignoreFetchAbort}\n */\n ignoreFetchAbort: boolean\n\n // computed properties\n #size: LRUCache.Count\n #calculatedSize: LRUCache.Size\n #keyMap: Map<K, Index>\n #keyList: (K | undefined)[]\n #valList: (V | BackgroundFetch<V> | undefined)[]\n #next: NumberArray\n #prev: NumberArray\n #head: Index\n #tail: Index\n #free: StackLike\n #disposed?: DisposeTask<K, V>[]\n #sizes?: ZeroArray\n #starts?: ZeroArray\n #ttls?: ZeroArray\n\n #hasDispose: boolean\n #hasFetchMethod: boolean\n #hasDisposeAfter: boolean\n\n /**\n * Do not call this method unless you need to inspect the\n * inner workings of the cache. If anything returned by this\n * object is modified in any way, strange breakage may occur.\n *\n * These fields are private for a reason!\n *\n * @internal\n */\n static unsafeExposeInternals<\n K extends {},\n V extends {},\n FC extends unknown = unknown\n >(c: LRUCache<K, V, FC>) {\n return {\n // properties\n starts: c.#starts,\n ttls: c.#ttls,\n sizes: c.#sizes,\n keyMap: c.#keyMap as Map<K, number>,\n keyList: c.#keyList,\n valList: c.#valList,\n next: c.#next,\n prev: c.#prev,\n get head() {\n return c.#head\n },\n get tail() {\n return c.#tail\n },\n free: c.#free,\n // methods\n isBackgroundFetch: (p: any) => c.#isBackgroundFetch(p),\n backgroundFetch: (\n k: K,\n index: number | undefined,\n options: LRUCache.FetchOptions<K, V, FC>,\n context: any\n ): BackgroundFetch<V> =>\n c.#backgroundFetch(\n k,\n index as Index | undefined,\n options,\n context\n ),\n moveToTail: (index: number): void =>\n c.#moveToTail(index as Index),\n indexes: (options?: { allowStale: boolean }) =>\n c.#indexes(options),\n rindexes: (options?: { allowStale: boolean }) =>\n c.#rindexes(options),\n isStale: (index: number | undefined) =>\n c.#isStale(index as Index),\n }\n }\n\n // Protected read-only members\n\n /**\n * {@link LRUCache.OptionsBase.max} (read-only)\n */\n get max(): LRUCache.Count {\n return this.#max\n }\n /**\n * {@link LRUCache.OptionsBase.maxSize} (read-only)\n */\n get maxSize(): LRUCache.Count {\n return this.#maxSize\n }\n /**\n * The total computed size of items in the cache (read-only)\n */\n get calculatedSize(): LRUCache.Size {\n return this.#calculatedSize\n }\n /**\n * The number of items stored in the cache (read-only)\n */\n get size(): LRUCache.Count {\n return this.#size\n }\n /**\n * {@link LRUCache.OptionsBase.fetchMethod} (read-only)\n */\n get fetchMethod(): LRUCache.Fetcher<K, V, FC> | undefined {\n return this.#fetchMethod\n }\n get memoMethod(): LRUCache.Memoizer<K, V, FC> | undefined {\n return this.#memoMethod\n }\n /**\n * {@link LRUCache.OptionsBase.dispose} (read-only)\n */\n get dispose() {\n return this.#dispose\n }\n /**\n * {@link LRUCache.OptionsBase.disposeAfter} (read-only)\n */\n get disposeAfter() {\n return this.#disposeAfter\n }\n\n constructor(\n options: LRUCache.Options<K, V, FC> | LRUCache<K, V, FC>\n ) {\n const {\n max = 0,\n ttl,\n ttlResolution = 1,\n ttlAutopurge,\n updateAgeOnGet,\n updateAgeOnHas,\n allowStale,\n dispose,\n disposeAfter,\n noDisposeOnSet,\n noUpdateTTL,\n maxSize = 0,\n maxEntrySize = 0,\n sizeCalculation,\n fetchMethod,\n memoMethod,\n noDeleteOnFetchRejection,\n noDeleteOnStaleGet,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n } = options\n\n if (max !== 0 && !isPosInt(max)) {\n throw new TypeError('max option must be a nonnegative integer')\n }\n\n const UintArray = max ? getUintArray(max) : Array\n if (!UintArray) {\n throw new Error('invalid max value: ' + max)\n }\n\n this.#max = max\n this.#maxSize = maxSize\n this.maxEntrySize = maxEntrySize || this.#maxSize\n this.sizeCalculation = sizeCalculation\n if (this.sizeCalculation) {\n if (!this.#maxSize && !this.maxEntrySize) {\n throw new TypeError(\n 'cannot set sizeCalculation without setting maxSize or maxEntrySize'\n )\n }\n if (typeof this.sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation set to non-function')\n }\n }\n\n if (\n memoMethod !== undefined &&\n typeof memoMethod !== 'function'\n ) {\n throw new TypeError('memoMethod must be a function if defined')\n }\n this.#memoMethod = memoMethod\n\n if (\n fetchMethod !== undefined &&\n typeof fetchMethod !== 'function'\n ) {\n throw new TypeError(\n 'fetchMethod must be a function if specified'\n )\n }\n this.#fetchMethod = fetchMethod\n this.#hasFetchMethod = !!fetchMethod\n\n this.#keyMap = new Map()\n this.#keyList = new Array(max).fill(undefined)\n this.#valList = new Array(max).fill(undefined)\n this.#next = new UintArray(max)\n this.#prev = new UintArray(max)\n this.#head = 0 as Index\n this.#tail = 0 as Index\n this.#free = Stack.create(max)\n this.#size = 0\n this.#calculatedSize = 0\n\n if (typeof dispose === 'function') {\n this.#dispose = dispose\n }\n if (typeof disposeAfter === 'function') {\n this.#disposeAfter = disposeAfter\n this.#disposed = []\n } else {\n this.#disposeAfter = undefined\n this.#disposed = undefined\n }\n this.#hasDispose = !!this.#dispose\n this.#hasDisposeAfter = !!this.#disposeAfter\n\n this.noDisposeOnSet = !!noDisposeOnSet\n this.noUpdateTTL = !!noUpdateTTL\n this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection\n this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection\n this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort\n this.ignoreFetchAbort = !!ignoreFetchAbort\n\n // NB: maxEntrySize is set to maxSize if it's set\n if (this.maxEntrySize !== 0) {\n if (this.#maxSize !== 0) {\n if (!isPosInt(this.#maxSize)) {\n throw new TypeError(\n 'maxSize must be a positive integer if specified'\n )\n }\n }\n if (!isPosInt(this.maxEntrySize)) {\n throw new TypeError(\n 'maxEntrySize must be a positive integer if specified'\n )\n }\n this.#initializeSizeTracking()\n }\n\n this.allowStale = !!allowStale\n this.noDeleteOnStaleGet = !!noDeleteOnStaleGet\n this.updateAgeOnGet = !!updateAgeOnGet\n this.updateAgeOnHas = !!updateAgeOnHas\n this.ttlResolution =\n isPosInt(ttlResolution) || ttlResolution === 0\n ? ttlResolution\n : 1\n this.ttlAutopurge = !!ttlAutopurge\n this.ttl = ttl || 0\n if (this.ttl) {\n if (!isPosInt(this.ttl)) {\n throw new TypeError(\n 'ttl must be a positive integer if specified'\n )\n }\n this.#initializeTTLTracking()\n }\n\n // do not allow completely unbounded caches\n if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {\n throw new TypeError(\n 'At least one of max, maxSize, or ttl is required'\n )\n }\n if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {\n const code = 'LRU_CACHE_UNBOUNDED'\n if (shouldWarn(code)) {\n warned.add(code)\n const msg =\n 'TTL caching without ttlAutopurge, max, or maxSize can ' +\n 'result in unbounded memory consumption.'\n emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)\n }\n }\n }\n\n /**\n * Return the number of ms left in the item's TTL. If item is not in cache,\n * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.\n */\n getRemainingTTL(key: K) {\n return this.#keyMap.has(key) ? Infinity : 0\n }\n\n #initializeTTLTracking() {\n const ttls = new ZeroArray(this.#max)\n const starts = new ZeroArray(this.#max)\n this.#ttls = ttls\n this.#starts = starts\n\n this.#setItemTTL = (index, ttl, start = perf.now()) => {\n starts[index] = ttl !== 0 ? start : 0\n ttls[index] = ttl\n if (ttl !== 0 && this.ttlAutopurge) {\n const t = setTimeout(() => {\n if (this.#isStale(index)) {\n this.#delete(this.#keyList[index] as K, 'expire')\n }\n }, ttl + 1)\n // unref() not supported on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref()\n }\n /* c8 ignore stop */\n }\n }\n\n this.#updateItemAge = index => {\n starts[index] = ttls[index] !== 0 ? perf.now() : 0\n }\n\n this.#statusTTL = (status, index) => {\n if (ttls[index]) {\n const ttl = ttls[index]\n const start = starts[index]\n /* c8 ignore next */\n if (!ttl || !start) return\n status.ttl = ttl\n status.start = start\n status.now = cachedNow || getNow()\n const age = status.now - start\n status.remainingTTL = ttl - age\n }\n }\n\n // debounce calls to perf.now() to 1s so we're not hitting\n // that costly call repeatedly.\n let cachedNow = 0\n const getNow = () => {\n const n = perf.now()\n if (this.ttlResolution > 0) {\n cachedNow = n\n const t = setTimeout(\n () => (cachedNow = 0),\n this.ttlResolution\n )\n // not available on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref()\n }\n /* c8 ignore stop */\n }\n return n\n }\n\n this.getRemainingTTL = key => {\n const index = this.#keyMap.get(key)\n if (index === undefined) {\n return 0\n }\n const ttl = ttls[index]\n const start = starts[index]\n if (!ttl || !start) {\n return Infinity\n }\n const age = (cachedNow || getNow()) - start\n return ttl - age\n }\n\n this.#isStale = index => {\n const s = starts[index]\n const t = ttls[index]\n return !!t && !!s && (cachedNow || getNow()) - s > t\n }\n }\n\n // conditionally set private methods related to TTL\n #updateItemAge: (index: Index) => void = () => {}\n #statusTTL: (status: LRUCache.Status<V>, index: Index) => void =\n () => {}\n #setItemTTL: (\n index: Index,\n ttl: LRUCache.Milliseconds,\n start?: LRUCache.Milliseconds\n // ignore because we never call this if we're not already in TTL mode\n /* c8 ignore start */\n ) => void = () => {}\n /* c8 ignore stop */\n\n #isStale: (index: Index) => boolean = () => false\n\n #initializeSizeTracking() {\n const sizes = new ZeroArray(this.#max)\n this.#calculatedSize = 0\n this.#sizes = sizes\n this.#removeItemSize = index => {\n this.#calculatedSize -= sizes[index] as number\n sizes[index] = 0\n }\n this.#requireSize = (k, v, size, sizeCalculation) => {\n // provisionally accept background fetches.\n // actual value size will be checked when they return.\n if (this.#isBackgroundFetch(v)) {\n return 0\n }\n if (!isPosInt(size)) {\n if (sizeCalculation) {\n if (typeof sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation must be a function')\n }\n size = sizeCalculation(v, k)\n if (!isPosInt(size)) {\n throw new TypeError(\n 'sizeCalculation return invalid (expect positive integer)'\n )\n }\n } else {\n throw new TypeError(\n 'invalid size value (must be positive integer). ' +\n 'When maxSize or maxEntrySize is used, sizeCalculation ' +\n 'or size must be set.'\n )\n }\n }\n return size\n }\n this.#addItemSize = (\n index: Index,\n size: LRUCache.Size,\n status?: LRUCache.Status<V>\n ) => {\n sizes[index] = size\n if (this.#maxSize) {\n const maxSize = this.#maxSize - (sizes[index] as number)\n while (this.#calculatedSize > maxSize) {\n this.#evict(true)\n }\n }\n this.#calculatedSize += sizes[index] as number\n if (status) {\n status.entrySize = size\n status.totalCalculatedSize = this.#calculatedSize\n }\n }\n }\n\n #removeItemSize: (index: Index) => void = _i => {}\n #addItemSize: (\n index: Index,\n size: LRUCache.Size,\n status?: LRUCache.Status<V>\n ) => void = (_i, _s, _st) => {}\n #requireSize: (\n k: K,\n v: V | BackgroundFetch<V>,\n size?: LRUCache.Size,\n sizeCalculation?: LRUCache.SizeCalculator<K, V>\n ) => LRUCache.Size = (\n _k: K,\n _v: V | BackgroundFetch<V>,\n size?: LRUCache.Size,\n sizeCalculation?: LRUCache.SizeCalculator<K, V>\n ) => {\n if (size || sizeCalculation) {\n throw new TypeError(\n 'cannot set size without setting maxSize or maxEntrySize on cache'\n )\n }\n return 0\n };\n\n *#indexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#tail; true; ) {\n if (!this.#isValidIndex(i)) {\n break\n }\n if (allowStale || !this.#isStale(i)) {\n yield i\n }\n if (i === this.#head) {\n break\n } else {\n i = this.#prev[i] as Index\n }\n }\n }\n }\n\n *#rindexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#head; true; ) {\n if (!this.#isValidIndex(i)) {\n break\n }\n if (allowStale || !this.#isStale(i)) {\n yield i\n }\n if (i === this.#tail) {\n break\n } else {\n i = this.#next[i] as Index\n }\n }\n }\n }\n\n #isValidIndex(index: Index) {\n return (\n index !== undefined &&\n this.#keyMap.get(this.#keyList[index] as K) === index\n )\n }\n\n /**\n * Return a generator yielding `[key, value]` pairs,\n * in order from most recently used to least recently used.\n */\n *entries() {\n for (const i of this.#indexes()) {\n if (\n this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield [this.#keyList[i], this.#valList[i]] as [K, V]\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.entries}\n *\n * Return a generator yielding `[key, value]` pairs,\n * in order from least recently used to most recently used.\n */\n *rentries() {\n for (const i of this.#rindexes()) {\n if (\n this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield [this.#keyList[i], this.#valList[i]]\n }\n }\n }\n\n /**\n * Return a generator yielding the keys in the cache,\n * in order from most recently used to least recently used.\n */\n *keys() {\n for (const i of this.#indexes()) {\n const k = this.#keyList[i]\n if (\n k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield k\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.keys}\n *\n * Return a generator yielding the keys in the cache,\n * in order from least recently used to most recently used.\n */\n *rkeys() {\n for (const i of this.#rindexes()) {\n const k = this.#keyList[i]\n if (\n k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield k\n }\n }\n }\n\n /**\n * Return a generator yielding the values in the cache,\n * in order from most recently used to least recently used.\n */\n *values() {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n if (\n v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield this.#valList[i] as V\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.values}\n *\n * Return a generator yielding the values in the cache,\n * in order from least recently used to most recently used.\n */\n *rvalues() {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i]\n if (\n v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield this.#valList[i]\n }\n }\n }\n\n /**\n * Iterating over the cache itself yields the same results as\n * {@link LRUCache.entries}\n */\n [Symbol.iterator]() {\n return this.entries()\n }\n\n /**\n * A String value that is used in the creation of the default string\n * description of an object. Called by the built-in method\n * `Object.prototype.toString`.\n */\n [Symbol.toStringTag] = 'LRUCache'\n\n /**\n * Find a value for which the supplied fn method returns a truthy value,\n * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.\n */\n find(\n fn: (v: V, k: K, self: LRUCache<K, V, FC>) => boolean,\n getOptions: LRUCache.GetOptions<K, V, FC> = {}\n ) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n if (fn(value, this.#keyList[i] as K, this)) {\n return this.get(this.#keyList[i] as K, getOptions)\n }\n }\n }\n\n /**\n * Call the supplied function on each item in the cache, in order from most\n * recently used to least recently used.\n *\n * `fn` is called as `fn(value, key, cache)`.\n *\n * If `thisp` is provided, function will be called in the `this`-context of\n * the provided object, or the cache if no `thisp` object is provided.\n *\n * Does not update age or recenty of use, or iterate over stale values.\n */\n forEach(\n fn: (v: V, k: K, self: LRUCache<K, V, FC>) => any,\n thisp: any = this\n ) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.#keyList[i] as K, this)\n }\n }\n\n /**\n * The same as {@link LRUCache.forEach} but items are iterated over in\n * reverse order. (ie, less recently used items are iterated over first.)\n */\n rforEach(\n fn: (v: V, k: K, self: LRUCache<K, V, FC>) => any,\n thisp: any = this\n ) {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.#keyList[i] as K, this)\n }\n }\n\n /**\n * Delete any stale entries. Returns true if anything was removed,\n * false otherwise.\n */\n purgeStale() {\n let deleted = false\n for (const i of this.#rindexes({ allowStale: true })) {\n if (this.#isStale(i)) {\n this.#delete(this.#keyList[i] as K, 'expire')\n deleted = true\n }\n }\n return deleted\n }\n\n /**\n * Get the extended info about a given entry, to get its value, size, and\n * TTL info simultaneously. Returns `undefined` if the key is not present.\n *\n * Unlike {@link LRUCache#dump}, which is designed to be portable and survive\n * serialization, the `start` value is always the current timestamp, and the\n * `ttl` is a calculated remaining time to live (negative if expired).\n *\n * Always returns stale values, if their info is found in the cache, so be\n * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})\n * if relevant.\n */\n info(key: K): LRUCache.Entry<V> | undefined {\n const i = this.#keyMap.get(key)\n if (i === undefined) return undefined\n const v = this.#valList[i]\n const value: V | undefined = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) return undefined\n const entry: LRUCache.Entry<V> = { value }\n if (this.#ttls && this.#starts) {\n const ttl = this.#ttls[i]\n const start = this.#starts[i]\n if (ttl && start) {\n const remain = ttl - (perf.now() - start)\n entry.ttl = remain\n entry.start = Date.now()\n }\n }\n if (this.#sizes) {\n entry.size = this.#sizes[i]\n }\n return entry\n }\n\n /**\n * Return an array of [key, {@link LRUCache.Entry}] tuples which can be\n * passed to {@link LRLUCache#load}.\n *\n * The `start` fields are calculated relative to a portable `Date.now()`\n * timestamp, even if `performance.now()` is available.\n *\n * Stale entries are always included in the `dump`, even if\n * {@link LRUCache.OptionsBase.allowStale} is false.\n *\n * Note: this returns an actual array, not a generator, so it can be more\n * easily passed around.\n */\n dump() {\n const arr: [K, LRUCache.Entry<V>][] = []\n for (const i of this.#indexes({ allowStale: true })) {\n const key = this.#keyList[i]\n const v = this.#valList[i]\n const value: V | undefined = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined || key === undefined) continue\n const entry: LRUCache.Entry<V> = { value }\n if (this.#ttls && this.#starts) {\n entry.ttl = this.#ttls[i]\n // always dump the start relative to a portable timestamp\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = perf.now() - (this.#starts[i] as number)\n entry.start = Math.floor(Date.now() - age)\n }\n if (this.#sizes) {\n entry.size = this.#sizes[i]\n }\n arr.unshift([key, entry])\n }\n return arr\n }\n\n /**\n * Reset the cache and load in the items in entries in the order listed.\n *\n * The shape of the resulting cache may be different if the same options are\n * not used in both caches.\n *\n * The `start` fields are assumed to be calculated relative to a portable\n * `Date.now()` timestamp, even if `performance.now()` is available.\n */\n load(arr: [K, LRUCache.Entry<V>][]) {\n this.clear()\n for (const [key, entry] of arr) {\n if (entry.start) {\n // entry.start is a portable timestamp, but we may be using\n // node's performance.now(), so calculate the offset, so that\n // we get the intended remaining TTL, no matter how long it's\n // been on ice.\n //\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = Date.now() - entry.start\n entry.start = perf.now() - age\n }\n this.set(key, entry.value, entry)\n }\n }\n\n /**\n * Add a value to the cache.\n *\n * Note: if `undefined` is specified as a value, this is an alias for\n * {@link LRUCache#delete}\n *\n * Fields on the {@link LRUCache.SetOptions} options param will override\n * their corresponding values in the constructor options for the scope\n * of this single `set()` operation.\n *\n * If `start` is provided, then that will set the effective start\n * time for the TTL calculation. Note that this must be a previous\n * value of `performance.now()` if supported, or a previous value of\n * `Date.now()` if not.\n *\n * Options object may also include `size`, which will prevent\n * calling the `sizeCalculation` function and just use the specified\n * number if it is a positive integer, and `noDisposeOnSet` which\n * will prevent calling a `dispose` function in the case of\n * overwrites.\n *\n * If the `size` (or return value of `sizeCalculation`) for a given\n * entry is greater than `maxEntrySize`, then the item will not be\n * added to the cache.\n *\n * Will update the recency of the entry.\n *\n * If the value is `undefined`, then this is an alias for\n * `cache.delete(key)`. `undefined` is never stored in the cache.\n */\n set(\n k: K,\n v: V | BackgroundFetch<V> | undefined,\n setOptions: LRUCache.SetOptions<K, V, FC> = {}\n ) {\n if (v === undefined) {\n this.delete(k)\n return this\n }\n const {\n ttl = this.ttl,\n start,\n noDisposeOnSet = this.noDisposeOnSet,\n sizeCalculation = this.sizeCalculation,\n status,\n } = setOptions\n let { noUpdateTTL = this.noUpdateTTL } = setOptions\n\n const size = this.#requireSize(\n k,\n v,\n setOptions.size || 0,\n sizeCalculation\n )\n // if the item doesn't fit, don't do anything\n // NB: maxEntrySize set to maxSize by default\n if (this.maxEntrySize && size > this.maxEntrySize) {\n if (status) {\n status.set = 'miss'\n status.maxEntrySizeExceeded = true\n }\n // have to delete, in case something is there already.\n this.#delete(k, 'set')\n return this\n }\n let index = this.#size === 0 ? undefined : this.#keyMap.get(k)\n if (index === undefined) {\n // addition\n index = (\n this.#size === 0\n ? this.#tail\n : this.#free.length !== 0\n ? this.#free.pop()\n : this.#size === this.#max\n ? this.#evict(false)\n : this.#size\n ) as Index\n this.#keyList[index] = k\n this.#valList[index] = v\n this.#keyMap.set(k, index)\n this.#next[this.#tail] = index\n this.#prev[index] = this.#tail\n this.#tail = index\n this.#size++\n this.#addItemSize(index, size, status)\n if (status) status.set = 'add'\n noUpdateTTL = false\n } else {\n // update\n this.#moveToTail(index)\n const oldVal = this.#valList[index] as V | BackgroundFetch<V>\n if (v !== oldVal) {\n if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {\n oldVal.__abortController.abort(new Error('replaced'))\n const { __staleWhileFetching: s } = oldVal\n if (s !== undefined && !noDisposeOnSet) {\n if (this.#hasDispose) {\n this.#dispose?.(s as V, k, 'set')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([s as V, k, 'set'])\n }\n }\n } else if (!noDisposeOnSet) {\n if (this.#hasDispose) {\n this.#dispose?.(oldVal as V, k, 'set')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([oldVal as V, k, 'set'])\n }\n }\n this.#removeItemSize(index)\n this.#addItemSize(index, size, status)\n this.#valList[index] = v\n if (status) {\n status.set = 'replace'\n const oldValue =\n oldVal && this.#isBackgroundFetch(oldVal)\n ? oldVal.__staleWhileFetching\n : oldVal\n if (oldValue !== undefined) status.oldValue = oldValue\n }\n } else if (status) {\n status.set = 'update'\n }\n }\n if (ttl !== 0 && !this.#ttls) {\n this.#initializeTTLTracking()\n }\n if (this.#ttls) {\n if (!noUpdateTTL) {\n this.#setItemTTL(index, ttl, start)\n }\n if (status) this.#statusTTL(status, index)\n }\n if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask<K, V> | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n return this\n }\n\n /**\n * Evict the least recently used item, returning its value or\n * `undefined` if cache is empty.\n */\n pop(): V | undefined {\n try {\n while (this.#size) {\n const val = this.#valList[this.#head]\n this.#evict(true)\n if (this.#isBackgroundFetch(val)) {\n if (val.__staleWhileFetching) {\n return val.__staleWhileFetching\n }\n } else if (val !== undefined) {\n return val\n }\n }\n } finally {\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask<K, V> | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n }\n }\n\n #evict(free: boolean) {\n const head = this.#head\n const k = this.#keyList[head] as K\n const v = this.#valList[head] as V\n if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('evicted'))\n } else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v, k, 'evict')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v, k, 'evict'])\n }\n }\n this.#removeItemSize(head)\n // if we aren't about to use the index, then null these out\n if (free) {\n this.#keyList[head] = undefined\n this.#valList[head] = undefined\n this.#free.push(head)\n }\n if (this.#size === 1) {\n this.#head = this.#tail = 0 as Index\n this.#free.length = 0\n } else {\n this.#head = this.#next[head] as Index\n }\n this.#keyMap.delete(k)\n this.#size--\n return head\n }\n\n /**\n * Check if a key is in the cache, without updating the recency of use.\n * Will return false if the item is stale, even though it is technically\n * in the cache.\n *\n * Check if a key is in the cache, without updating the recency of\n * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set\n * to `true` in either the options or the constructor.\n *\n * Will return `false` if the item is stale, even though it is technically in\n * the cache. The difference can be determined (if it matters) by using a\n * `status` argument, and inspecting the `has` field.\n *\n * Will not update item age unless\n * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.\n */\n has(k: K, hasOptions: LRUCache.HasOptions<K, V, FC> = {}) {\n const { updateAgeOnHas = this.updateAgeOnHas, status } =\n hasOptions\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n const v = this.#valList[index]\n if (\n this.#isBackgroundFetch(v) &&\n v.__staleWhileFetching === undefined\n ) {\n return false\n }\n if (!this.#isStale(index)) {\n if (updateAgeOnHas) {\n this.#updateItemAge(index)\n }\n if (status) {\n status.has = 'hit'\n this.#statusTTL(status, index)\n }\n return true\n } else if (status) {\n status.has = 'stale'\n this.#statusTTL(status, index)\n }\n } else if (status) {\n status.has = 'miss'\n }\n return false\n }\n\n /**\n * Like {@link LRUCache#get} but doesn't update recency or delete stale\n * items.\n *\n * Returns `undefined` if the item is stale, unless\n * {@link LRUCache.OptionsBase.allowStale} is set.\n */\n peek(k: K, peekOptions: LRUCache.PeekOptions<K, V, FC> = {}) {\n const { allowStale = this.allowStale } = peekOptions\n const index = this.#keyMap.get(k)\n if (\n index === undefined ||\n (!allowStale && this.#isStale(index))\n ) {\n return\n }\n const v = this.#valList[index]\n // either stale and allowed, or forcing a refresh of non-stale value\n return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v\n }\n\n #backgroundFetch(\n k: K,\n index: Index | undefined,\n options: LRUCache.FetchOptions<K, V, FC>,\n context: any\n ): BackgroundFetch<V> {\n const v = index === undefined ? undefined : this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n return v\n }\n\n const ac = new AC()\n const { signal } = options\n // when/if our AC signals, then stop listening to theirs.\n signal?.addEventListener('abort', () => ac.abort(signal.reason), {\n signal: ac.signal,\n })\n\n const fetchOpts = {\n signal: ac.signal,\n options,\n context,\n }\n\n const cb = (\n v: V | undefined,\n updateCache = false\n ): V | undefined => {\n const { aborted } = ac.signal\n const ignoreAbort = options.ignoreFetchAbort && v !== undefined\n if (options.status) {\n if (aborted && !updateCache) {\n options.status.fetchAborted = true\n options.status.fetchError = ac.signal.reason\n if (ignoreAbort) options.status.fetchAbortIgnored = true\n } else {\n options.status.fetchResolved = true\n }\n }\n if (aborted && !ignoreAbort && !updateCache) {\n return fetchFail(ac.signal.reason)\n }\n // either we didn't abort, and are still here, or we did, and ignored\n const bf = p as BackgroundFetch<V>\n if (this.#valList[index as Index] === p) {\n if (v === undefined) {\n if (bf.__staleWhileFetching) {\n this.#valList[index as Index] = bf.__staleWhileFetching\n } else {\n this.#delete(k, 'fetch')\n }\n } else {\n if (options.status) options.status.fetchUpdated = true\n this.set(k, v, fetchOpts.options)\n }\n }\n return v\n }\n\n const eb = (er: any) => {\n if (options.status) {\n options.status.fetchRejected = true\n options.status.fetchError = er\n }\n return fetchFail(er)\n }\n\n const fetchFail = (er: any): V | undefined => {\n const { aborted } = ac.signal\n const allowStaleAborted =\n aborted && options.allowStaleOnFetchAbort\n const allowStale =\n allowStaleAborted || options.allowStaleOnFetchRejection\n const noDelete = allowStale || options.noDeleteOnFetchRejection\n const bf = p as BackgroundFetch<V>\n if (this.#valList[index as Index] === p) {\n // if we allow stale on fetch rejections, then we need to ensure that\n // the stale value is not removed from the cache when the fetch fails.\n const del = !noDelete || bf.__staleWhileFetching === undefined\n if (del) {\n this.#delete(k, 'fetch')\n } else if (!allowStaleAborted) {\n // still replace the *promise* with the stale value,\n // since we are done with the promise at this point.\n // leave it untouched if we're still waiting for an\n // aborted background fetch that hasn't yet returned.\n this.#valList[index as Index] = bf.__staleWhileFetching\n }\n }\n if (allowStale) {\n if (options.status && bf.__staleWhileFetching !== undefined) {\n options.status.returnedStale = true\n }\n return bf.__staleWhileFetching\n } else if (bf.__returned === bf) {\n throw er\n }\n }\n\n const pcall = (\n res: (v: V | undefined) => void,\n rej: (e: any) => void\n ) => {\n const fmp = this.#fetchMethod?.(k, v, fetchOpts)\n if (fmp && fmp instanceof Promise) {\n fmp.then(v => res(v === undefined ? undefined : v), rej)\n }\n // ignored, we go until we finish, regardless.\n // defer check until we are actually aborting,\n // so fetchMethod can override.\n ac.signal.addEventListener('abort', () => {\n if (\n !options.ignoreFetchAbort ||\n options.allowStaleOnFetchAbort\n ) {\n res(undefined)\n // when it eventually resolves, update the cache.\n if (options.allowStaleOnFetchAbort) {\n res = v => cb(v, true)\n }\n }\n })\n }\n\n if (options.status) options.status.fetchDispatched = true\n const p = new Promise(pcall).then(cb, eb)\n const bf: BackgroundFetch<V> = Object.assign(p, {\n __abortController: ac,\n __staleWhileFetching: v,\n __returned: undefined,\n })\n\n if (index === undefined) {\n // internal, don't expose status.\n this.set(k, bf, { ...fetchOpts.options, status: undefined })\n index = this.#keyMap.get(k)\n } else {\n this.#valList[index] = bf\n }\n return bf\n }\n\n #isBackgroundFetch(p: any): p is BackgroundFetch<V> {\n if (!this.#hasFetchMethod) return false\n const b = p as BackgroundFetch<V>\n return (\n !!b &&\n b instanceof Promise &&\n b.hasOwnProperty('__staleWhileFetching') &&\n b.__abortController instanceof AC\n )\n }\n\n /**\n * Make an asynchronous cached fetch using the\n * {@link LRUCache.OptionsBase.fetchMethod} function.\n *\n * If the value is in the cache and not stale, then the returned\n * Promise resolves to the value.\n *\n * If not in the cache, or beyond its TTL staleness, then\n * `fetchMethod(key, staleValue, { options, signal, context })` is\n * called, and the value returned will be added to the cache once\n * resolved.\n *\n * If called with `allowStale`, and an asynchronous fetch is\n * currently in progress to reload a stale value, then the former\n * stale value will be returned.\n *\n * If called with `forceRefresh`, then the cached item will be\n * re-fetched, even if it is not stale. However, if `allowStale` is also\n * set, then the old value will still be returned. This is useful\n * in cases where you want to force a reload of a cached value. If\n * a background fetch is already in progress, then `forceRefresh`\n * has no effect.\n *\n * If multiple fetches for the same key are issued, then they will all be\n * coalesced into a single call to fetchMethod.\n *\n * Note that this means that handling options such as\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort},\n * {@link LRUCache.FetchOptions.signal},\n * and {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} will be\n * determined by the FIRST fetch() call for a given key.\n *\n * This is a known (fixable) shortcoming which will be addresed on when\n * someone complains about it, as the fix would involve added complexity and\n * may not be worth the costs for this edge case.\n *\n * If {@link LRUCache.OptionsBase.fetchMethod} is not specified, then this is\n * effectively an alias for `Promise.resolve(cache.get(key))`.\n *\n * When the fetch method resolves to a value, if the fetch has not\n * been aborted due to deletion, eviction, or being overwritten,\n * then it is added to the cache using the options provided.\n *\n * If the key is evicted or deleted before the `fetchMethod`\n * resolves, then the AbortSignal passed to the `fetchMethod` will\n * receive an `abort` event, and the promise returned by `fetch()`\n * will reject with the reason for the abort.\n *\n * If a `signal` is passed to the `fetch()` call, then aborting the\n * signal will abort the fetch and cause the `fetch()` promise to\n * reject with the reason provided.\n *\n * **Setting `context`**\n *\n * If an `FC` type is set to a type other than `unknown`, `void`, or\n * `undefined` in the {@link LRUCache} constructor, then all\n * calls to `cache.fetch()` _must_ provide a `context` option. If\n * set to `undefined` or `void`, then calls to fetch _must not_\n * provide a `context` option.\n *\n * The `context` param allows you to provide arbitrary data that\n * might be relevant in the course of fetching the data. It is only\n * relevant for the course of a single `fetch()` operation, and\n * discarded afterwards.\n *\n * **Note: `fetch()` calls are inflight-unique**\n *\n * If you call `fetch()` multiple times with the same key value,\n * then every call after the first will resolve on the same\n * promise<sup>1</sup>,\n * _even if they have different settings that would otherwise change\n * the behavior of the fetch_, such as `noDeleteOnFetchRejection`\n * or `ignoreFetchAbort`.\n *\n * In most cases, this is not a problem (in fact, only fetching\n * something once is what you probably want, if you're caching in\n * the first place). If you are changing the fetch() options\n * dramatically between runs, there's a good chance that you might\n * be trying to fit divergent semantics into a single object, and\n * would be better off with multiple cache instances.\n *\n * **1**: Ie, they're not the \"same Promise\", but they resolve at\n * the same time, because they're both waiting on the same\n * underlying fetchMethod response.\n */\n\n fetch(\n k: K,\n fetchOptions: unknown extends FC\n ? LRUCache.FetchOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext<K, V>\n : LRUCache.FetchOptionsWithContext<K, V, FC>\n ): Promise<undefined | V>\n\n // this overload not allowed if context is required\n fetch(\n k: unknown extends FC\n ? K\n : FC extends undefined | void\n ? K\n : never,\n fetchOptions?: unknown extends FC\n ? LRUCache.FetchOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext<K, V>\n : never\n ): Promise<undefined | V>\n\n async fetch(\n k: K,\n fetchOptions: LRUCache.FetchOptions<K, V, FC> = {}\n ): Promise<undefined | V> {\n const {\n // get options\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n // set options\n ttl = this.ttl,\n noDisposeOnSet = this.noDisposeOnSet,\n size = 0,\n sizeCalculation = this.sizeCalculation,\n noUpdateTTL = this.noUpdateTTL,\n // fetch exclusive options\n noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,\n allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,\n ignoreFetchAbort = this.ignoreFetchAbort,\n allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,\n context,\n forceRefresh = false,\n status,\n signal,\n } = fetchOptions\n\n if (!this.#hasFetchMethod) {\n if (status) status.fetch = 'get'\n return this.get(k, {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n status,\n })\n }\n\n const options = {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n ttl,\n noDisposeOnSet,\n size,\n sizeCalculation,\n noUpdateTTL,\n noDeleteOnFetchRejection,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n status,\n signal,\n }\n\n let index = this.#keyMap.get(k)\n if (index === undefined) {\n if (status) status.fetch = 'miss'\n const p = this.#backgroundFetch(k, index, options, context)\n return (p.__returned = p)\n } else {\n // in cache, maybe already fetching\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n const stale =\n allowStale && v.__staleWhileFetching !== undefined\n if (status) {\n status.fetch = 'inflight'\n if (stale) status.returnedStale = true\n }\n return stale ? v.__staleWhileFetching : (v.__returned = v)\n }\n\n // if we force a refresh, that means do NOT serve the cached value,\n // unless we are already in the process of refreshing the cache.\n const isStale = this.#isStale(index)\n if (!forceRefresh && !isStale) {\n if (status) status.fetch = 'hit'\n this.#moveToTail(index)\n if (updateAgeOnGet) {\n this.#updateItemAge(index)\n }\n if (status) this.#statusTTL(status, index)\n return v\n }\n\n // ok, it is stale or a forced refresh, and not already fetching.\n // refresh the cache.\n const p = this.#backgroundFetch(k, index, options, context)\n const hasStale = p.__staleWhileFetching !== undefined\n const staleVal = hasStale && allowStale\n if (status) {\n status.fetch = isStale ? 'stale' : 'refresh'\n if (staleVal && isStale) status.returnedStale = true\n }\n return staleVal ? p.__staleWhileFetching : (p.__returned = p)\n }\n }\n\n /**\n * In some cases, `cache.fetch()` may resolve to `undefined`, either because\n * a {@link LRUCache.OptionsBase#fetchMethod} was not provided (turning\n * `cache.fetch(k)` into just an async wrapper around `cache.get(k)`) or\n * because `ignoreFetchAbort` was specified (either to the constructor or\n * in the {@link LRUCache.FetchOptions}). Also, the\n * {@link OptionsBase.fetchMethod} may return `undefined` or `void`, making\n * the test even more complicated.\n *\n * Because inferring the cases where `undefined` might be returned are so\n * cumbersome, but testing for `undefined` can also be annoying, this method\n * can be used, which will reject if `this.fetch()` resolves to undefined.\n */\n forceFetch(\n k: K,\n fetchOptions: unknown extends FC\n ? LRUCache.FetchOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext<K, V>\n : LRUCache.FetchOptionsWithContext<K, V, FC>\n ): Promise<V>\n // this overload not allowed if context is required\n forceFetch(\n k: unknown extends FC\n ? K\n : FC extends undefined | void\n ? K\n : never,\n fetchOptions?: unknown extends FC\n ? LRUCache.FetchOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext<K, V>\n : never\n ): Promise<V>\n async forceFetch(\n k: K,\n fetchOptions: LRUCache.FetchOptions<K, V, FC> = {}\n ): Promise<V> {\n const v = await this.fetch(\n k,\n fetchOptions as unknown extends FC\n ? LRUCache.FetchOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext<K, V>\n : LRUCache.FetchOptionsWithContext<K, V, FC>\n )\n if (v === undefined) throw new Error('fetch() returned undefined')\n return v\n }\n\n /**\n * If the key is found in the cache, then this is equivalent to\n * {@link LRUCache#get}. If not, in the cache, then calculate the value using\n * the {@link LRUCache.OptionsBase.memoMethod}, and add it to the cache.\n *\n * If an `FC` type is set to a type other than `unknown`, `void`, or\n * `undefined` in the LRUCache constructor, then all calls to `cache.memo()`\n * _must_ provide a `context` option. If set to `undefined` or `void`, then\n * calls to memo _must not_ provide a `context` option.\n *\n * The `context` param allows you to provide arbitrary data that might be\n * relevant in the course of fetching the data. It is only relevant for the\n * course of a single `memo()` operation, and discarded afterwards.\n */\n memo(\n k: K,\n memoOptions: unknown extends FC\n ? LRUCache.MemoOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.MemoOptionsNoContext<K, V>\n : LRUCache.MemoOptionsWithContext<K, V, FC>\n ): V\n // this overload not allowed if context is required\n memo(\n k: unknown extends FC\n ? K\n : FC extends undefined | void\n ? K\n : never,\n memoOptions?: unknown extends FC\n ? LRUCache.MemoOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.MemoOptionsNoContext<K, V>\n : never\n ): V\n memo(k: K, memoOptions: LRUCache.MemoOptions<K, V, FC> = {}) {\n const memoMethod = this.#memoMethod\n if (!memoMethod) {\n throw new Error('no memoMethod provided to constructor')\n }\n const { context, forceRefresh, ...options } = memoOptions\n const v = this.get(k, options)\n if (!forceRefresh && v !== undefined) return v\n const vv = memoMethod(k, v, {\n options,\n context,\n } as LRUCache.MemoizerOptions<K, V, FC>)\n this.set(k, vv, options)\n return vv\n }\n\n /**\n * Return a value from the cache. Will update the recency of the cache\n * entry found.\n *\n * If the key is not found, get() will return `undefined`.\n */\n get(k: K, getOptions: LRUCache.GetOptions<K, V, FC> = {}) {\n const {\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n status,\n } = getOptions\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n const value = this.#valList[index]\n const fetching = this.#isBackgroundFetch(value)\n if (status) this.#statusTTL(status, index)\n if (this.#isStale(index)) {\n if (status) status.get = 'stale'\n // delete only if not an in-flight background fetch\n if (!fetching) {\n if (!noDeleteOnStaleGet) {\n this.#delete(k, 'expire')\n }\n if (status && allowStale) status.returnedStale = true\n return allowStale ? value : undefined\n } else {\n if (\n status &&\n allowStale &&\n value.__staleWhileFetching !== undefined\n ) {\n status.returnedStale = true\n }\n return allowStale ? value.__staleWhileFetching : undefined\n }\n } else {\n if (status) status.get = 'hit'\n // if we're currently fetching it, we don't actually have it yet\n // it's not stale, which means this isn't a staleWhileRefetching.\n // If it's not stale, and fetching, AND has a __staleWhileFetching\n // value, then that means the user fetched with {forceRefresh:true},\n // so it's safe to return that value.\n if (fetching) {\n return value.__staleWhileFetching\n }\n this.#moveToTail(index)\n if (updateAgeOnGet) {\n this.#updateItemAge(index)\n }\n return value\n }\n } else if (status) {\n status.get = 'miss'\n }\n }\n\n #connect(p: Index, n: Index) {\n this.#prev[n] = p\n this.#next[p] = n\n }\n\n #moveToTail(index: Index): void {\n // if tail already, nothing to do\n // if head, move head to next[index]\n // else\n // move next[prev[index]] to next[index] (head has no prev)\n // move prev[next[index]] to prev[index]\n // prev[index] = tail\n // next[tail] = index\n // tail = index\n if (index !== this.#tail) {\n if (index === this.#head) {\n this.#head = this.#next[index] as Index\n } else {\n this.#connect(\n this.#prev[index] as Index,\n this.#next[index] as Index\n )\n }\n this.#connect(this.#tail, index)\n this.#tail = index\n }\n }\n\n /**\n * Deletes a key out of the cache.\n *\n * Returns true if the key was deleted, false otherwise.\n */\n delete(k: K) {\n return this.#delete(k, 'delete')\n }\n\n #delete(k: K, reason: LRUCache.DisposeReason) {\n let deleted = false\n if (this.#size !== 0) {\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n deleted = true\n if (this.#size === 1) {\n this.#clear(reason)\n } else {\n this.#removeItemSize(index)\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v as V, k, reason)\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v as V, k, reason])\n }\n }\n this.#keyMap.delete(k)\n this.#keyList[index] = undefined\n this.#valList[index] = undefined\n if (index === this.#tail) {\n this.#tail = this.#prev[index] as Index\n } else if (index === this.#head) {\n this.#head = this.#next[index] as Index\n } else {\n const pi = this.#prev[index] as number\n this.#next[pi] = this.#next[index] as number\n const ni = this.#next[index] as number\n this.#prev[ni] = this.#prev[index] as number\n }\n this.#size--\n this.#free.push(index)\n }\n }\n }\n if (this.#hasDisposeAfter && this.#disposed?.length) {\n const dt = this.#disposed\n let task: DisposeTask<K, V> | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n return deleted\n }\n\n /**\n * Clear the cache entirely, throwing away all values.\n */\n clear() {\n return this.#clear('delete')\n }\n #clear(reason: LRUCache.DisposeReason) {\n for (const index of this.#rindexes({ allowStale: true })) {\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else {\n const k = this.#keyList[index]\n if (this.#hasDispose) {\n this.#dispose?.(v as V, k as K, reason)\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v as V, k as K, reason])\n }\n }\n }\n\n this.#keyMap.clear()\n this.#valList.fill(undefined)\n this.#keyList.fill(undefined)\n if (this.#ttls && this.#starts) {\n this.#ttls.fill(0)\n this.#starts.fill(0)\n }\n if (this.#sizes) {\n this.#sizes.fill(0)\n }\n this.#head = 0 as Index\n this.#tail = 0 as Index\n this.#free.length = 0\n this.#calculatedSize = 0\n this.#size = 0\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask<K, V> | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n }\n}\n","const proc =\n typeof process === 'object' && process\n ? process\n : {\n stdout: null,\n stderr: null,\n }\nimport { EventEmitter } from 'node:events'\nimport Stream from 'node:stream'\nimport { StringDecoder } from 'node:string_decoder'\n\n/**\n * Same as StringDecoder, but exposing the `lastNeed` flag on the type\n */\ntype SD = StringDecoder & { lastNeed: boolean }\n\nexport type { SD, Pipe, PipeProxyErrors }\n\n/**\n * Return true if the argument is a Minipass stream, Node stream, or something\n * else that Minipass can interact with.\n */\nexport const isStream = (\n s: any\n): s is Minipass.Readable | Minipass.Writable =>\n !!s &&\n typeof s === 'object' &&\n (s instanceof Minipass ||\n s instanceof Stream ||\n isReadable(s) ||\n isWritable(s))\n\n/**\n * Return true if the argument is a valid {@link Minipass.Readable}\n */\nexport const isReadable = (s: any): s is Minipass.Readable =>\n !!s &&\n typeof s === 'object' &&\n s instanceof EventEmitter &&\n typeof (s as Minipass.Readable).pipe === 'function' &&\n // node core Writable streams have a pipe() method, but it throws\n (s as Minipass.Readable).pipe !== Stream.Writable.prototype.pipe\n\n/**\n * Return true if the argument is a valid {@link Minipass.Writable}\n */\nexport const isWritable = (s: any): s is Minipass.Readable =>\n !!s &&\n typeof s === 'object' &&\n s instanceof EventEmitter &&\n typeof (s as Minipass.Writable).write === 'function' &&\n typeof (s as Minipass.Writable).end === 'function'\n\nconst EOF = Symbol('EOF')\nconst MAYBE_EMIT_END = Symbol('maybeEmitEnd')\nconst EMITTED_END = Symbol('emittedEnd')\nconst EMITTING_END = Symbol('emittingEnd')\nconst EMITTED_ERROR = Symbol('emittedError')\nconst CLOSED = Symbol('closed')\nconst READ = Symbol('read')\nconst FLUSH = Symbol('flush')\nconst FLUSHCHUNK = Symbol('flushChunk')\nconst ENCODING = Symbol('encoding')\nconst DECODER = Symbol('decoder')\nconst FLOWING = Symbol('flowing')\nconst PAUSED = Symbol('paused')\nconst RESUME = Symbol('resume')\nconst BUFFER = Symbol('buffer')\nconst PIPES = Symbol('pipes')\nconst BUFFERLENGTH = Symbol('bufferLength')\nconst BUFFERPUSH = Symbol('bufferPush')\nconst BUFFERSHIFT = Symbol('bufferShift')\nconst OBJECTMODE = Symbol('objectMode')\n// internal event when stream is destroyed\nconst DESTROYED = Symbol('destroyed')\n// internal event when stream has an error\nconst ERROR = Symbol('error')\nconst EMITDATA = Symbol('emitData')\nconst EMITEND = Symbol('emitEnd')\nconst EMITEND2 = Symbol('emitEnd2')\nconst ASYNC = Symbol('async')\nconst ABORT = Symbol('abort')\nconst ABORTED = Symbol('aborted')\nconst SIGNAL = Symbol('signal')\nconst DATALISTENERS = Symbol('dataListeners')\nconst DISCARDED = Symbol('discarded')\n\nconst defer = (fn: (...a: any[]) => any) => Promise.resolve().then(fn)\nconst nodefer = (fn: (...a: any[]) => any) => fn()\n\n// events that mean 'the stream is over'\n// these are treated specially, and re-emitted\n// if they are listened for after emitting.\ntype EndishEvent = 'end' | 'finish' | 'prefinish'\nconst isEndish = (ev: any): ev is EndishEvent =>\n ev === 'end' || ev === 'finish' || ev === 'prefinish'\n\nconst isArrayBufferLike = (b: any): b is ArrayBufferLike =>\n b instanceof ArrayBuffer ||\n (!!b &&\n typeof b === 'object' &&\n b.constructor &&\n b.constructor.name === 'ArrayBuffer' &&\n b.byteLength >= 0)\n\nconst isArrayBufferView = (b: any): b is ArrayBufferView =>\n !Buffer.isBuffer(b) && ArrayBuffer.isView(b)\n\n/**\n * Options that may be passed to stream.pipe()\n */\nexport interface PipeOptions {\n /**\n * end the destination stream when the source stream ends\n */\n end?: boolean\n /**\n * proxy errors from the source stream to the destination stream\n */\n proxyErrors?: boolean\n}\n\n/**\n * Internal class representing a pipe to a destination stream.\n *\n * @internal\n */\nclass Pipe<T extends unknown> {\n src: Minipass<T>\n dest: Minipass<any, T>\n opts: PipeOptions\n ondrain: () => any\n constructor(\n src: Minipass<T>,\n dest: Minipass.Writable,\n opts: PipeOptions\n ) {\n this.src = src\n this.dest = dest as Minipass<any, T>\n this.opts = opts\n this.ondrain = () => src[RESUME]()\n this.dest.on('drain', this.ondrain)\n }\n unpipe() {\n this.dest.removeListener('drain', this.ondrain)\n }\n // only here for the prototype\n /* c8 ignore start */\n proxyErrors(_er: any) {}\n /* c8 ignore stop */\n end() {\n this.unpipe()\n if (this.opts.end) this.dest.end()\n }\n}\n\n/**\n * Internal class representing a pipe to a destination stream where\n * errors are proxied.\n *\n * @internal\n */\nclass PipeProxyErrors<T> extends Pipe<T> {\n unpipe() {\n this.src.removeListener('error', this.proxyErrors)\n super.unpipe()\n }\n constructor(\n src: Minipass<T>,\n dest: Minipass.Writable,\n opts: PipeOptions\n ) {\n super(src, dest, opts)\n this.proxyErrors = er => dest.emit('error', er)\n src.on('error', this.proxyErrors)\n }\n}\n\nexport namespace Minipass {\n /**\n * Encoding used to create a stream that outputs strings rather than\n * Buffer objects.\n */\n export type Encoding = BufferEncoding | 'buffer' | null\n\n /**\n * Any stream that Minipass can pipe into\n */\n export type Writable =\n | Minipass<any, any, any>\n | NodeJS.WriteStream\n | (NodeJS.WriteStream & { fd: number })\n | (EventEmitter & {\n end(): any\n write(chunk: any, ...args: any[]): any\n })\n\n /**\n * Any stream that can be read from\n */\n export type Readable =\n | Minipass<any, any, any>\n | NodeJS.ReadStream\n | (NodeJS.ReadStream & { fd: number })\n | (EventEmitter & {\n pause(): any\n resume(): any\n pipe(...destArgs: any[]): any\n })\n\n /**\n * Utility type that can be iterated sync or async\n */\n export type DualIterable<T> = Iterable<T> & AsyncIterable<T>\n\n type EventArguments = Record<string | symbol, unknown[]>\n\n /**\n * The listing of events that a Minipass class can emit.\n * Extend this when extending the Minipass class, and pass as\n * the third template argument. The key is the name of the event,\n * and the value is the argument list.\n *\n * Any undeclared events will still be allowed, but the handler will get\n * arguments as `unknown[]`.\n */\n export interface Events<RType extends any = Buffer>\n extends EventArguments {\n readable: []\n data: [chunk: RType]\n error: [er: unknown]\n abort: [reason: unknown]\n drain: []\n resume: []\n end: []\n finish: []\n prefinish: []\n close: []\n [DESTROYED]: [er?: unknown]\n [ERROR]: [er: unknown]\n }\n\n /**\n * String or buffer-like data that can be joined and sliced\n */\n export type ContiguousData =\n | Buffer\n | ArrayBufferLike\n | ArrayBufferView\n | string\n export type BufferOrString = Buffer | string\n\n /**\n * Options passed to the Minipass constructor.\n */\n export type SharedOptions = {\n /**\n * Defer all data emission and other events until the end of the\n * current tick, similar to Node core streams\n */\n async?: boolean\n /**\n * A signal which will abort the stream\n */\n signal?: AbortSignal\n /**\n * Output string encoding. Set to `null` or `'buffer'` (or omit) to\n * emit Buffer objects rather than strings.\n *\n * Conflicts with `objectMode`\n */\n encoding?: BufferEncoding | null | 'buffer'\n /**\n * Output data exactly as it was written, supporting non-buffer/string\n * data (such as arbitrary objects, falsey values, etc.)\n *\n * Conflicts with `encoding`\n */\n objectMode?: boolean\n }\n\n /**\n * Options for a string encoded output\n */\n export type EncodingOptions = SharedOptions & {\n encoding: BufferEncoding\n objectMode?: false\n }\n\n /**\n * Options for contiguous data buffer output\n */\n export type BufferOptions = SharedOptions & {\n encoding?: null | 'buffer'\n objectMode?: false\n }\n\n /**\n * Options for objectMode arbitrary output\n */\n export type ObjectModeOptions = SharedOptions & {\n objectMode: true\n encoding?: null\n }\n\n /**\n * Utility type to determine allowed options based on read type\n */\n export type Options<T> =\n | ObjectModeOptions\n | (T extends string\n ? EncodingOptions\n : T extends Buffer\n ? BufferOptions\n : SharedOptions)\n}\n\nconst isObjectModeOptions = (\n o: Minipass.SharedOptions\n): o is Minipass.ObjectModeOptions => !!o.objectMode\n\nconst isEncodingOptions = (\n o: Minipass.SharedOptions\n): o is Minipass.EncodingOptions =>\n !o.objectMode && !!o.encoding && o.encoding !== 'buffer'\n\n/**\n * Main export, the Minipass class\n *\n * `RType` is the type of data emitted, defaults to Buffer\n *\n * `WType` is the type of data to be written, if RType is buffer or string,\n * then any {@link Minipass.ContiguousData} is allowed.\n *\n * `Events` is the set of event handler signatures that this object\n * will emit, see {@link Minipass.Events}\n */\nexport class Minipass<\n RType extends unknown = Buffer,\n WType extends unknown = RType extends Minipass.BufferOrString\n ? Minipass.ContiguousData\n : RType,\n Events extends Minipass.Events<RType> = Minipass.Events<RType>\n >\n extends EventEmitter\n implements Minipass.DualIterable<RType>\n{\n [FLOWING]: boolean = false;\n [PAUSED]: boolean = false;\n [PIPES]: Pipe<RType>[] = [];\n [BUFFER]: RType[] = [];\n [OBJECTMODE]: boolean;\n [ENCODING]: BufferEncoding | null;\n [ASYNC]: boolean;\n [DECODER]: SD | null;\n [EOF]: boolean = false;\n [EMITTED_END]: boolean = false;\n [EMITTING_END]: boolean = false;\n [CLOSED]: boolean = false;\n [EMITTED_ERROR]: unknown = null;\n [BUFFERLENGTH]: number = 0;\n [DESTROYED]: boolean = false;\n [SIGNAL]?: AbortSignal;\n [ABORTED]: boolean = false;\n [DATALISTENERS]: number = 0;\n [DISCARDED]: boolean = false\n\n /**\n * true if the stream can be written\n */\n writable: boolean = true\n /**\n * true if the stream can be read\n */\n readable: boolean = true\n\n /**\n * If `RType` is Buffer, then options do not need to be provided.\n * Otherwise, an options object must be provided to specify either\n * {@link Minipass.SharedOptions.objectMode} or\n * {@link Minipass.SharedOptions.encoding}, as appropriate.\n */\n constructor(\n ...args:\n | [Minipass.ObjectModeOptions]\n | (RType extends Buffer\n ? [] | [Minipass.Options<RType>]\n : [Minipass.Options<RType>])\n ) {\n const options: Minipass.Options<RType> = (args[0] ||\n {}) as Minipass.Options<RType>\n super()\n if (options.objectMode && typeof options.encoding === 'string') {\n throw new TypeError(\n 'Encoding and objectMode may not be used together'\n )\n }\n if (isObjectModeOptions(options)) {\n this[OBJECTMODE] = true\n this[ENCODING] = null\n } else if (isEncodingOptions(options)) {\n this[ENCODING] = options.encoding\n this[OBJECTMODE] = false\n } else {\n this[OBJECTMODE] = false\n this[ENCODING] = null\n }\n this[ASYNC] = !!options.async\n this[DECODER] = this[ENCODING]\n ? (new StringDecoder(this[ENCODING]) as SD)\n : null\n\n //@ts-ignore - private option for debugging and testing\n if (options && options.debugExposeBuffer === true) {\n Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] })\n }\n //@ts-ignore - private option for debugging and testing\n if (options && options.debugExposePipes === true) {\n Object.defineProperty(this, 'pipes', { get: () => this[PIPES] })\n }\n\n const { signal } = options\n if (signal) {\n this[SIGNAL] = signal\n if (signal.aborted) {\n this[ABORT]()\n } else {\n signal.addEventListener('abort', () => this[ABORT]())\n }\n }\n }\n\n /**\n * The amount of data stored in the buffer waiting to be read.\n *\n * For Buffer strings, this will be the total byte length.\n * For string encoding streams, this will be the string character length,\n * according to JavaScript's `string.length` logic.\n * For objectMode streams, this is a count of the items waiting to be\n * emitted.\n */\n get bufferLength() {\n return this[BUFFERLENGTH]\n }\n\n /**\n * The `BufferEncoding` currently in use, or `null`\n */\n get encoding() {\n return this[ENCODING]\n }\n\n /**\n * @deprecated - This is a read only property\n */\n set encoding(_enc) {\n throw new Error('Encoding must be set at instantiation time')\n }\n\n /**\n * @deprecated - Encoding may only be set at instantiation time\n */\n setEncoding(_enc: Minipass.Encoding) {\n throw new Error('Encoding must be set at instantiation time')\n }\n\n /**\n * True if this is an objectMode stream\n */\n get objectMode() {\n return this[OBJECTMODE]\n }\n\n /**\n * @deprecated - This is a read-only property\n */\n set objectMode(_om) {\n throw new Error('objectMode must be set at instantiation time')\n }\n\n /**\n * true if this is an async stream\n */\n get ['async'](): boolean {\n return this[ASYNC]\n }\n /**\n * Set to true to make this stream async.\n *\n * Once set, it cannot be unset, as this would potentially cause incorrect\n * behavior. Ie, a sync stream can be made async, but an async stream\n * cannot be safely made sync.\n */\n set ['async'](a: boolean) {\n this[ASYNC] = this[ASYNC] || !!a\n }\n\n // drop everything and get out of the flow completely\n [ABORT]() {\n this[ABORTED] = true\n this.emit('abort', this[SIGNAL]?.reason)\n this.destroy(this[SIGNAL]?.reason)\n }\n\n /**\n * True if the stream has been aborted.\n */\n get aborted() {\n return this[ABORTED]\n }\n /**\n * No-op setter. Stream aborted status is set via the AbortSignal provided\n * in the constructor options.\n */\n set aborted(_) {}\n\n /**\n * Write data into the stream\n *\n * If the chunk written is a string, and encoding is not specified, then\n * `utf8` will be assumed. If the stream encoding matches the encoding of\n * a written string, and the state of the string decoder allows it, then\n * the string will be passed through to either the output or the internal\n * buffer without any processing. Otherwise, it will be turned into a\n * Buffer object for processing into the desired encoding.\n *\n * If provided, `cb` function is called immediately before return for\n * sync streams, or on next tick for async streams, because for this\n * base class, a chunk is considered \"processed\" once it is accepted\n * and either emitted or buffered. That is, the callback does not indicate\n * that the chunk has been eventually emitted, though of course child\n * classes can override this function to do whatever processing is required\n * and call `super.write(...)` only once processing is completed.\n */\n write(chunk: WType, cb?: () => void): boolean\n write(\n chunk: WType,\n encoding?: Minipass.Encoding,\n cb?: () => void\n ): boolean\n write(\n chunk: WType,\n encoding?: Minipass.Encoding | (() => void),\n cb?: () => void\n ): boolean {\n if (this[ABORTED]) return false\n if (this[EOF]) throw new Error('write after end')\n\n if (this[DESTROYED]) {\n this.emit(\n 'error',\n Object.assign(\n new Error('Cannot call write after a stream was destroyed'),\n { code: 'ERR_STREAM_DESTROYED' }\n )\n )\n return true\n }\n\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = 'utf8'\n }\n\n if (!encoding) encoding = 'utf8'\n\n const fn = this[ASYNC] ? defer : nodefer\n\n // convert array buffers and typed array views into buffers\n // at some point in the future, we may want to do the opposite!\n // leave strings and buffers as-is\n // anything is only allowed if in object mode, so throw\n if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {\n if (isArrayBufferView(chunk)) {\n //@ts-ignore - sinful unsafe type changing\n chunk = Buffer.from(\n chunk.buffer,\n chunk.byteOffset,\n chunk.byteLength\n )\n } else if (isArrayBufferLike(chunk)) {\n //@ts-ignore - sinful unsafe type changing\n chunk = Buffer.from(chunk)\n } else if (typeof chunk !== 'string') {\n throw new Error(\n 'Non-contiguous data written to non-objectMode stream'\n )\n }\n }\n\n // handle object mode up front, since it's simpler\n // this yields better performance, fewer checks later.\n if (this[OBJECTMODE]) {\n // maybe impossible?\n /* c8 ignore start */\n if (this[FLOWING] && this[BUFFERLENGTH] !== 0) this[FLUSH](true)\n /* c8 ignore stop */\n\n if (this[FLOWING]) this.emit('data', chunk as unknown as RType)\n else this[BUFFERPUSH](chunk as unknown as RType)\n\n if (this[BUFFERLENGTH] !== 0) this.emit('readable')\n\n if (cb) fn(cb)\n\n return this[FLOWING]\n }\n\n // at this point the chunk is a buffer or string\n // don't buffer it up or send it to the decoder\n if (!(chunk as Minipass.BufferOrString).length) {\n if (this[BUFFERLENGTH] !== 0) this.emit('readable')\n if (cb) fn(cb)\n return this[FLOWING]\n }\n\n // fast-path writing strings of same encoding to a stream with\n // an empty buffer, skipping the buffer/decoder dance\n if (\n typeof chunk === 'string' &&\n // unless it is a string already ready for us to use\n !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)\n ) {\n //@ts-ignore - sinful unsafe type change\n chunk = Buffer.from(chunk, encoding)\n }\n\n if (Buffer.isBuffer(chunk) && this[ENCODING]) {\n //@ts-ignore - sinful unsafe type change\n chunk = this[DECODER].write(chunk)\n }\n\n // Note: flushing CAN potentially switch us into not-flowing mode\n if (this[FLOWING] && this[BUFFERLENGTH] !== 0) this[FLUSH](true)\n\n if (this[FLOWING]) this.emit('data', chunk as unknown as RType)\n else this[BUFFERPUSH](chunk as unknown as RType)\n\n if (this[BUFFERLENGTH] !== 0) this.emit('readable')\n\n if (cb) fn(cb)\n\n return this[FLOWING]\n }\n\n /**\n * Low-level explicit read method.\n *\n * In objectMode, the argument is ignored, and one item is returned if\n * available.\n *\n * `n` is the number of bytes (or in the case of encoding streams,\n * characters) to consume. If `n` is not provided, then the entire buffer\n * is returned, or `null` is returned if no data is available.\n *\n * If `n` is greater that the amount of data in the internal buffer,\n * then `null` is returned.\n */\n read(n?: number | null): RType | null {\n if (this[DESTROYED]) return null\n this[DISCARDED] = false\n\n if (\n this[BUFFERLENGTH] === 0 ||\n n === 0 ||\n (n && n > this[BUFFERLENGTH])\n ) {\n this[MAYBE_EMIT_END]()\n return null\n }\n\n if (this[OBJECTMODE]) n = null\n\n if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {\n // not object mode, so if we have an encoding, then RType is string\n // otherwise, must be Buffer\n this[BUFFER] = [\n (this[ENCODING]\n ? this[BUFFER].join('')\n : Buffer.concat(\n this[BUFFER] as Buffer[],\n this[BUFFERLENGTH]\n )) as RType,\n ]\n }\n\n const ret = this[READ](n || null, this[BUFFER][0] as RType)\n this[MAYBE_EMIT_END]()\n return ret\n }\n\n [READ](n: number | null, chunk: RType) {\n if (this[OBJECTMODE]) this[BUFFERSHIFT]()\n else {\n const c = chunk as Minipass.BufferOrString\n if (n === c.length || n === null) this[BUFFERSHIFT]()\n else if (typeof c === 'string') {\n this[BUFFER][0] = c.slice(n) as RType\n chunk = c.slice(0, n) as RType\n this[BUFFERLENGTH] -= n\n } else {\n this[BUFFER][0] = c.subarray(n) as RType\n chunk = c.subarray(0, n) as RType\n this[BUFFERLENGTH] -= n\n }\n }\n\n this.emit('data', chunk)\n\n if (!this[BUFFER].length && !this[EOF]) this.emit('drain')\n\n return chunk\n }\n\n /**\n * End the stream, optionally providing a final write.\n *\n * See {@link Minipass#write} for argument descriptions\n */\n end(cb?: () => void): this\n end(chunk: WType, cb?: () => void): this\n end(chunk: WType, encoding?: Minipass.Encoding, cb?: () => void): this\n end(\n chunk?: WType | (() => void),\n encoding?: Minipass.Encoding | (() => void),\n cb?: () => void\n ): this {\n if (typeof chunk === 'function') {\n cb = chunk as () => void\n chunk = undefined\n }\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = 'utf8'\n }\n if (chunk !== undefined) this.write(chunk, encoding)\n if (cb) this.once('end', cb)\n this[EOF] = true\n this.writable = false\n\n // if we haven't written anything, then go ahead and emit,\n // even if we're not reading.\n // we'll re-emit if a new 'end' listener is added anyway.\n // This makes MP more suitable to write-only use cases.\n if (this[FLOWING] || !this[PAUSED]) this[MAYBE_EMIT_END]()\n return this\n }\n\n // don't let the internal resume be overwritten\n [RESUME]() {\n if (this[DESTROYED]) return\n\n if (!this[DATALISTENERS] && !this[PIPES].length) {\n this[DISCARDED] = true\n }\n this[PAUSED] = false\n this[FLOWING] = true\n this.emit('resume')\n if (this[BUFFER].length) this[FLUSH]()\n else if (this[EOF]) this[MAYBE_EMIT_END]()\n else this.emit('drain')\n }\n\n /**\n * Resume the stream if it is currently in a paused state\n *\n * If called when there are no pipe destinations or `data` event listeners,\n * this will place the stream in a \"discarded\" state, where all data will\n * be thrown away. The discarded state is removed if a pipe destination or\n * data handler is added, if pause() is called, or if any synchronous or\n * asynchronous iteration is started.\n */\n resume() {\n return this[RESUME]()\n }\n\n /**\n * Pause the stream\n */\n pause() {\n this[FLOWING] = false\n this[PAUSED] = true\n this[DISCARDED] = false\n }\n\n /**\n * true if the stream has been forcibly destroyed\n */\n get destroyed() {\n return this[DESTROYED]\n }\n\n /**\n * true if the stream is currently in a flowing state, meaning that\n * any writes will be immediately emitted.\n */\n get flowing() {\n return this[FLOWING]\n }\n\n /**\n * true if the stream is currently in a paused state\n */\n get paused() {\n return this[PAUSED]\n }\n\n [BUFFERPUSH](chunk: RType) {\n if (this[OBJECTMODE]) this[BUFFERLENGTH] += 1\n else this[BUFFERLENGTH] += (chunk as Minipass.BufferOrString).length\n this[BUFFER].push(chunk)\n }\n\n [BUFFERSHIFT](): RType {\n if (this[OBJECTMODE]) this[BUFFERLENGTH] -= 1\n else\n this[BUFFERLENGTH] -= (\n this[BUFFER][0] as Minipass.BufferOrString\n ).length\n return this[BUFFER].shift() as RType\n }\n\n [FLUSH](noDrain: boolean = false) {\n do {} while (\n this[FLUSHCHUNK](this[BUFFERSHIFT]()) &&\n this[BUFFER].length\n )\n\n if (!noDrain && !this[BUFFER].length && !this[EOF]) this.emit('drain')\n }\n\n [FLUSHCHUNK](chunk: RType) {\n this.emit('data', chunk)\n return this[FLOWING]\n }\n\n /**\n * Pipe all data emitted by this stream into the destination provided.\n *\n * Triggers the flow of data.\n */\n pipe<W extends Minipass.Writable>(dest: W, opts?: PipeOptions): W {\n if (this[DESTROYED]) return dest\n this[DISCARDED] = false\n\n const ended = this[EMITTED_END]\n opts = opts || {}\n if (dest === proc.stdout || dest === proc.stderr) opts.end = false\n else opts.end = opts.end !== false\n opts.proxyErrors = !!opts.proxyErrors\n\n // piping an ended stream ends immediately\n if (ended) {\n if (opts.end) dest.end()\n } else {\n // \"as\" here just ignores the WType, which pipes don't care about,\n // since they're only consuming from us, and writing to the dest\n this[PIPES].push(\n !opts.proxyErrors\n ? new Pipe<RType>(this as Minipass<RType>, dest, opts)\n : new PipeProxyErrors<RType>(this as Minipass<RType>, dest, opts)\n )\n if (this[ASYNC]) defer(() => this[RESUME]())\n else this[RESUME]()\n }\n\n return dest\n }\n\n /**\n * Fully unhook a piped destination stream.\n *\n * If the destination stream was the only consumer of this stream (ie,\n * there are no other piped destinations or `'data'` event listeners)\n * then the flow of data will stop until there is another consumer or\n * {@link Minipass#resume} is explicitly called.\n */\n unpipe<W extends Minipass.Writable>(dest: W) {\n const p = this[PIPES].find(p => p.dest === dest)\n if (p) {\n if (this[PIPES].length === 1) {\n if (this[FLOWING] && this[DATALISTENERS] === 0) {\n this[FLOWING] = false\n }\n this[PIPES] = []\n } else this[PIPES].splice(this[PIPES].indexOf(p), 1)\n p.unpipe()\n }\n }\n\n /**\n * Alias for {@link Minipass#on}\n */\n addListener<Event extends keyof Events>(\n ev: Event,\n handler: (...args: Events[Event]) => any\n ): this {\n return this.on(ev, handler)\n }\n\n /**\n * Mostly identical to `EventEmitter.on`, with the following\n * behavior differences to prevent data loss and unnecessary hangs:\n *\n * - Adding a 'data' event handler will trigger the flow of data\n *\n * - Adding a 'readable' event handler when there is data waiting to be read\n * will cause 'readable' to be emitted immediately.\n *\n * - Adding an 'endish' event handler ('end', 'finish', etc.) which has\n * already passed will cause the event to be emitted immediately and all\n * handlers removed.\n *\n * - Adding an 'error' event handler after an error has been emitted will\n * cause the event to be re-emitted immediately with the error previously\n * raised.\n */\n on<Event extends keyof Events>(\n ev: Event,\n handler: (...args: Events[Event]) => any\n ): this {\n const ret = super.on(\n ev as string | symbol,\n handler as (...a: any[]) => any\n )\n if (ev === 'data') {\n this[DISCARDED] = false\n this[DATALISTENERS]++\n if (!this[PIPES].length && !this[FLOWING]) {\n this[RESUME]()\n }\n } else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) {\n super.emit('readable')\n } else if (isEndish(ev) && this[EMITTED_END]) {\n super.emit(ev)\n this.removeAllListeners(ev)\n } else if (ev === 'error' && this[EMITTED_ERROR]) {\n const h = handler as (...a: Events['error']) => any\n if (this[ASYNC]) defer(() => h.call(this, this[EMITTED_ERROR]))\n else h.call(this, this[EMITTED_ERROR])\n }\n return ret\n }\n\n /**\n * Alias for {@link Minipass#off}\n */\n removeListener<Event extends keyof Events>(\n ev: Event,\n handler: (...args: Events[Event]) => any\n ) {\n return this.off(ev, handler)\n }\n\n /**\n * Mostly identical to `EventEmitter.off`\n *\n * If a 'data' event handler is removed, and it was the last consumer\n * (ie, there are no pipe destinations or other 'data' event listeners),\n * then the flow of data will stop until there is another consumer or\n * {@link Minipass#resume} is explicitly called.\n */\n off<Event extends keyof Events>(\n ev: Event,\n handler: (...args: Events[Event]) => any\n ) {\n const ret = super.off(\n ev as string | symbol,\n handler as (...a: any[]) => any\n )\n // if we previously had listeners, and now we don't, and we don't\n // have any pipes, then stop the flow, unless it's been explicitly\n // put in a discarded flowing state via stream.resume().\n if (ev === 'data') {\n this[DATALISTENERS] = this.listeners('data').length\n if (\n this[DATALISTENERS] === 0 &&\n !this[DISCARDED] &&\n !this[PIPES].length\n ) {\n this[FLOWING] = false\n }\n }\n return ret\n }\n\n /**\n * Mostly identical to `EventEmitter.removeAllListeners`\n *\n * If all 'data' event handlers are removed, and they were the last consumer\n * (ie, there are no pipe destinations), then the flow of data will stop\n * until there is another consumer or {@link Minipass#resume} is explicitly\n * called.\n */\n removeAllListeners<Event extends keyof Events>(ev?: Event) {\n const ret = super.removeAllListeners(ev as string | symbol | undefined)\n if (ev === 'data' || ev === undefined) {\n this[DATALISTENERS] = 0\n if (!this[DISCARDED] && !this[PIPES].length) {\n this[FLOWING] = false\n }\n }\n return ret\n }\n\n /**\n * true if the 'end' event has been emitted\n */\n get emittedEnd() {\n return this[EMITTED_END]\n }\n\n [MAYBE_EMIT_END]() {\n if (\n !this[EMITTING_END] &&\n !this[EMITTED_END] &&\n !this[DESTROYED] &&\n this[BUFFER].length === 0 &&\n this[EOF]\n ) {\n this[EMITTING_END] = true\n this.emit('end')\n this.emit('prefinish')\n this.emit('finish')\n if (this[CLOSED]) this.emit('close')\n this[EMITTING_END] = false\n }\n }\n\n /**\n * Mostly identical to `EventEmitter.emit`, with the following\n * behavior differences to prevent data loss and unnecessary hangs:\n *\n * If the stream has been destroyed, and the event is something other\n * than 'close' or 'error', then `false` is returned and no handlers\n * are called.\n *\n * If the event is 'end', and has already been emitted, then the event\n * is ignored. If the stream is in a paused or non-flowing state, then\n * the event will be deferred until data flow resumes. If the stream is\n * async, then handlers will be called on the next tick rather than\n * immediately.\n *\n * If the event is 'close', and 'end' has not yet been emitted, then\n * the event will be deferred until after 'end' is emitted.\n *\n * If the event is 'error', and an AbortSignal was provided for the stream,\n * and there are no listeners, then the event is ignored, matching the\n * behavior of node core streams in the presense of an AbortSignal.\n *\n * If the event is 'finish' or 'prefinish', then all listeners will be\n * removed after emitting the event, to prevent double-firing.\n */\n emit<Event extends keyof Events>(\n ev: Event,\n ...args: Events[Event]\n ): boolean {\n const data = args[0]\n // error and close are only events allowed after calling destroy()\n if (\n ev !== 'error' &&\n ev !== 'close' &&\n ev !== DESTROYED &&\n this[DESTROYED]\n ) {\n return false\n } else if (ev === 'data') {\n return !this[OBJECTMODE] && !data\n ? false\n : this[ASYNC]\n ? (defer(() => this[EMITDATA](data as RType)), true)\n : this[EMITDATA](data as RType)\n } else if (ev === 'end') {\n return this[EMITEND]()\n } else if (ev === 'close') {\n this[CLOSED] = true\n // don't emit close before 'end' and 'finish'\n if (!this[EMITTED_END] && !this[DESTROYED]) return false\n const ret = super.emit('close')\n this.removeAllListeners('close')\n return ret\n } else if (ev === 'error') {\n this[EMITTED_ERROR] = data\n super.emit(ERROR, data)\n const ret =\n !this[SIGNAL] || this.listeners('error').length\n ? super.emit('error', data)\n : false\n this[MAYBE_EMIT_END]()\n return ret\n } else if (ev === 'resume') {\n const ret = super.emit('resume')\n this[MAYBE_EMIT_END]()\n return ret\n } else if (ev === 'finish' || ev === 'prefinish') {\n const ret = super.emit(ev)\n this.removeAllListeners(ev)\n return ret\n }\n\n // Some other unknown event\n const ret = super.emit(ev as string, ...args)\n this[MAYBE_EMIT_END]()\n return ret\n }\n\n [EMITDATA](data: RType) {\n for (const p of this[PIPES]) {\n if (p.dest.write(data as RType) === false) this.pause()\n }\n const ret = this[DISCARDED] ? false : super.emit('data', data)\n this[MAYBE_EMIT_END]()\n return ret\n }\n\n [EMITEND]() {\n if (this[EMITTED_END]) return false\n\n this[EMITTED_END] = true\n this.readable = false\n return this[ASYNC]\n ? (defer(() => this[EMITEND2]()), true)\n : this[EMITEND2]()\n }\n\n [EMITEND2]() {\n if (this[DECODER]) {\n const data = this[DECODER].end()\n if (data) {\n for (const p of this[PIPES]) {\n p.dest.write(data as RType)\n }\n if (!this[DISCARDED]) super.emit('data', data)\n }\n }\n\n for (const p of this[PIPES]) {\n p.end()\n }\n const ret = super.emit('end')\n this.removeAllListeners('end')\n return ret\n }\n\n /**\n * Return a Promise that resolves to an array of all emitted data once\n * the stream ends.\n */\n async collect(): Promise<RType[] & { dataLength: number }> {\n const buf: RType[] & { dataLength: number } = Object.assign([], {\n dataLength: 0,\n })\n if (!this[OBJECTMODE]) buf.dataLength = 0\n // set the promise first, in case an error is raised\n // by triggering the flow here.\n const p = this.promise()\n this.on('data', c => {\n buf.push(c)\n if (!this[OBJECTMODE])\n buf.dataLength += (c as Minipass.BufferOrString).length\n })\n await p\n return buf\n }\n\n /**\n * Return a Promise that resolves to the concatenation of all emitted data\n * once the stream ends.\n *\n * Not allowed on objectMode streams.\n */\n async concat(): Promise<RType> {\n if (this[OBJECTMODE]) {\n throw new Error('cannot concat in objectMode')\n }\n const buf = await this.collect()\n return (\n this[ENCODING]\n ? buf.join('')\n : Buffer.concat(buf as Buffer[], buf.dataLength)\n ) as RType\n }\n\n /**\n * Return a void Promise that resolves once the stream ends.\n */\n async promise(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n this.on(DESTROYED, () => reject(new Error('stream destroyed')))\n this.on('error', er => reject(er))\n this.on('end', () => resolve())\n })\n }\n\n /**\n * Asynchronous `for await of` iteration.\n *\n * This will continue emitting all chunks until the stream terminates.\n */\n [Symbol.asyncIterator](): AsyncGenerator<RType, void, void> {\n // set this up front, in case the consumer doesn't call next()\n // right away.\n this[DISCARDED] = false\n let stopped = false\n const stop = async (): Promise<IteratorReturnResult<void>> => {\n this.pause()\n stopped = true\n return { value: undefined, done: true }\n }\n const next = (): Promise<IteratorResult<RType, void>> => {\n if (stopped) return stop()\n const res = this.read()\n if (res !== null) return Promise.resolve({ done: false, value: res })\n\n if (this[EOF]) return stop()\n\n let resolve!: (res: IteratorResult<RType>) => void\n let reject!: (er: unknown) => void\n const onerr = (er: unknown) => {\n this.off('data', ondata)\n this.off('end', onend)\n this.off(DESTROYED, ondestroy)\n stop()\n reject(er)\n }\n const ondata = (value: RType) => {\n this.off('error', onerr)\n this.off('end', onend)\n this.off(DESTROYED, ondestroy)\n this.pause()\n resolve({ value, done: !!this[EOF] })\n }\n const onend = () => {\n this.off('error', onerr)\n this.off('data', ondata)\n this.off(DESTROYED, ondestroy)\n stop()\n resolve({ done: true, value: undefined })\n }\n const ondestroy = () => onerr(new Error('stream destroyed'))\n return new Promise<IteratorResult<RType>>((res, rej) => {\n reject = rej\n resolve = res\n this.once(DESTROYED, ondestroy)\n this.once('error', onerr)\n this.once('end', onend)\n this.once('data', ondata)\n })\n }\n\n return {\n next,\n throw: stop,\n return: stop,\n [Symbol.asyncIterator]() {\n return this\n },\n }\n }\n\n /**\n * Synchronous `for of` iteration.\n *\n * The iteration will terminate when the internal buffer runs out, even\n * if the stream has not yet terminated.\n */\n [Symbol.iterator](): Generator<RType, void, void> {\n // set this up front, in case the consumer doesn't call next()\n // right away.\n this[DISCARDED] = false\n let stopped = false\n const stop = (): IteratorReturnResult<void> => {\n this.pause()\n this.off(ERROR, stop)\n this.off(DESTROYED, stop)\n this.off('end', stop)\n stopped = true\n return { done: true, value: undefined }\n }\n\n const next = (): IteratorResult<RType, void> => {\n if (stopped) return stop()\n const value = this.read()\n return value === null ? stop() : { done: false, value }\n }\n\n this.once('end', stop)\n this.once(ERROR, stop)\n this.once(DESTROYED, stop)\n\n return {\n next,\n throw: stop,\n return: stop,\n [Symbol.iterator]() {\n return this\n },\n }\n }\n\n /**\n * Destroy a stream, preventing it from being used for any further purpose.\n *\n * If the stream has a `close()` method, then it will be called on\n * destruction.\n *\n * After destruction, any attempt to write data, read data, or emit most\n * events will be ignored.\n *\n * If an error argument is provided, then it will be emitted in an\n * 'error' event.\n */\n destroy(er?: unknown) {\n if (this[DESTROYED]) {\n if (er) this.emit('error', er)\n else this.emit(DESTROYED)\n return this\n }\n\n this[DESTROYED] = true\n this[DISCARDED] = true\n\n // throw away all buffered data, it's never coming out\n this[BUFFER].length = 0\n this[BUFFERLENGTH] = 0\n\n const wc = this as Minipass<RType, WType, Events> & {\n close?: () => void\n }\n if (typeof wc.close === 'function' && !this[CLOSED]) wc.close()\n\n if (er) this.emit('error', er)\n // if no error to emit, still reject pending promises\n else this.emit(DESTROYED)\n\n return this\n }\n\n /**\n * Alias for {@link isStream}\n *\n * Former export location, maintained for backwards compatibility.\n *\n * @deprecated\n */\n static get isStream() {\n return isStream\n }\n}\n","import { LRUCache } from 'lru-cache'\nimport { posix, win32 } from 'node:path'\n\nimport { fileURLToPath } from 'node:url'\n\nimport {\n lstatSync,\n readdir as readdirCB,\n readdirSync,\n readlinkSync,\n realpathSync as rps,\n} from 'fs'\nimport * as actualFS from 'node:fs'\n\nconst realpathSync = rps.native\n// TODO: test perf of fs/promises realpath vs realpathCB,\n// since the promises one uses realpath.native\n\nimport { lstat, readdir, readlink, realpath } from 'node:fs/promises'\n\nimport { Minipass } from 'minipass'\nimport type { Dirent, Stats } from 'node:fs'\n\n/**\n * An object that will be used to override the default `fs`\n * methods. Any methods that are not overridden will use Node's\n * built-in implementations.\n *\n * - lstatSync\n * - readdir (callback `withFileTypes` Dirent variant, used for\n * readdirCB and most walks)\n * - readdirSync\n * - readlinkSync\n * - realpathSync\n * - promises: Object containing the following async methods:\n * - lstat\n * - readdir (Dirent variant only)\n * - readlink\n * - realpath\n */\nexport interface FSOption {\n lstatSync?: (path: string) => Stats\n readdir?: (\n path: string,\n options: { withFileTypes: true },\n cb: (er: NodeJS.ErrnoException | null, entries?: Dirent[]) => any,\n ) => void\n readdirSync?: (\n path: string,\n options: { withFileTypes: true },\n ) => Dirent[]\n readlinkSync?: (path: string) => string\n realpathSync?: (path: string) => string\n promises?: {\n lstat?: (path: string) => Promise<Stats>\n readdir?: (\n path: string,\n options: { withFileTypes: true },\n ) => Promise<Dirent[]>\n readlink?: (path: string) => Promise<string>\n realpath?: (path: string) => Promise<string>\n [k: string]: any\n }\n [k: string]: any\n}\n\ninterface FSValue {\n lstatSync: (path: string) => Stats\n readdir: (\n path: string,\n options: { withFileTypes: true },\n cb: (er: NodeJS.ErrnoException | null, entries?: Dirent[]) => any,\n ) => void\n readdirSync: (path: string, options: { withFileTypes: true }) => Dirent[]\n readlinkSync: (path: string) => string\n realpathSync: (path: string) => string\n promises: {\n lstat: (path: string) => Promise<Stats>\n readdir: (\n path: string,\n options: { withFileTypes: true },\n ) => Promise<Dirent[]>\n readlink: (path: string) => Promise<string>\n realpath: (path: string) => Promise<string>\n [k: string]: any\n }\n [k: string]: any\n}\n\nconst defaultFS: FSValue = {\n lstatSync,\n readdir: readdirCB,\n readdirSync,\n readlinkSync,\n realpathSync,\n promises: {\n lstat,\n readdir,\n readlink,\n realpath,\n },\n}\n\n// if they just gave us require('fs') then use our default\nconst fsFromOption = (fsOption?: FSOption): FSValue =>\n !fsOption || fsOption === defaultFS || fsOption === actualFS ?\n defaultFS\n : {\n ...defaultFS,\n ...fsOption,\n promises: {\n ...defaultFS.promises,\n ...(fsOption.promises || {}),\n },\n }\n\n// turn something like //?/c:/ into c:\\\nconst uncDriveRegexp = /^\\\\\\\\\\?\\\\([a-z]:)\\\\?$/i\nconst uncToDrive = (rootPath: string): string =>\n rootPath.replace(/\\//g, '\\\\').replace(uncDriveRegexp, '$1\\\\')\n\n// windows paths are separated by either / or \\\nconst eitherSep = /[\\\\\\/]/\n\nconst UNKNOWN = 0 // may not even exist, for all we know\nconst IFIFO = 0b0001\nconst IFCHR = 0b0010\nconst IFDIR = 0b0100\nconst IFBLK = 0b0110\nconst IFREG = 0b1000\nconst IFLNK = 0b1010\nconst IFSOCK = 0b1100\nconst IFMT = 0b1111\n\nexport type Type =\n | 'Unknown'\n | 'FIFO'\n | 'CharacterDevice'\n | 'Directory'\n | 'BlockDevice'\n | 'File'\n | 'SymbolicLink'\n | 'Socket'\n\n// mask to unset low 4 bits\nconst IFMT_UNKNOWN = ~IFMT\n\n// set after successfully calling readdir() and getting entries.\nconst READDIR_CALLED = 0b0000_0001_0000\n// set after a successful lstat()\nconst LSTAT_CALLED = 0b0000_0010_0000\n// set if an entry (or one of its parents) is definitely not a dir\nconst ENOTDIR = 0b0000_0100_0000\n// set if an entry (or one of its parents) does not exist\n// (can also be set on lstat errors like EACCES or ENAMETOOLONG)\nconst ENOENT = 0b0000_1000_0000\n// cannot have child entries -- also verify &IFMT is either IFDIR or IFLNK\n// set if we fail to readlink\nconst ENOREADLINK = 0b0001_0000_0000\n// set if we know realpath() will fail\nconst ENOREALPATH = 0b0010_0000_0000\n\nconst ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH\nconst TYPEMASK = 0b0011_1111_1111\n\nconst entToType = (s: Dirent | Stats) =>\n s.isFile() ? IFREG\n : s.isDirectory() ? IFDIR\n : s.isSymbolicLink() ? IFLNK\n : s.isCharacterDevice() ? IFCHR\n : s.isBlockDevice() ? IFBLK\n : s.isSocket() ? IFSOCK\n : s.isFIFO() ? IFIFO\n : UNKNOWN\n\n// normalize unicode path names\nconst normalizeCache = new Map<string, string>()\nconst normalize = (s: string) => {\n const c = normalizeCache.get(s)\n if (c) return c\n const n = s.normalize('NFKD')\n normalizeCache.set(s, n)\n return n\n}\n\nconst normalizeNocaseCache = new Map<string, string>()\nconst normalizeNocase = (s: string) => {\n const c = normalizeNocaseCache.get(s)\n if (c) return c\n const n = normalize(s.toLowerCase())\n normalizeNocaseCache.set(s, n)\n return n\n}\n\n/**\n * Options that may be provided to the Path constructor\n */\nexport interface PathOpts {\n fullpath?: string\n relative?: string\n relativePosix?: string\n parent?: PathBase\n /**\n * See {@link FSOption}\n */\n fs?: FSOption\n}\n\n/**\n * An LRUCache for storing resolved path strings or Path objects.\n * @internal\n */\nexport class ResolveCache extends LRUCache<string, string> {\n constructor() {\n super({ max: 256 })\n }\n}\n\n// In order to prevent blowing out the js heap by allocating hundreds of\n// thousands of Path entries when walking extremely large trees, the \"children\"\n// in this tree are represented by storing an array of Path entries in an\n// LRUCache, indexed by the parent. At any time, Path.children() may return an\n// empty array, indicating that it doesn't know about any of its children, and\n// thus has to rebuild that cache. This is fine, it just means that we don't\n// benefit as much from having the cached entries, but huge directory walks\n// don't blow out the stack, and smaller ones are still as fast as possible.\n//\n//It does impose some complexity when building up the readdir data, because we\n//need to pass a reference to the children array that we started with.\n\n/**\n * an LRUCache for storing child entries.\n * @internal\n */\nexport class ChildrenCache extends LRUCache<PathBase, Children> {\n constructor(maxSize: number = 16 * 1024) {\n super({\n maxSize,\n // parent + children\n sizeCalculation: a => a.length + 1,\n })\n }\n}\n\n/**\n * Array of Path objects, plus a marker indicating the first provisional entry\n *\n * @internal\n */\nexport type Children = PathBase[] & { provisional: number }\n\nconst setAsCwd = Symbol('PathScurry setAsCwd')\n\n/**\n * Path objects are sort of like a super-powered\n * {@link https://nodejs.org/docs/latest/api/fs.html#class-fsdirent fs.Dirent}\n *\n * Each one represents a single filesystem entry on disk, which may or may not\n * exist. It includes methods for reading various types of information via\n * lstat, readlink, and readdir, and caches all information to the greatest\n * degree possible.\n *\n * Note that fs operations that would normally throw will instead return an\n * \"empty\" value. This is in order to prevent excessive overhead from error\n * stack traces.\n */\nexport abstract class PathBase implements Dirent {\n /**\n * the basename of this path\n *\n * **Important**: *always* test the path name against any test string\n * usingthe {@link isNamed} method, and not by directly comparing this\n * string. Otherwise, unicode path strings that the system sees as identical\n * will not be properly treated as the same path, leading to incorrect\n * behavior and possible security issues.\n */\n name: string\n /**\n * the Path entry corresponding to the path root.\n *\n * @internal\n */\n root: PathBase\n /**\n * All roots found within the current PathScurry family\n *\n * @internal\n */\n roots: { [k: string]: PathBase }\n /**\n * a reference to the parent path, or undefined in the case of root entries\n *\n * @internal\n */\n parent?: PathBase\n /**\n * boolean indicating whether paths are compared case-insensitively\n * @internal\n */\n nocase: boolean\n\n /**\n * boolean indicating that this path is the current working directory\n * of the PathScurry collection that contains it.\n */\n isCWD: boolean = false\n\n /**\n * the string or regexp used to split paths. On posix, it is `'/'`, and on\n * windows it is a RegExp matching either `'/'` or `'\\\\'`\n */\n abstract splitSep: string | RegExp\n /**\n * The path separator string to use when joining paths\n */\n abstract sep: string\n\n // potential default fs override\n #fs: FSValue\n\n // Stats fields\n #dev?: number\n get dev() {\n return this.#dev\n }\n #mode?: number\n get mode() {\n return this.#mode\n }\n #nlink?: number\n get nlink() {\n return this.#nlink\n }\n #uid?: number\n get uid() {\n return this.#uid\n }\n #gid?: number\n get gid() {\n return this.#gid\n }\n #rdev?: number\n get rdev() {\n return this.#rdev\n }\n #blksize?: number\n get blksize() {\n return this.#blksize\n }\n #ino?: number\n get ino() {\n return this.#ino\n }\n #size?: number\n get size() {\n return this.#size\n }\n #blocks?: number\n get blocks() {\n return this.#blocks\n }\n #atimeMs?: number\n get atimeMs() {\n return this.#atimeMs\n }\n #mtimeMs?: number\n get mtimeMs() {\n return this.#mtimeMs\n }\n #ctimeMs?: number\n get ctimeMs() {\n return this.#ctimeMs\n }\n #birthtimeMs?: number\n get birthtimeMs() {\n return this.#birthtimeMs\n }\n #atime?: Date\n get atime() {\n return this.#atime\n }\n #mtime?: Date\n get mtime() {\n return this.#mtime\n }\n #ctime?: Date\n get ctime() {\n return this.#ctime\n }\n #birthtime?: Date\n get birthtime() {\n return this.#birthtime\n }\n\n #matchName: string\n #depth?: number\n #fullpath?: string\n #fullpathPosix?: string\n #relative?: string\n #relativePosix?: string\n #type: number\n #children: ChildrenCache\n #linkTarget?: PathBase\n #realpath?: PathBase\n\n /**\n * This property is for compatibility with the Dirent class as of\n * Node v20, where Dirent['parentPath'] refers to the path of the\n * directory that was passed to readdir. For root entries, it's the path\n * to the entry itself.\n */\n get parentPath(): string {\n return (this.parent || this).fullpath()\n }\n\n /**\n * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,\n * this property refers to the *parent* path, not the path object itself.\n */\n get path(): string {\n return this.parentPath\n }\n\n /**\n * Do not create new Path objects directly. They should always be accessed\n * via the PathScurry class or other methods on the Path class.\n *\n * @internal\n */\n constructor(\n name: string,\n type: number = UNKNOWN,\n root: PathBase | undefined,\n roots: { [k: string]: PathBase },\n nocase: boolean,\n children: ChildrenCache,\n opts: PathOpts,\n ) {\n this.name = name\n this.#matchName = nocase ? normalizeNocase(name) : normalize(name)\n this.#type = type & TYPEMASK\n this.nocase = nocase\n this.roots = roots\n this.root = root || this\n this.#children = children\n this.#fullpath = opts.fullpath\n this.#relative = opts.relative\n this.#relativePosix = opts.relativePosix\n this.parent = opts.parent\n if (this.parent) {\n this.#fs = this.parent.#fs\n } else {\n this.#fs = fsFromOption(opts.fs)\n }\n }\n\n /**\n * Returns the depth of the Path object from its root.\n *\n * For example, a path at `/foo/bar` would have a depth of 2.\n */\n depth(): number {\n if (this.#depth !== undefined) return this.#depth\n if (!this.parent) return (this.#depth = 0)\n return (this.#depth = this.parent.depth() + 1)\n }\n\n /**\n * @internal\n */\n abstract getRootString(path: string): string\n /**\n * @internal\n */\n abstract getRoot(rootPath: string): PathBase\n /**\n * @internal\n */\n abstract newChild(name: string, type?: number, opts?: PathOpts): PathBase\n\n /**\n * @internal\n */\n childrenCache() {\n return this.#children\n }\n\n /**\n * Get the Path object referenced by the string path, resolved from this Path\n */\n resolve(path?: string): PathBase {\n if (!path) {\n return this\n }\n const rootPath = this.getRootString(path)\n const dir = path.substring(rootPath.length)\n const dirParts = dir.split(this.splitSep)\n const result: PathBase =\n rootPath ?\n this.getRoot(rootPath).#resolveParts(dirParts)\n : this.#resolveParts(dirParts)\n return result\n }\n\n #resolveParts(dirParts: string[]) {\n let p: PathBase = this\n for (const part of dirParts) {\n p = p.child(part)\n }\n return p\n }\n\n /**\n * Returns the cached children Path objects, if still available. If they\n * have fallen out of the cache, then returns an empty array, and resets the\n * READDIR_CALLED bit, so that future calls to readdir() will require an fs\n * lookup.\n *\n * @internal\n */\n children(): Children {\n const cached = this.#children.get(this)\n if (cached) {\n return cached\n }\n const children: Children = Object.assign([], { provisional: 0 })\n this.#children.set(this, children)\n this.#type &= ~READDIR_CALLED\n return children\n }\n\n /**\n * Resolves a path portion and returns or creates the child Path.\n *\n * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is\n * `'..'`.\n *\n * This should not be called directly. If `pathPart` contains any path\n * separators, it will lead to unsafe undefined behavior.\n *\n * Use `Path.resolve()` instead.\n *\n * @internal\n */\n child(pathPart: string, opts?: PathOpts): PathBase {\n if (pathPart === '' || pathPart === '.') {\n return this\n }\n if (pathPart === '..') {\n return this.parent || this\n }\n\n // find the child\n const children = this.children()\n const name =\n this.nocase ? normalizeNocase(pathPart) : normalize(pathPart)\n for (const p of children) {\n if (p.#matchName === name) {\n return p\n }\n }\n\n // didn't find it, create provisional child, since it might not\n // actually exist. If we know the parent isn't a dir, then\n // in fact it CAN'T exist.\n const s = this.parent ? this.sep : ''\n const fullpath =\n this.#fullpath ? this.#fullpath + s + pathPart : undefined\n const pchild = this.newChild(pathPart, UNKNOWN, {\n ...opts,\n parent: this,\n fullpath,\n })\n\n if (!this.canReaddir()) {\n pchild.#type |= ENOENT\n }\n\n // don't have to update provisional, because if we have real children,\n // then provisional is set to children.length, otherwise a lower number\n children.push(pchild)\n return pchild\n }\n\n /**\n * The relative path from the cwd. If it does not share an ancestor with\n * the cwd, then this ends up being equivalent to the fullpath()\n */\n relative(): string {\n if (this.isCWD) return ''\n if (this.#relative !== undefined) {\n return this.#relative\n }\n const name = this.name\n const p = this.parent\n if (!p) {\n return (this.#relative = this.name)\n }\n const pv = p.relative()\n return pv + (!pv || !p.parent ? '' : this.sep) + name\n }\n\n /**\n * The relative path from the cwd, using / as the path separator.\n * If it does not share an ancestor with\n * the cwd, then this ends up being equivalent to the fullpathPosix()\n * On posix systems, this is identical to relative().\n */\n relativePosix(): string {\n if (this.sep === '/') return this.relative()\n if (this.isCWD) return ''\n if (this.#relativePosix !== undefined) return this.#relativePosix\n const name = this.name\n const p = this.parent\n if (!p) {\n return (this.#relativePosix = this.fullpathPosix())\n }\n const pv = p.relativePosix()\n return pv + (!pv || !p.parent ? '' : '/') + name\n }\n\n /**\n * The fully resolved path string for this Path entry\n */\n fullpath(): string {\n if (this.#fullpath !== undefined) {\n return this.#fullpath\n }\n const name = this.name\n const p = this.parent\n if (!p) {\n return (this.#fullpath = this.name)\n }\n const pv = p.fullpath()\n const fp = pv + (!p.parent ? '' : this.sep) + name\n return (this.#fullpath = fp)\n }\n\n /**\n * On platforms other than windows, this is identical to fullpath.\n *\n * On windows, this is overridden to return the forward-slash form of the\n * full UNC path.\n */\n fullpathPosix(): string {\n if (this.#fullpathPosix !== undefined) return this.#fullpathPosix\n if (this.sep === '/') return (this.#fullpathPosix = this.fullpath())\n if (!this.parent) {\n const p = this.fullpath().replace(/\\\\/g, '/')\n if (/^[a-z]:\\//i.test(p)) {\n return (this.#fullpathPosix = `//?/${p}`)\n } else {\n return (this.#fullpathPosix = p)\n }\n }\n const p = this.parent\n const pfpp = p.fullpathPosix()\n const fpp = pfpp + (!pfpp || !p.parent ? '' : '/') + this.name\n return (this.#fullpathPosix = fpp)\n }\n\n /**\n * Is the Path of an unknown type?\n *\n * Note that we might know *something* about it if there has been a previous\n * filesystem operation, for example that it does not exist, or is not a\n * link, or whether it has child entries.\n */\n isUnknown(): boolean {\n return (this.#type & IFMT) === UNKNOWN\n }\n\n isType(type: Type): boolean {\n return this[`is${type}`]()\n }\n\n getType(): Type {\n return (\n this.isUnknown() ? 'Unknown'\n : this.isDirectory() ? 'Directory'\n : this.isFile() ? 'File'\n : this.isSymbolicLink() ? 'SymbolicLink'\n : this.isFIFO() ? 'FIFO'\n : this.isCharacterDevice() ? 'CharacterDevice'\n : this.isBlockDevice() ? 'BlockDevice'\n : /* c8 ignore start */ this.isSocket() ? 'Socket'\n : 'Unknown'\n )\n /* c8 ignore stop */\n }\n\n /**\n * Is the Path a regular file?\n */\n isFile(): boolean {\n return (this.#type & IFMT) === IFREG\n }\n\n /**\n * Is the Path a directory?\n */\n isDirectory(): boolean {\n return (this.#type & IFMT) === IFDIR\n }\n\n /**\n * Is the path a character device?\n */\n isCharacterDevice(): boolean {\n return (this.#type & IFMT) === IFCHR\n }\n\n /**\n * Is the path a block device?\n */\n isBlockDevice(): boolean {\n return (this.#type & IFMT) === IFBLK\n }\n\n /**\n * Is the path a FIFO pipe?\n */\n isFIFO(): boolean {\n return (this.#type & IFMT) === IFIFO\n }\n\n /**\n * Is the path a socket?\n */\n isSocket(): boolean {\n return (this.#type & IFMT) === IFSOCK\n }\n\n /**\n * Is the path a symbolic link?\n */\n isSymbolicLink(): boolean {\n return (this.#type & IFLNK) === IFLNK\n }\n\n /**\n * Return the entry if it has been subject of a successful lstat, or\n * undefined otherwise.\n *\n * Does not read the filesystem, so an undefined result *could* simply\n * mean that we haven't called lstat on it.\n */\n lstatCached(): PathBase | undefined {\n return this.#type & LSTAT_CALLED ? this : undefined\n }\n\n /**\n * Return the cached link target if the entry has been the subject of a\n * successful readlink, or undefined otherwise.\n *\n * Does not read the filesystem, so an undefined result *could* just mean we\n * don't have any cached data. Only use it if you are very sure that a\n * readlink() has been called at some point.\n */\n readlinkCached(): PathBase | undefined {\n return this.#linkTarget\n }\n\n /**\n * Returns the cached realpath target if the entry has been the subject\n * of a successful realpath, or undefined otherwise.\n *\n * Does not read the filesystem, so an undefined result *could* just mean we\n * don't have any cached data. Only use it if you are very sure that a\n * realpath() has been called at some point.\n */\n realpathCached(): PathBase | undefined {\n return this.#realpath\n }\n\n /**\n * Returns the cached child Path entries array if the entry has been the\n * subject of a successful readdir(), or [] otherwise.\n *\n * Does not read the filesystem, so an empty array *could* just mean we\n * don't have any cached data. Only use it if you are very sure that a\n * readdir() has been called recently enough to still be valid.\n */\n readdirCached(): PathBase[] {\n const children = this.children()\n return children.slice(0, children.provisional)\n }\n\n /**\n * Return true if it's worth trying to readlink. Ie, we don't (yet) have\n * any indication that readlink will definitely fail.\n *\n * Returns false if the path is known to not be a symlink, if a previous\n * readlink failed, or if the entry does not exist.\n */\n canReadlink(): boolean {\n if (this.#linkTarget) return true\n if (!this.parent) return false\n // cases where it cannot possibly succeed\n const ifmt = this.#type & IFMT\n return !(\n (ifmt !== UNKNOWN && ifmt !== IFLNK) ||\n this.#type & ENOREADLINK ||\n this.#type & ENOENT\n )\n }\n\n /**\n * Return true if readdir has previously been successfully called on this\n * path, indicating that cachedReaddir() is likely valid.\n */\n calledReaddir(): boolean {\n return !!(this.#type & READDIR_CALLED)\n }\n\n /**\n * Returns true if the path is known to not exist. That is, a previous lstat\n * or readdir failed to verify its existence when that would have been\n * expected, or a parent entry was marked either enoent or enotdir.\n */\n isENOENT(): boolean {\n return !!(this.#type & ENOENT)\n }\n\n /**\n * Return true if the path is a match for the given path name. This handles\n * case sensitivity and unicode normalization.\n *\n * Note: even on case-sensitive systems, it is **not** safe to test the\n * equality of the `.name` property to determine whether a given pathname\n * matches, due to unicode normalization mismatches.\n *\n * Always use this method instead of testing the `path.name` property\n * directly.\n */\n isNamed(n: string): boolean {\n return !this.nocase ?\n this.#matchName === normalize(n)\n : this.#matchName === normalizeNocase(n)\n }\n\n /**\n * Return the Path object corresponding to the target of a symbolic link.\n *\n * If the Path is not a symbolic link, or if the readlink call fails for any\n * reason, `undefined` is returned.\n *\n * Result is cached, and thus may be outdated if the filesystem is mutated.\n */\n async readlink(): Promise<PathBase | undefined> {\n const target = this.#linkTarget\n if (target) {\n return target\n }\n if (!this.canReadlink()) {\n return undefined\n }\n /* c8 ignore start */\n // already covered by the canReadlink test, here for ts grumples\n if (!this.parent) {\n return undefined\n }\n /* c8 ignore stop */\n try {\n const read = await this.#fs.promises.readlink(this.fullpath())\n const linkTarget = (await this.parent.realpath())?.resolve(read)\n if (linkTarget) {\n return (this.#linkTarget = linkTarget)\n }\n } catch (er) {\n this.#readlinkFail((er as NodeJS.ErrnoException).code)\n return undefined\n }\n }\n\n /**\n * Synchronous {@link PathBase.readlink}\n */\n readlinkSync(): PathBase | undefined {\n const target = this.#linkTarget\n if (target) {\n return target\n }\n if (!this.canReadlink()) {\n return undefined\n }\n /* c8 ignore start */\n // already covered by the canReadlink test, here for ts grumples\n if (!this.parent) {\n return undefined\n }\n /* c8 ignore stop */\n try {\n const read = this.#fs.readlinkSync(this.fullpath())\n const linkTarget = this.parent.realpathSync()?.resolve(read)\n if (linkTarget) {\n return (this.#linkTarget = linkTarget)\n }\n } catch (er) {\n this.#readlinkFail((er as NodeJS.ErrnoException).code)\n return undefined\n }\n }\n\n #readdirSuccess(children: Children) {\n // succeeded, mark readdir called bit\n this.#type |= READDIR_CALLED\n // mark all remaining provisional children as ENOENT\n for (let p = children.provisional; p < children.length; p++) {\n const c = children[p]\n if (c) c.#markENOENT()\n }\n }\n\n #markENOENT() {\n // mark as UNKNOWN and ENOENT\n if (this.#type & ENOENT) return\n this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN\n this.#markChildrenENOENT()\n }\n\n #markChildrenENOENT() {\n // all children are provisional and do not exist\n const children = this.children()\n children.provisional = 0\n for (const p of children) {\n p.#markENOENT()\n }\n }\n\n #markENOREALPATH() {\n this.#type |= ENOREALPATH\n this.#markENOTDIR()\n }\n\n // save the information when we know the entry is not a dir\n #markENOTDIR() {\n // entry is not a directory, so any children can't exist.\n // this *should* be impossible, since any children created\n // after it's been marked ENOTDIR should be marked ENOENT,\n // so it won't even get to this point.\n /* c8 ignore start */\n if (this.#type & ENOTDIR) return\n /* c8 ignore stop */\n let t = this.#type\n // this could happen if we stat a dir, then delete it,\n // then try to read it or one of its children.\n if ((t & IFMT) === IFDIR) t &= IFMT_UNKNOWN\n this.#type = t | ENOTDIR\n this.#markChildrenENOENT()\n }\n\n #readdirFail(code: string = '') {\n // markENOTDIR and markENOENT also set provisional=0\n if (code === 'ENOTDIR' || code === 'EPERM') {\n this.#markENOTDIR()\n } else if (code === 'ENOENT') {\n this.#markENOENT()\n } else {\n this.children().provisional = 0\n }\n }\n\n #lstatFail(code: string = '') {\n // Windows just raises ENOENT in this case, disable for win CI\n /* c8 ignore start */\n if (code === 'ENOTDIR') {\n // already know it has a parent by this point\n const p = this.parent as PathBase\n p.#markENOTDIR()\n } else if (code === 'ENOENT') {\n /* c8 ignore stop */\n this.#markENOENT()\n }\n }\n\n #readlinkFail(code: string = '') {\n let ter = this.#type\n ter |= ENOREADLINK\n if (code === 'ENOENT') ter |= ENOENT\n // windows gets a weird error when you try to readlink a file\n if (code === 'EINVAL' || code === 'UNKNOWN') {\n // exists, but not a symlink, we don't know WHAT it is, so remove\n // all IFMT bits.\n ter &= IFMT_UNKNOWN\n }\n this.#type = ter\n // windows just gets ENOENT in this case. We do cover the case,\n // just disabled because it's impossible on Windows CI\n /* c8 ignore start */\n if (code === 'ENOTDIR' && this.parent) {\n this.parent.#markENOTDIR()\n }\n /* c8 ignore stop */\n }\n\n #readdirAddChild(e: Dirent, c: Children) {\n return (\n this.#readdirMaybePromoteChild(e, c) ||\n this.#readdirAddNewChild(e, c)\n )\n }\n\n #readdirAddNewChild(e: Dirent, c: Children): PathBase {\n // alloc new entry at head, so it's never provisional\n const type = entToType(e)\n const child = this.newChild(e.name, type, { parent: this })\n const ifmt = child.#type & IFMT\n if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {\n child.#type |= ENOTDIR\n }\n c.unshift(child)\n c.provisional++\n return child\n }\n\n #readdirMaybePromoteChild(e: Dirent, c: Children): PathBase | undefined {\n for (let p = c.provisional; p < c.length; p++) {\n const pchild = c[p]\n const name =\n this.nocase ? normalizeNocase(e.name) : normalize(e.name)\n if (name !== pchild!.#matchName) {\n continue\n }\n\n return this.#readdirPromoteChild(e, pchild!, p, c)\n }\n }\n\n #readdirPromoteChild(\n e: Dirent,\n p: PathBase,\n index: number,\n c: Children,\n ): PathBase {\n const v = p.name\n // retain any other flags, but set ifmt from dirent\n p.#type = (p.#type & IFMT_UNKNOWN) | entToType(e)\n // case sensitivity fixing when we learn the true name.\n if (v !== e.name) p.name = e.name\n\n // just advance provisional index (potentially off the list),\n // otherwise we have to splice/pop it out and re-insert at head\n if (index !== c.provisional) {\n if (index === c.length - 1) c.pop()\n else c.splice(index, 1)\n c.unshift(p)\n }\n c.provisional++\n return p\n }\n\n /**\n * Call lstat() on this Path, and update all known information that can be\n * determined.\n *\n * Note that unlike `fs.lstat()`, the returned value does not contain some\n * information, such as `mode`, `dev`, `nlink`, and `ino`. If that\n * information is required, you will need to call `fs.lstat` yourself.\n *\n * If the Path refers to a nonexistent file, or if the lstat call fails for\n * any reason, `undefined` is returned. Otherwise the updated Path object is\n * returned.\n *\n * Results are cached, and thus may be out of date if the filesystem is\n * mutated.\n */\n async lstat(): Promise<PathBase | undefined> {\n if ((this.#type & ENOENT) === 0) {\n try {\n this.#applyStat(await this.#fs.promises.lstat(this.fullpath()))\n return this\n } catch (er) {\n this.#lstatFail((er as NodeJS.ErrnoException).code)\n }\n }\n }\n\n /**\n * synchronous {@link PathBase.lstat}\n */\n lstatSync(): PathBase | undefined {\n if ((this.#type & ENOENT) === 0) {\n try {\n this.#applyStat(this.#fs.lstatSync(this.fullpath()))\n return this\n } catch (er) {\n this.#lstatFail((er as NodeJS.ErrnoException).code)\n }\n }\n }\n\n #applyStat(st: Stats) {\n const {\n atime,\n atimeMs,\n birthtime,\n birthtimeMs,\n blksize,\n blocks,\n ctime,\n ctimeMs,\n dev,\n gid,\n ino,\n mode,\n mtime,\n mtimeMs,\n nlink,\n rdev,\n size,\n uid,\n } = st\n this.#atime = atime\n this.#atimeMs = atimeMs\n this.#birthtime = birthtime\n this.#birthtimeMs = birthtimeMs\n this.#blksize = blksize\n this.#blocks = blocks\n this.#ctime = ctime\n this.#ctimeMs = ctimeMs\n this.#dev = dev\n this.#gid = gid\n this.#ino = ino\n this.#mode = mode\n this.#mtime = mtime\n this.#mtimeMs = mtimeMs\n this.#nlink = nlink\n this.#rdev = rdev\n this.#size = size\n this.#uid = uid\n const ifmt = entToType(st)\n // retain any other flags, but set the ifmt\n this.#type = (this.#type & IFMT_UNKNOWN) | ifmt | LSTAT_CALLED\n if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {\n this.#type |= ENOTDIR\n }\n }\n\n #onReaddirCB: ((\n er: NodeJS.ErrnoException | null,\n entries: Path[],\n ) => any)[] = []\n #readdirCBInFlight: boolean = false\n #callOnReaddirCB(children: Path[]) {\n this.#readdirCBInFlight = false\n const cbs = this.#onReaddirCB.slice()\n this.#onReaddirCB.length = 0\n cbs.forEach(cb => cb(null, children))\n }\n\n /**\n * Standard node-style callback interface to get list of directory entries.\n *\n * If the Path cannot or does not contain any children, then an empty array\n * is returned.\n *\n * Results are cached, and thus may be out of date if the filesystem is\n * mutated.\n *\n * @param cb The callback called with (er, entries). Note that the `er`\n * param is somewhat extraneous, as all readdir() errors are handled and\n * simply result in an empty set of entries being returned.\n * @param allowZalgo Boolean indicating that immediately known results should\n * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release\n * zalgo at your peril, the dark pony lord is devious and unforgiving.\n */\n readdirCB(\n cb: (er: NodeJS.ErrnoException | null, entries: PathBase[]) => any,\n allowZalgo: boolean = false,\n ): void {\n if (!this.canReaddir()) {\n if (allowZalgo) cb(null, [])\n else queueMicrotask(() => cb(null, []))\n return\n }\n\n const children = this.children()\n if (this.calledReaddir()) {\n const c = children.slice(0, children.provisional)\n if (allowZalgo) cb(null, c)\n else queueMicrotask(() => cb(null, c))\n return\n }\n\n // don't have to worry about zalgo at this point.\n this.#onReaddirCB.push(cb)\n if (this.#readdirCBInFlight) {\n return\n }\n this.#readdirCBInFlight = true\n\n // else read the directory, fill up children\n // de-provisionalize any provisional children.\n const fullpath = this.fullpath()\n this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {\n if (er) {\n this.#readdirFail((er as NodeJS.ErrnoException).code)\n children.provisional = 0\n } else {\n // if we didn't get an error, we always get entries.\n //@ts-ignore\n for (const e of entries) {\n this.#readdirAddChild(e, children)\n }\n this.#readdirSuccess(children)\n }\n this.#callOnReaddirCB(children.slice(0, children.provisional))\n return\n })\n }\n\n #asyncReaddirInFlight?: Promise<void>\n\n /**\n * Return an array of known child entries.\n *\n * If the Path cannot or does not contain any children, then an empty array\n * is returned.\n *\n * Results are cached, and thus may be out of date if the filesystem is\n * mutated.\n */\n async readdir(): Promise<PathBase[]> {\n if (!this.canReaddir()) {\n return []\n }\n\n const children = this.children()\n if (this.calledReaddir()) {\n return children.slice(0, children.provisional)\n }\n\n // else read the directory, fill up children\n // de-provisionalize any provisional children.\n const fullpath = this.fullpath()\n if (this.#asyncReaddirInFlight) {\n await this.#asyncReaddirInFlight\n } else {\n /* c8 ignore start */\n let resolve: () => void = () => {}\n /* c8 ignore stop */\n this.#asyncReaddirInFlight = new Promise<void>(\n res => (resolve = res),\n )\n try {\n for (const e of await this.#fs.promises.readdir(fullpath, {\n withFileTypes: true,\n })) {\n this.#readdirAddChild(e, children)\n }\n this.#readdirSuccess(children)\n } catch (er) {\n this.#readdirFail((er as NodeJS.ErrnoException).code)\n children.provisional = 0\n }\n this.#asyncReaddirInFlight = undefined\n resolve()\n }\n return children.slice(0, children.provisional)\n }\n\n /**\n * synchronous {@link PathBase.readdir}\n */\n readdirSync(): PathBase[] {\n if (!this.canReaddir()) {\n return []\n }\n\n const children = this.children()\n if (this.calledReaddir()) {\n return children.slice(0, children.provisional)\n }\n\n // else read the directory, fill up children\n // de-provisionalize any provisional children.\n const fullpath = this.fullpath()\n try {\n for (const e of this.#fs.readdirSync(fullpath, {\n withFileTypes: true,\n })) {\n this.#readdirAddChild(e, children)\n }\n this.#readdirSuccess(children)\n } catch (er) {\n this.#readdirFail((er as NodeJS.ErrnoException).code)\n children.provisional = 0\n }\n return children.slice(0, children.provisional)\n }\n\n canReaddir() {\n if (this.#type & ENOCHILD) return false\n const ifmt = IFMT & this.#type\n // we always set ENOTDIR when setting IFMT, so should be impossible\n /* c8 ignore start */\n if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {\n return false\n }\n /* c8 ignore stop */\n return true\n }\n\n shouldWalk(\n dirs: Set<PathBase | undefined>,\n walkFilter?: (e: PathBase) => boolean,\n ): boolean {\n return (\n (this.#type & IFDIR) === IFDIR &&\n !(this.#type & ENOCHILD) &&\n !dirs.has(this) &&\n (!walkFilter || walkFilter(this))\n )\n }\n\n /**\n * Return the Path object corresponding to path as resolved\n * by realpath(3).\n *\n * If the realpath call fails for any reason, `undefined` is returned.\n *\n * Result is cached, and thus may be outdated if the filesystem is mutated.\n * On success, returns a Path object.\n */\n async realpath(): Promise<PathBase | undefined> {\n if (this.#realpath) return this.#realpath\n if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type) return undefined\n try {\n const rp = await this.#fs.promises.realpath(this.fullpath())\n return (this.#realpath = this.resolve(rp))\n } catch (_) {\n this.#markENOREALPATH()\n }\n }\n\n /**\n * Synchronous {@link realpath}\n */\n realpathSync(): PathBase | undefined {\n if (this.#realpath) return this.#realpath\n if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type) return undefined\n try {\n const rp = this.#fs.realpathSync(this.fullpath())\n return (this.#realpath = this.resolve(rp))\n } catch (_) {\n this.#markENOREALPATH()\n }\n }\n\n /**\n * Internal method to mark this Path object as the scurry cwd,\n * called by {@link PathScurry#chdir}\n *\n * @internal\n */\n [setAsCwd](oldCwd: PathBase): void {\n if (oldCwd === this) return\n oldCwd.isCWD = false\n this.isCWD = true\n\n const changed = new Set<PathBase>([])\n let rp = []\n let p: PathBase = this\n while (p && p.parent) {\n changed.add(p)\n p.#relative = rp.join(this.sep)\n p.#relativePosix = rp.join('/')\n p = p.parent\n rp.push('..')\n }\n // now un-memoize parents of old cwd\n p = oldCwd\n while (p && p.parent && !changed.has(p)) {\n p.#relative = undefined\n p.#relativePosix = undefined\n p = p.parent\n }\n }\n}\n\n/**\n * Path class used on win32 systems\n *\n * Uses `'\\\\'` as the path separator for returned paths, either `'\\\\'` or `'/'`\n * as the path separator for parsing paths.\n */\nexport class PathWin32 extends PathBase {\n /**\n * Separator for generating path strings.\n */\n sep: '\\\\' = '\\\\'\n /**\n * Separator for parsing path strings.\n */\n splitSep: RegExp = eitherSep\n\n /**\n * Do not create new Path objects directly. They should always be accessed\n * via the PathScurry class or other methods on the Path class.\n *\n * @internal\n */\n constructor(\n name: string,\n type: number = UNKNOWN,\n root: PathBase | undefined,\n roots: { [k: string]: PathBase },\n nocase: boolean,\n children: ChildrenCache,\n opts: PathOpts,\n ) {\n super(name, type, root, roots, nocase, children, opts)\n }\n\n /**\n * @internal\n */\n newChild(name: string, type: number = UNKNOWN, opts: PathOpts = {}) {\n return new PathWin32(\n name,\n type,\n this.root,\n this.roots,\n this.nocase,\n this.childrenCache(),\n opts,\n )\n }\n\n /**\n * @internal\n */\n getRootString(path: string): string {\n return win32.parse(path).root\n }\n\n /**\n * @internal\n */\n getRoot(rootPath: string): PathBase {\n rootPath = uncToDrive(rootPath.toUpperCase())\n if (rootPath === this.root.name) {\n return this.root\n }\n // ok, not that one, check if it matches another we know about\n for (const [compare, root] of Object.entries(this.roots)) {\n if (this.sameRoot(rootPath, compare)) {\n return (this.roots[rootPath] = root)\n }\n }\n // otherwise, have to create a new one.\n return (this.roots[rootPath] = new PathScurryWin32(\n rootPath,\n this,\n ).root)\n }\n\n /**\n * @internal\n */\n sameRoot(rootPath: string, compare: string = this.root.name): boolean {\n // windows can (rarely) have case-sensitive filesystem, but\n // UNC and drive letters are always case-insensitive, and canonically\n // represented uppercase.\n rootPath = rootPath\n .toUpperCase()\n .replace(/\\//g, '\\\\')\n .replace(uncDriveRegexp, '$1\\\\')\n return rootPath === compare\n }\n}\n\n/**\n * Path class used on all posix systems.\n *\n * Uses `'/'` as the path separator.\n */\nexport class PathPosix extends PathBase {\n /**\n * separator for parsing path strings\n */\n splitSep: '/' = '/'\n /**\n * separator for generating path strings\n */\n sep: '/' = '/'\n\n /**\n * Do not create new Path objects directly. They should always be accessed\n * via the PathScurry class or other methods on the Path class.\n *\n * @internal\n */\n constructor(\n name: string,\n type: number = UNKNOWN,\n root: PathBase | undefined,\n roots: { [k: string]: PathBase },\n nocase: boolean,\n children: ChildrenCache,\n opts: PathOpts,\n ) {\n super(name, type, root, roots, nocase, children, opts)\n }\n\n /**\n * @internal\n */\n getRootString(path: string): string {\n return path.startsWith('/') ? '/' : ''\n }\n\n /**\n * @internal\n */\n getRoot(_rootPath: string): PathBase {\n return this.root\n }\n\n /**\n * @internal\n */\n newChild(name: string, type: number = UNKNOWN, opts: PathOpts = {}) {\n return new PathPosix(\n name,\n type,\n this.root,\n this.roots,\n this.nocase,\n this.childrenCache(),\n opts,\n )\n }\n}\n\n/**\n * Options that may be provided to the PathScurry constructor\n */\nexport interface PathScurryOpts {\n /**\n * perform case-insensitive path matching. Default based on platform\n * subclass.\n */\n nocase?: boolean\n /**\n * Number of Path entries to keep in the cache of Path child references.\n *\n * Setting this higher than 65536 will dramatically increase the data\n * consumption and construction time overhead of each PathScurry.\n *\n * Setting this value to 256 or lower will significantly reduce the data\n * consumption and construction time overhead, but may also reduce resolve()\n * and readdir() performance on large filesystems.\n *\n * Default `16384`.\n */\n childrenCacheSize?: number\n /**\n * An object that overrides the built-in functions from the fs and\n * fs/promises modules.\n *\n * See {@link FSOption}\n */\n fs?: FSOption\n}\n\n/**\n * The base class for all PathScurry classes, providing the interface for path\n * resolution and filesystem operations.\n *\n * Typically, you should *not* instantiate this class directly, but rather one\n * of the platform-specific classes, or the exported {@link PathScurry} which\n * defaults to the current platform.\n */\nexport abstract class PathScurryBase {\n /**\n * The root Path entry for the current working directory of this Scurry\n */\n root: PathBase\n /**\n * The string path for the root of this Scurry's current working directory\n */\n rootPath: string\n /**\n * A collection of all roots encountered, referenced by rootPath\n */\n roots: { [k: string]: PathBase }\n /**\n * The Path entry corresponding to this PathScurry's current working directory.\n */\n cwd: PathBase\n #resolveCache: ResolveCache\n #resolvePosixCache: ResolveCache\n #children: ChildrenCache\n /**\n * Perform path comparisons case-insensitively.\n *\n * Defaults true on Darwin and Windows systems, false elsewhere.\n */\n nocase: boolean\n\n /**\n * The path separator used for parsing paths\n *\n * `'/'` on Posix systems, either `'/'` or `'\\\\'` on Windows\n */\n abstract sep: string | RegExp\n\n #fs: FSValue\n\n /**\n * This class should not be instantiated directly.\n *\n * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry\n *\n * @internal\n */\n constructor(\n cwd: URL | string = process.cwd(),\n pathImpl: typeof win32 | typeof posix,\n sep: string | RegExp,\n {\n nocase,\n childrenCacheSize = 16 * 1024,\n fs = defaultFS,\n }: PathScurryOpts = {},\n ) {\n this.#fs = fsFromOption(fs)\n if (cwd instanceof URL || cwd.startsWith('file://')) {\n cwd = fileURLToPath(cwd)\n }\n // resolve and split root, and then add to the store.\n // this is the only time we call path.resolve()\n const cwdPath = pathImpl.resolve(cwd)\n this.roots = Object.create(null)\n this.rootPath = this.parseRootPath(cwdPath)\n this.#resolveCache = new ResolveCache()\n this.#resolvePosixCache = new ResolveCache()\n this.#children = new ChildrenCache(childrenCacheSize)\n\n const split = cwdPath.substring(this.rootPath.length).split(sep)\n // resolve('/') leaves '', splits to [''], we don't want that.\n if (split.length === 1 && !split[0]) {\n split.pop()\n }\n /* c8 ignore start */\n if (nocase === undefined) {\n throw new TypeError(\n 'must provide nocase setting to PathScurryBase ctor',\n )\n }\n /* c8 ignore stop */\n this.nocase = nocase\n this.root = this.newRoot(this.#fs)\n this.roots[this.rootPath] = this.root\n let prev: PathBase = this.root\n let len = split.length - 1\n const joinSep = pathImpl.sep\n let abs = this.rootPath\n let sawFirst = false\n for (const part of split) {\n const l = len--\n prev = prev.child(part, {\n relative: new Array(l).fill('..').join(joinSep),\n relativePosix: new Array(l).fill('..').join('/'),\n fullpath: (abs += (sawFirst ? '' : joinSep) + part),\n })\n sawFirst = true\n }\n this.cwd = prev\n }\n\n /**\n * Get the depth of a provided path, string, or the cwd\n */\n depth(path: Path | string = this.cwd): number {\n if (typeof path === 'string') {\n path = this.cwd.resolve(path)\n }\n return path.depth()\n }\n\n /**\n * Parse the root portion of a path string\n *\n * @internal\n */\n abstract parseRootPath(dir: string): string\n /**\n * create a new Path to use as root during construction.\n *\n * @internal\n */\n abstract newRoot(fs: FSValue): PathBase\n /**\n * Determine whether a given path string is absolute\n */\n abstract isAbsolute(p: string): boolean\n\n /**\n * Return the cache of child entries. Exposed so subclasses can create\n * child Path objects in a platform-specific way.\n *\n * @internal\n */\n childrenCache() {\n return this.#children\n }\n\n /**\n * Resolve one or more path strings to a resolved string\n *\n * Same interface as require('path').resolve.\n *\n * Much faster than path.resolve() when called multiple times for the same\n * path, because the resolved Path objects are cached. Much slower\n * otherwise.\n */\n resolve(...paths: string[]): string {\n // first figure out the minimum number of paths we have to test\n // we always start at cwd, but any absolutes will bump the start\n let r = ''\n for (let i = paths.length - 1; i >= 0; i--) {\n const p = paths[i]\n if (!p || p === '.') continue\n r = r ? `${p}/${r}` : p\n if (this.isAbsolute(p)) {\n break\n }\n }\n const cached = this.#resolveCache.get(r)\n if (cached !== undefined) {\n return cached\n }\n const result = this.cwd.resolve(r).fullpath()\n this.#resolveCache.set(r, result)\n return result\n }\n\n /**\n * Resolve one or more path strings to a resolved string, returning\n * the posix path. Identical to .resolve() on posix systems, but on\n * windows will return a forward-slash separated UNC path.\n *\n * Same interface as require('path').resolve.\n *\n * Much faster than path.resolve() when called multiple times for the same\n * path, because the resolved Path objects are cached. Much slower\n * otherwise.\n */\n resolvePosix(...paths: string[]): string {\n // first figure out the minimum number of paths we have to test\n // we always start at cwd, but any absolutes will bump the start\n let r = ''\n for (let i = paths.length - 1; i >= 0; i--) {\n const p = paths[i]\n if (!p || p === '.') continue\n r = r ? `${p}/${r}` : p\n if (this.isAbsolute(p)) {\n break\n }\n }\n const cached = this.#resolvePosixCache.get(r)\n if (cached !== undefined) {\n return cached\n }\n const result = this.cwd.resolve(r).fullpathPosix()\n this.#resolvePosixCache.set(r, result)\n return result\n }\n\n /**\n * find the relative path from the cwd to the supplied path string or entry\n */\n relative(entry: PathBase | string = this.cwd): string {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n }\n return entry.relative()\n }\n\n /**\n * find the relative path from the cwd to the supplied path string or\n * entry, using / as the path delimiter, even on Windows.\n */\n relativePosix(entry: PathBase | string = this.cwd): string {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n }\n return entry.relativePosix()\n }\n\n /**\n * Return the basename for the provided string or Path object\n */\n basename(entry: PathBase | string = this.cwd): string {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n }\n return entry.name\n }\n\n /**\n * Return the dirname for the provided string or Path object\n */\n dirname(entry: PathBase | string = this.cwd): string {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n }\n return (entry.parent || entry).fullpath()\n }\n\n /**\n * Return an array of known child entries.\n *\n * First argument may be either a string, or a Path object.\n *\n * If the Path cannot or does not contain any children, then an empty array\n * is returned.\n *\n * Results are cached, and thus may be out of date if the filesystem is\n * mutated.\n *\n * Unlike `fs.readdir()`, the `withFileTypes` option defaults to `true`. Set\n * `{ withFileTypes: false }` to return strings.\n */\n\n readdir(): Promise<PathBase[]>\n readdir(opts: { withFileTypes: true }): Promise<PathBase[]>\n readdir(opts: { withFileTypes: false }): Promise<string[]>\n readdir(opts: { withFileTypes: boolean }): Promise<PathBase[] | string[]>\n readdir(entry: PathBase | string): Promise<PathBase[]>\n readdir(\n entry: PathBase | string,\n opts: { withFileTypes: true },\n ): Promise<PathBase[]>\n readdir(\n entry: PathBase | string,\n opts: { withFileTypes: false },\n ): Promise<string[]>\n readdir(\n entry: PathBase | string,\n opts: { withFileTypes: boolean },\n ): Promise<PathBase[] | string[]>\n async readdir(\n entry: PathBase | string | { withFileTypes: boolean } = this.cwd,\n opts: { withFileTypes: boolean } = {\n withFileTypes: true,\n },\n ): Promise<PathBase[] | string[]> {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n opts = entry\n entry = this.cwd\n }\n const { withFileTypes } = opts\n if (!entry.canReaddir()) {\n return []\n } else {\n const p = await entry.readdir()\n return withFileTypes ? p : p.map(e => e.name)\n }\n }\n\n /**\n * synchronous {@link PathScurryBase.readdir}\n */\n readdirSync(): PathBase[]\n readdirSync(opts: { withFileTypes: true }): PathBase[]\n readdirSync(opts: { withFileTypes: false }): string[]\n readdirSync(opts: { withFileTypes: boolean }): PathBase[] | string[]\n readdirSync(entry: PathBase | string): PathBase[]\n readdirSync(\n entry: PathBase | string,\n opts: { withFileTypes: true },\n ): PathBase[]\n readdirSync(\n entry: PathBase | string,\n opts: { withFileTypes: false },\n ): string[]\n readdirSync(\n entry: PathBase | string,\n opts: { withFileTypes: boolean },\n ): PathBase[] | string[]\n readdirSync(\n entry: PathBase | string | { withFileTypes: boolean } = this.cwd,\n opts: { withFileTypes: boolean } = {\n withFileTypes: true,\n },\n ): PathBase[] | string[] {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n opts = entry\n entry = this.cwd\n }\n const { withFileTypes = true } = opts\n if (!entry.canReaddir()) {\n return []\n } else if (withFileTypes) {\n return entry.readdirSync()\n } else {\n return entry.readdirSync().map(e => e.name)\n }\n }\n\n /**\n * Call lstat() on the string or Path object, and update all known\n * information that can be determined.\n *\n * Note that unlike `fs.lstat()`, the returned value does not contain some\n * information, such as `mode`, `dev`, `nlink`, and `ino`. If that\n * information is required, you will need to call `fs.lstat` yourself.\n *\n * If the Path refers to a nonexistent file, or if the lstat call fails for\n * any reason, `undefined` is returned. Otherwise the updated Path object is\n * returned.\n *\n * Results are cached, and thus may be out of date if the filesystem is\n * mutated.\n */\n async lstat(\n entry: string | PathBase = this.cwd,\n ): Promise<PathBase | undefined> {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n }\n return entry.lstat()\n }\n\n /**\n * synchronous {@link PathScurryBase.lstat}\n */\n lstatSync(entry: string | PathBase = this.cwd): PathBase | undefined {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n }\n return entry.lstatSync()\n }\n\n /**\n * Return the Path object or string path corresponding to the target of a\n * symbolic link.\n *\n * If the path is not a symbolic link, or if the readlink call fails for any\n * reason, `undefined` is returned.\n *\n * Result is cached, and thus may be outdated if the filesystem is mutated.\n *\n * `{withFileTypes}` option defaults to `false`.\n *\n * On success, returns a Path object if `withFileTypes` option is true,\n * otherwise a string.\n */\n readlink(): Promise<string | undefined>\n readlink(opt: { withFileTypes: false }): Promise<string | undefined>\n readlink(opt: { withFileTypes: true }): Promise<PathBase | undefined>\n readlink(opt: {\n withFileTypes: boolean\n }): Promise<PathBase | string | undefined>\n readlink(\n entry: string | PathBase,\n opt?: { withFileTypes: false },\n ): Promise<string | undefined>\n readlink(\n entry: string | PathBase,\n opt: { withFileTypes: true },\n ): Promise<PathBase | undefined>\n readlink(\n entry: string | PathBase,\n opt: { withFileTypes: boolean },\n ): Promise<string | PathBase | undefined>\n async readlink(\n entry: string | PathBase | { withFileTypes: boolean } = this.cwd,\n { withFileTypes }: { withFileTypes: boolean } = {\n withFileTypes: false,\n },\n ): Promise<string | PathBase | undefined> {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n withFileTypes = entry.withFileTypes\n entry = this.cwd\n }\n const e = await entry.readlink()\n return withFileTypes ? e : e?.fullpath()\n }\n\n /**\n * synchronous {@link PathScurryBase.readlink}\n */\n readlinkSync(): string | undefined\n readlinkSync(opt: { withFileTypes: false }): string | undefined\n readlinkSync(opt: { withFileTypes: true }): PathBase | undefined\n readlinkSync(opt: {\n withFileTypes: boolean\n }): PathBase | string | undefined\n readlinkSync(\n entry: string | PathBase,\n opt?: { withFileTypes: false },\n ): string | undefined\n readlinkSync(\n entry: string | PathBase,\n opt: { withFileTypes: true },\n ): PathBase | undefined\n readlinkSync(\n entry: string | PathBase,\n opt: { withFileTypes: boolean },\n ): string | PathBase | undefined\n readlinkSync(\n entry: string | PathBase | { withFileTypes: boolean } = this.cwd,\n { withFileTypes }: { withFileTypes: boolean } = {\n withFileTypes: false,\n },\n ): string | PathBase | undefined {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n withFileTypes = entry.withFileTypes\n entry = this.cwd\n }\n const e = entry.readlinkSync()\n return withFileTypes ? e : e?.fullpath()\n }\n\n /**\n * Return the Path object or string path corresponding to path as resolved\n * by realpath(3).\n *\n * If the realpath call fails for any reason, `undefined` is returned.\n *\n * Result is cached, and thus may be outdated if the filesystem is mutated.\n *\n * `{withFileTypes}` option defaults to `false`.\n *\n * On success, returns a Path object if `withFileTypes` option is true,\n * otherwise a string.\n */\n realpath(): Promise<string | undefined>\n realpath(opt: { withFileTypes: false }): Promise<string | undefined>\n realpath(opt: { withFileTypes: true }): Promise<PathBase | undefined>\n realpath(opt: {\n withFileTypes: boolean\n }): Promise<PathBase | string | undefined>\n realpath(\n entry: string | PathBase,\n opt?: { withFileTypes: false },\n ): Promise<string | undefined>\n realpath(\n entry: string | PathBase,\n opt: { withFileTypes: true },\n ): Promise<PathBase | undefined>\n realpath(\n entry: string | PathBase,\n opt: { withFileTypes: boolean },\n ): Promise<string | PathBase | undefined>\n async realpath(\n entry: string | PathBase | { withFileTypes: boolean } = this.cwd,\n { withFileTypes }: { withFileTypes: boolean } = {\n withFileTypes: false,\n },\n ): Promise<string | PathBase | undefined> {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n withFileTypes = entry.withFileTypes\n entry = this.cwd\n }\n const e = await entry.realpath()\n return withFileTypes ? e : e?.fullpath()\n }\n\n realpathSync(): string | undefined\n realpathSync(opt: { withFileTypes: false }): string | undefined\n realpathSync(opt: { withFileTypes: true }): PathBase | undefined\n realpathSync(opt: {\n withFileTypes: boolean\n }): PathBase | string | undefined\n realpathSync(\n entry: string | PathBase,\n opt?: { withFileTypes: false },\n ): string | undefined\n realpathSync(\n entry: string | PathBase,\n opt: { withFileTypes: true },\n ): PathBase | undefined\n realpathSync(\n entry: string | PathBase,\n opt: { withFileTypes: boolean },\n ): string | PathBase | undefined\n realpathSync(\n entry: string | PathBase | { withFileTypes: boolean } = this.cwd,\n { withFileTypes }: { withFileTypes: boolean } = {\n withFileTypes: false,\n },\n ): string | PathBase | undefined {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n withFileTypes = entry.withFileTypes\n entry = this.cwd\n }\n const e = entry.realpathSync()\n return withFileTypes ? e : e?.fullpath()\n }\n\n /**\n * Asynchronously walk the directory tree, returning an array of\n * all path strings or Path objects found.\n *\n * Note that this will be extremely memory-hungry on large filesystems.\n * In such cases, it may be better to use the stream or async iterator\n * walk implementation.\n */\n walk(): Promise<PathBase[]>\n walk(\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): Promise<PathBase[]>\n walk(opts: WalkOptionsWithFileTypesFalse): Promise<string[]>\n walk(opts: WalkOptions): Promise<string[] | PathBase[]>\n walk(entry: string | PathBase): Promise<PathBase[]>\n walk(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): Promise<PathBase[]>\n walk(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesFalse,\n ): Promise<string[]>\n walk(\n entry: string | PathBase,\n opts: WalkOptions,\n ): Promise<PathBase[] | string[]>\n async walk(\n entry: string | PathBase | WalkOptions = this.cwd,\n opts: WalkOptions = {},\n ): Promise<PathBase[] | string[]> {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n opts = entry\n entry = this.cwd\n }\n const {\n withFileTypes = true,\n follow = false,\n filter,\n walkFilter,\n } = opts\n const results: (string | PathBase)[] = []\n if (!filter || filter(entry)) {\n results.push(withFileTypes ? entry : entry.fullpath())\n }\n const dirs = new Set<PathBase>()\n const walk = (\n dir: PathBase,\n cb: (er?: NodeJS.ErrnoException) => void,\n ) => {\n dirs.add(dir)\n dir.readdirCB((er, entries) => {\n /* c8 ignore start */\n if (er) {\n return cb(er)\n }\n /* c8 ignore stop */\n let len = entries.length\n if (!len) return cb()\n const next = () => {\n if (--len === 0) {\n cb()\n }\n }\n for (const e of entries) {\n if (!filter || filter(e)) {\n results.push(withFileTypes ? e : e.fullpath())\n }\n if (follow && e.isSymbolicLink()) {\n e.realpath()\n .then(r => (r?.isUnknown() ? r.lstat() : r))\n .then(r =>\n r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next(),\n )\n } else {\n if (e.shouldWalk(dirs, walkFilter)) {\n walk(e, next)\n } else {\n next()\n }\n }\n }\n }, true) // zalgooooooo\n }\n\n const start = entry\n return new Promise<PathBase[] | string[]>((res, rej) => {\n walk(start, er => {\n /* c8 ignore start */\n if (er) return rej(er)\n /* c8 ignore stop */\n res(results as PathBase[] | string[])\n })\n })\n }\n\n /**\n * Synchronously walk the directory tree, returning an array of\n * all path strings or Path objects found.\n *\n * Note that this will be extremely memory-hungry on large filesystems.\n * In such cases, it may be better to use the stream or async iterator\n * walk implementation.\n */\n walkSync(): PathBase[]\n walkSync(\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): PathBase[]\n walkSync(opts: WalkOptionsWithFileTypesFalse): string[]\n walkSync(opts: WalkOptions): string[] | PathBase[]\n walkSync(entry: string | PathBase): PathBase[]\n walkSync(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesUnset | WalkOptionsWithFileTypesTrue,\n ): PathBase[]\n walkSync(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesFalse,\n ): string[]\n walkSync(\n entry: string | PathBase,\n opts: WalkOptions,\n ): PathBase[] | string[]\n walkSync(\n entry: string | PathBase | WalkOptions = this.cwd,\n opts: WalkOptions = {},\n ): PathBase[] | string[] {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n opts = entry\n entry = this.cwd\n }\n const {\n withFileTypes = true,\n follow = false,\n filter,\n walkFilter,\n } = opts\n const results: (string | PathBase)[] = []\n if (!filter || filter(entry)) {\n results.push(withFileTypes ? entry : entry.fullpath())\n }\n const dirs = new Set<PathBase>([entry])\n for (const dir of dirs) {\n const entries = dir.readdirSync()\n for (const e of entries) {\n if (!filter || filter(e)) {\n results.push(withFileTypes ? e : e.fullpath())\n }\n let r: PathBase | undefined = e\n if (e.isSymbolicLink()) {\n if (!(follow && (r = e.realpathSync()))) continue\n if (r.isUnknown()) r.lstatSync()\n }\n if (r.shouldWalk(dirs, walkFilter)) {\n dirs.add(r)\n }\n }\n }\n return results as string[] | PathBase[]\n }\n\n /**\n * Support for `for await`\n *\n * Alias for {@link PathScurryBase.iterate}\n *\n * Note: As of Node 19, this is very slow, compared to other methods of\n * walking. Consider using {@link PathScurryBase.stream} if memory overhead\n * and backpressure are concerns, or {@link PathScurryBase.walk} if not.\n */\n [Symbol.asyncIterator]() {\n return this.iterate()\n }\n\n /**\n * Async generator form of {@link PathScurryBase.walk}\n *\n * Note: As of Node 19, this is very slow, compared to other methods of\n * walking, especially if most/all of the directory tree has been previously\n * walked. Consider using {@link PathScurryBase.stream} if memory overhead\n * and backpressure are concerns, or {@link PathScurryBase.walk} if not.\n */\n iterate(): AsyncGenerator<PathBase, void, void>\n iterate(\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): AsyncGenerator<PathBase, void, void>\n iterate(\n opts: WalkOptionsWithFileTypesFalse,\n ): AsyncGenerator<string, void, void>\n iterate(opts: WalkOptions): AsyncGenerator<string | PathBase, void, void>\n iterate(entry: string | PathBase): AsyncGenerator<PathBase, void, void>\n iterate(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): AsyncGenerator<PathBase, void, void>\n iterate(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesFalse,\n ): AsyncGenerator<string, void, void>\n iterate(\n entry: string | PathBase,\n opts: WalkOptions,\n ): AsyncGenerator<PathBase | string, void, void>\n iterate(\n entry: string | PathBase | WalkOptions = this.cwd,\n options: WalkOptions = {},\n ): AsyncGenerator<PathBase | string, void, void> {\n // iterating async over the stream is significantly more performant,\n // especially in the warm-cache scenario, because it buffers up directory\n // entries in the background instead of waiting for a yield for each one.\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n options = entry\n entry = this.cwd\n }\n return this.stream(entry, options)[Symbol.asyncIterator]()\n }\n\n /**\n * Iterating over a PathScurry performs a synchronous walk.\n *\n * Alias for {@link PathScurryBase.iterateSync}\n */\n [Symbol.iterator]() {\n return this.iterateSync()\n }\n\n iterateSync(): Generator<PathBase, void, void>\n iterateSync(\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): Generator<PathBase, void, void>\n iterateSync(\n opts: WalkOptionsWithFileTypesFalse,\n ): Generator<string, void, void>\n iterateSync(opts: WalkOptions): Generator<string | PathBase, void, void>\n iterateSync(entry: string | PathBase): Generator<PathBase, void, void>\n iterateSync(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): Generator<PathBase, void, void>\n iterateSync(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesFalse,\n ): Generator<string, void, void>\n iterateSync(\n entry: string | PathBase,\n opts: WalkOptions,\n ): Generator<PathBase | string, void, void>\n *iterateSync(\n entry: string | PathBase | WalkOptions = this.cwd,\n opts: WalkOptions = {},\n ): Generator<PathBase | string, void, void> {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n opts = entry\n entry = this.cwd\n }\n const {\n withFileTypes = true,\n follow = false,\n filter,\n walkFilter,\n } = opts\n if (!filter || filter(entry)) {\n yield withFileTypes ? entry : entry.fullpath()\n }\n const dirs = new Set<PathBase>([entry])\n for (const dir of dirs) {\n const entries = dir.readdirSync()\n for (const e of entries) {\n if (!filter || filter(e)) {\n yield withFileTypes ? e : e.fullpath()\n }\n let r: PathBase | undefined = e\n if (e.isSymbolicLink()) {\n if (!(follow && (r = e.realpathSync()))) continue\n if (r.isUnknown()) r.lstatSync()\n }\n if (r.shouldWalk(dirs, walkFilter)) {\n dirs.add(r)\n }\n }\n }\n }\n\n /**\n * Stream form of {@link PathScurryBase.walk}\n *\n * Returns a Minipass stream that emits {@link PathBase} objects by default,\n * or strings if `{ withFileTypes: false }` is set in the options.\n */\n stream(): Minipass<PathBase>\n stream(\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): Minipass<PathBase>\n stream(opts: WalkOptionsWithFileTypesFalse): Minipass<string>\n stream(opts: WalkOptions): Minipass<string | PathBase>\n stream(entry: string | PathBase): Minipass<PathBase>\n stream(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesUnset | WalkOptionsWithFileTypesTrue,\n ): Minipass<PathBase>\n stream(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesFalse,\n ): Minipass<string>\n stream(\n entry: string | PathBase,\n opts: WalkOptions,\n ): Minipass<string> | Minipass<PathBase>\n stream(\n entry: string | PathBase | WalkOptions = this.cwd,\n opts: WalkOptions = {},\n ): Minipass<string> | Minipass<PathBase> {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n opts = entry\n entry = this.cwd\n }\n const {\n withFileTypes = true,\n follow = false,\n filter,\n walkFilter,\n } = opts\n const results = new Minipass<string | PathBase>({ objectMode: true })\n if (!filter || filter(entry)) {\n results.write(withFileTypes ? entry : entry.fullpath())\n }\n const dirs = new Set<PathBase>()\n const queue: PathBase[] = [entry]\n let processing = 0\n const process = () => {\n let paused = false\n while (!paused) {\n const dir = queue.shift()\n if (!dir) {\n if (processing === 0) results.end()\n return\n }\n\n processing++\n dirs.add(dir)\n\n const onReaddir = (\n er: null | NodeJS.ErrnoException,\n entries: PathBase[],\n didRealpaths: boolean = false,\n ) => {\n /* c8 ignore start */\n if (er) return results.emit('error', er)\n /* c8 ignore stop */\n if (follow && !didRealpaths) {\n const promises: Promise<PathBase | undefined>[] = []\n for (const e of entries) {\n if (e.isSymbolicLink()) {\n promises.push(\n e\n .realpath()\n .then((r: PathBase | undefined) =>\n r?.isUnknown() ? r.lstat() : r,\n ),\n )\n }\n }\n if (promises.length) {\n Promise.all(promises).then(() =>\n onReaddir(null, entries, true),\n )\n return\n }\n }\n\n for (const e of entries) {\n if (e && (!filter || filter(e))) {\n if (!results.write(withFileTypes ? e : e.fullpath())) {\n paused = true\n }\n }\n }\n\n processing--\n for (const e of entries) {\n const r = e.realpathCached() || e\n if (r.shouldWalk(dirs, walkFilter)) {\n queue.push(r)\n }\n }\n if (paused && !results.flowing) {\n results.once('drain', process)\n } else if (!sync) {\n process()\n }\n }\n\n // zalgo containment\n let sync = true\n dir.readdirCB(onReaddir, true)\n sync = false\n }\n }\n process()\n return results as Minipass<string> | Minipass<PathBase>\n }\n\n /**\n * Synchronous form of {@link PathScurryBase.stream}\n *\n * Returns a Minipass stream that emits {@link PathBase} objects by default,\n * or strings if `{ withFileTypes: false }` is set in the options.\n *\n * Will complete the walk in a single tick if the stream is consumed fully.\n * Otherwise, will pause as needed for stream backpressure.\n */\n streamSync(): Minipass<PathBase>\n streamSync(\n opts: WalkOptionsWithFileTypesTrue | WalkOptionsWithFileTypesUnset,\n ): Minipass<PathBase>\n streamSync(opts: WalkOptionsWithFileTypesFalse): Minipass<string>\n streamSync(opts: WalkOptions): Minipass<string | PathBase>\n streamSync(entry: string | PathBase): Minipass<PathBase>\n streamSync(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesUnset | WalkOptionsWithFileTypesTrue,\n ): Minipass<PathBase>\n streamSync(\n entry: string | PathBase,\n opts: WalkOptionsWithFileTypesFalse,\n ): Minipass<string>\n streamSync(\n entry: string | PathBase,\n opts: WalkOptions,\n ): Minipass<string> | Minipass<PathBase>\n streamSync(\n entry: string | PathBase | WalkOptions = this.cwd,\n opts: WalkOptions = {},\n ): Minipass<string> | Minipass<PathBase> {\n if (typeof entry === 'string') {\n entry = this.cwd.resolve(entry)\n } else if (!(entry instanceof PathBase)) {\n opts = entry\n entry = this.cwd\n }\n const {\n withFileTypes = true,\n follow = false,\n filter,\n walkFilter,\n } = opts\n const results = new Minipass<string | PathBase>({ objectMode: true })\n const dirs = new Set<PathBase>()\n if (!filter || filter(entry)) {\n results.write(withFileTypes ? entry : entry.fullpath())\n }\n const queue: PathBase[] = [entry]\n let processing = 0\n const process = () => {\n let paused = false\n while (!paused) {\n const dir = queue.shift()\n if (!dir) {\n if (processing === 0) results.end()\n return\n }\n processing++\n dirs.add(dir)\n\n const entries = dir.readdirSync()\n for (const e of entries) {\n if (!filter || filter(e)) {\n if (!results.write(withFileTypes ? e : e.fullpath())) {\n paused = true\n }\n }\n }\n processing--\n for (const e of entries) {\n let r: PathBase | undefined = e\n if (e.isSymbolicLink()) {\n if (!(follow && (r = e.realpathSync()))) continue\n if (r.isUnknown()) r.lstatSync()\n }\n if (r.shouldWalk(dirs, walkFilter)) {\n queue.push(r)\n }\n }\n }\n if (paused && !results.flowing) results.once('drain', process)\n }\n process()\n return results as Minipass<string> | Minipass<PathBase>\n }\n\n chdir(path: string | Path = this.cwd) {\n const oldCwd = this.cwd\n this.cwd = typeof path === 'string' ? this.cwd.resolve(path) : path\n this.cwd[setAsCwd](oldCwd)\n }\n}\n\n/**\n * Options provided to all walk methods.\n */\nexport interface WalkOptions {\n /**\n * Return results as {@link PathBase} objects rather than strings.\n * When set to false, results are fully resolved paths, as returned by\n * {@link PathBase.fullpath}.\n * @default true\n */\n withFileTypes?: boolean\n\n /**\n * Attempt to read directory entries from symbolic links. Otherwise, only\n * actual directories are traversed. Regardless of this setting, a given\n * target path will only ever be walked once, meaning that a symbolic link\n * to a previously traversed directory will never be followed.\n *\n * Setting this imposes a slight performance penalty, because `readlink`\n * must be called on all symbolic links encountered, in order to avoid\n * infinite cycles.\n * @default false\n */\n follow?: boolean\n\n /**\n * Only return entries where the provided function returns true.\n *\n * This will not prevent directories from being traversed, even if they do\n * not pass the filter, though it will prevent directories themselves from\n * being included in the result set. See {@link walkFilter}\n *\n * Asynchronous functions are not supported here.\n *\n * By default, if no filter is provided, all entries and traversed\n * directories are included.\n */\n filter?: (entry: PathBase) => boolean\n\n /**\n * Only traverse directories (and in the case of {@link follow} being set to\n * true, symbolic links to directories) if the provided function returns\n * true.\n *\n * This will not prevent directories from being included in the result set,\n * even if they do not pass the supplied filter function. See {@link filter}\n * to do that.\n *\n * Asynchronous functions are not supported here.\n */\n walkFilter?: (entry: PathBase) => boolean\n}\n\nexport type WalkOptionsWithFileTypesUnset = WalkOptions & {\n withFileTypes?: undefined\n}\nexport type WalkOptionsWithFileTypesTrue = WalkOptions & {\n withFileTypes: true\n}\nexport type WalkOptionsWithFileTypesFalse = WalkOptions & {\n withFileTypes: false\n}\n\n/**\n * Windows implementation of {@link PathScurryBase}\n *\n * Defaults to case insensitve, uses `'\\\\'` to generate path strings. Uses\n * {@link PathWin32} for Path objects.\n */\nexport class PathScurryWin32 extends PathScurryBase {\n /**\n * separator for generating path strings\n */\n sep: '\\\\' = '\\\\'\n\n constructor(\n cwd: URL | string = process.cwd(),\n opts: PathScurryOpts = {},\n ) {\n const { nocase = true } = opts\n super(cwd, win32, '\\\\', { ...opts, nocase })\n this.nocase = nocase\n for (let p: PathBase | undefined = this.cwd; p; p = p.parent) {\n p.nocase = this.nocase\n }\n }\n\n /**\n * @internal\n */\n parseRootPath(dir: string): string {\n // if the path starts with a single separator, it's not a UNC, and we'll\n // just get separator as the root, and driveFromUNC will return \\\n // In that case, mount \\ on the root from the cwd.\n return win32.parse(dir).root.toUpperCase()\n }\n\n /**\n * @internal\n */\n newRoot(fs: FSValue) {\n return new PathWin32(\n this.rootPath,\n IFDIR,\n undefined,\n this.roots,\n this.nocase,\n this.childrenCache(),\n { fs },\n )\n }\n\n /**\n * Return true if the provided path string is an absolute path\n */\n isAbsolute(p: string): boolean {\n return (\n p.startsWith('/') || p.startsWith('\\\\') || /^[a-z]:(\\/|\\\\)/i.test(p)\n )\n }\n}\n\n/**\n * {@link PathScurryBase} implementation for all posix systems other than Darwin.\n *\n * Defaults to case-sensitive matching, uses `'/'` to generate path strings.\n *\n * Uses {@link PathPosix} for Path objects.\n */\nexport class PathScurryPosix extends PathScurryBase {\n /**\n * separator for generating path strings\n */\n sep: '/' = '/'\n constructor(\n cwd: URL | string = process.cwd(),\n opts: PathScurryOpts = {},\n ) {\n const { nocase = false } = opts\n super(cwd, posix, '/', { ...opts, nocase })\n this.nocase = nocase\n }\n\n /**\n * @internal\n */\n parseRootPath(_dir: string): string {\n return '/'\n }\n\n /**\n * @internal\n */\n newRoot(fs: FSValue) {\n return new PathPosix(\n this.rootPath,\n IFDIR,\n undefined,\n this.roots,\n this.nocase,\n this.childrenCache(),\n { fs },\n )\n }\n\n /**\n * Return true if the provided path string is an absolute path\n */\n isAbsolute(p: string): boolean {\n return p.startsWith('/')\n }\n}\n\n/**\n * {@link PathScurryBase} implementation for Darwin (macOS) systems.\n *\n * Defaults to case-insensitive matching, uses `'/'` for generating path\n * strings.\n *\n * Uses {@link PathPosix} for Path objects.\n */\nexport class PathScurryDarwin extends PathScurryPosix {\n constructor(\n cwd: URL | string = process.cwd(),\n opts: PathScurryOpts = {},\n ) {\n const { nocase = true } = opts\n super(cwd, { ...opts, nocase })\n }\n}\n\n/**\n * Default {@link PathBase} implementation for the current platform.\n *\n * {@link PathWin32} on Windows systems, {@link PathPosix} on all others.\n */\nexport const Path = process.platform === 'win32' ? PathWin32 : PathPosix\nexport type Path = PathBase | InstanceType<typeof Path>\n\n/**\n * Default {@link PathScurryBase} implementation for the current platform.\n *\n * {@link PathScurryWin32} on Windows systems, {@link PathScurryDarwin} on\n * Darwin (macOS) systems, {@link PathScurryPosix} on all others.\n */\nexport const PathScurry:\n | typeof PathScurryWin32\n | typeof PathScurryDarwin\n | typeof PathScurryPosix =\n process.platform === 'win32' ? PathScurryWin32\n : process.platform === 'darwin' ? PathScurryDarwin\n : PathScurryPosix\nexport type PathScurry = PathScurryBase | InstanceType<typeof PathScurry>\n","// this is just a very light wrapper around 2 arrays with an offset index\n\nimport { GLOBSTAR } from 'minimatch'\nexport type MMPattern = string | RegExp | typeof GLOBSTAR\n\n// an array of length >= 1\nexport type PatternList = [p: MMPattern, ...rest: MMPattern[]]\nexport type UNCPatternList = [\n p0: '',\n p1: '',\n p2: string,\n p3: string,\n ...rest: MMPattern[],\n]\nexport type DrivePatternList = [p0: string, ...rest: MMPattern[]]\nexport type AbsolutePatternList = [p0: '', ...rest: MMPattern[]]\nexport type GlobList = [p: string, ...rest: string[]]\n\nconst isPatternList = (pl: MMPattern[]): pl is PatternList =>\n pl.length >= 1\nconst isGlobList = (gl: string[]): gl is GlobList => gl.length >= 1\n\n/**\n * An immutable-ish view on an array of glob parts and their parsed\n * results\n */\nexport class Pattern {\n readonly #patternList: PatternList\n readonly #globList: GlobList\n readonly #index: number\n readonly length: number\n readonly #platform: NodeJS.Platform\n #rest?: Pattern | null\n #globString?: string\n #isDrive?: boolean\n #isUNC?: boolean\n #isAbsolute?: boolean\n #followGlobstar: boolean = true\n\n constructor(\n patternList: MMPattern[],\n globList: string[],\n index: number,\n platform: NodeJS.Platform,\n ) {\n if (!isPatternList(patternList)) {\n throw new TypeError('empty pattern list')\n }\n if (!isGlobList(globList)) {\n throw new TypeError('empty glob list')\n }\n if (globList.length !== patternList.length) {\n throw new TypeError('mismatched pattern list and glob list lengths')\n }\n this.length = patternList.length\n if (index < 0 || index >= this.length) {\n throw new TypeError('index out of range')\n }\n this.#patternList = patternList\n this.#globList = globList\n this.#index = index\n this.#platform = platform\n\n // normalize root entries of absolute patterns on initial creation.\n if (this.#index === 0) {\n // c: => ['c:/']\n // C:/ => ['C:/']\n // C:/x => ['C:/', 'x']\n // //host/share => ['//host/share/']\n // //host/share/ => ['//host/share/']\n // //host/share/x => ['//host/share/', 'x']\n // /etc => ['/', 'etc']\n // / => ['/']\n if (this.isUNC()) {\n // '' / '' / 'host' / 'share'\n const [p0, p1, p2, p3, ...prest] = this.#patternList\n const [g0, g1, g2, g3, ...grest] = this.#globList\n if (prest[0] === '') {\n // ends in /\n prest.shift()\n grest.shift()\n }\n const p = [p0, p1, p2, p3, ''].join('/')\n const g = [g0, g1, g2, g3, ''].join('/')\n this.#patternList = [p, ...prest]\n this.#globList = [g, ...grest]\n this.length = this.#patternList.length\n } else if (this.isDrive() || this.isAbsolute()) {\n const [p1, ...prest] = this.#patternList\n const [g1, ...grest] = this.#globList\n if (prest[0] === '') {\n // ends in /\n prest.shift()\n grest.shift()\n }\n const p = (p1 as string) + '/'\n const g = g1 + '/'\n this.#patternList = [p, ...prest]\n this.#globList = [g, ...grest]\n this.length = this.#patternList.length\n }\n }\n }\n\n /**\n * The first entry in the parsed list of patterns\n */\n pattern(): MMPattern {\n return this.#patternList[this.#index] as MMPattern\n }\n\n /**\n * true of if pattern() returns a string\n */\n isString(): boolean {\n return typeof this.#patternList[this.#index] === 'string'\n }\n /**\n * true of if pattern() returns GLOBSTAR\n */\n isGlobstar(): boolean {\n return this.#patternList[this.#index] === GLOBSTAR\n }\n /**\n * true if pattern() returns a regexp\n */\n isRegExp(): boolean {\n return this.#patternList[this.#index] instanceof RegExp\n }\n\n /**\n * The /-joined set of glob parts that make up this pattern\n */\n globString(): string {\n return (this.#globString =\n this.#globString ||\n (this.#index === 0 ?\n this.isAbsolute() ?\n this.#globList[0] + this.#globList.slice(1).join('/')\n : this.#globList.join('/')\n : this.#globList.slice(this.#index).join('/')))\n }\n\n /**\n * true if there are more pattern parts after this one\n */\n hasMore(): boolean {\n return this.length > this.#index + 1\n }\n\n /**\n * The rest of the pattern after this part, or null if this is the end\n */\n rest(): Pattern | null {\n if (this.#rest !== undefined) return this.#rest\n if (!this.hasMore()) return (this.#rest = null)\n this.#rest = new Pattern(\n this.#patternList,\n this.#globList,\n this.#index + 1,\n this.#platform,\n )\n this.#rest.#isAbsolute = this.#isAbsolute\n this.#rest.#isUNC = this.#isUNC\n this.#rest.#isDrive = this.#isDrive\n return this.#rest\n }\n\n /**\n * true if the pattern represents a //unc/path/ on windows\n */\n isUNC(): boolean {\n const pl = this.#patternList\n return this.#isUNC !== undefined ?\n this.#isUNC\n : (this.#isUNC =\n this.#platform === 'win32' &&\n this.#index === 0 &&\n pl[0] === '' &&\n pl[1] === '' &&\n typeof pl[2] === 'string' &&\n !!pl[2] &&\n typeof pl[3] === 'string' &&\n !!pl[3])\n }\n\n // pattern like C:/...\n // split = ['C:', ...]\n // XXX: would be nice to handle patterns like `c:*` to test the cwd\n // in c: for *, but I don't know of a way to even figure out what that\n // cwd is without actually chdir'ing into it?\n /**\n * True if the pattern starts with a drive letter on Windows\n */\n isDrive(): boolean {\n const pl = this.#patternList\n return this.#isDrive !== undefined ?\n this.#isDrive\n : (this.#isDrive =\n this.#platform === 'win32' &&\n this.#index === 0 &&\n this.length > 1 &&\n typeof pl[0] === 'string' &&\n /^[a-z]:$/i.test(pl[0]))\n }\n\n // pattern = '/' or '/...' or '/x/...'\n // split = ['', ''] or ['', ...] or ['', 'x', ...]\n // Drive and UNC both considered absolute on windows\n /**\n * True if the pattern is rooted on an absolute path\n */\n isAbsolute(): boolean {\n const pl = this.#patternList\n return this.#isAbsolute !== undefined ?\n this.#isAbsolute\n : (this.#isAbsolute =\n (pl[0] === '' && pl.length > 1) ||\n this.isDrive() ||\n this.isUNC())\n }\n\n /**\n * consume the root of the pattern, and return it\n */\n root(): string {\n const p = this.#patternList[0]\n return (\n typeof p === 'string' && this.isAbsolute() && this.#index === 0\n ) ?\n p\n : ''\n }\n\n /**\n * Check to see if the current globstar pattern is allowed to follow\n * a symbolic link.\n */\n checkFollowGlobstar(): boolean {\n return !(\n this.#index === 0 ||\n !this.isGlobstar() ||\n !this.#followGlobstar\n )\n }\n\n /**\n * Mark that the current globstar pattern is following a symbolic link\n */\n markFollowGlobstar(): boolean {\n if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)\n return false\n this.#followGlobstar = false\n return true\n }\n}\n","// give it a pattern, and it'll be able to tell you if\n// a given path should be ignored.\n// Ignoring a path ignores its children if the pattern ends in /**\n// Ignores are always parsed in dot:true mode\n\nimport { Minimatch, MinimatchOptions } from 'minimatch'\nimport { Path } from 'path-scurry'\nimport { Pattern } from './pattern.js'\nimport { GlobWalkerOpts } from './walker.js'\n\nexport interface IgnoreLike {\n ignored?: (p: Path) => boolean\n childrenIgnored?: (p: Path) => boolean\n add?: (ignore: string) => void\n}\n\nconst defaultPlatform: NodeJS.Platform =\n (\n typeof process === 'object' &&\n process &&\n typeof process.platform === 'string'\n ) ?\n process.platform\n : 'linux'\n\n/**\n * Class used to process ignored patterns\n */\nexport class Ignore implements IgnoreLike {\n relative: Minimatch[]\n relativeChildren: Minimatch[]\n absolute: Minimatch[]\n absoluteChildren: Minimatch[]\n platform: NodeJS.Platform\n mmopts: MinimatchOptions\n\n constructor(\n ignored: string[],\n {\n nobrace,\n nocase,\n noext,\n noglobstar,\n platform = defaultPlatform,\n }: GlobWalkerOpts,\n ) {\n this.relative = []\n this.absolute = []\n this.relativeChildren = []\n this.absoluteChildren = []\n this.platform = platform\n this.mmopts = {\n dot: true,\n nobrace,\n nocase,\n noext,\n noglobstar,\n optimizationLevel: 2,\n platform,\n nocomment: true,\n nonegate: true,\n }\n for (const ign of ignored) this.add(ign)\n }\n\n add(ign: string) {\n // this is a little weird, but it gives us a clean set of optimized\n // minimatch matchers, without getting tripped up if one of them\n // ends in /** inside a brace section, and it's only inefficient at\n // the start of the walk, not along it.\n // It'd be nice if the Pattern class just had a .test() method, but\n // handling globstars is a bit of a pita, and that code already lives\n // in minimatch anyway.\n // Another way would be if maybe Minimatch could take its set/globParts\n // as an option, and then we could at least just use Pattern to test\n // for absolute-ness.\n // Yet another way, Minimatch could take an array of glob strings, and\n // a cwd option, and do the right thing.\n const mm = new Minimatch(ign, this.mmopts)\n for (let i = 0; i < mm.set.length; i++) {\n const parsed = mm.set[i]\n const globParts = mm.globParts[i]\n /* c8 ignore start */\n if (!parsed || !globParts) {\n throw new Error('invalid pattern object')\n }\n // strip off leading ./ portions\n // https://github.com/isaacs/node-glob/issues/570\n while (parsed[0] === '.' && globParts[0] === '.') {\n parsed.shift()\n globParts.shift()\n }\n /* c8 ignore stop */\n const p = new Pattern(parsed, globParts, 0, this.platform)\n const m = new Minimatch(p.globString(), this.mmopts)\n const children = globParts[globParts.length - 1] === '**'\n const absolute = p.isAbsolute()\n if (absolute) this.absolute.push(m)\n else this.relative.push(m)\n if (children) {\n if (absolute) this.absoluteChildren.push(m)\n else this.relativeChildren.push(m)\n }\n }\n }\n\n ignored(p: Path): boolean {\n const fullpath = p.fullpath()\n const fullpaths = `${fullpath}/`\n const relative = p.relative() || '.'\n const relatives = `${relative}/`\n for (const m of this.relative) {\n if (m.match(relative) || m.match(relatives)) return true\n }\n for (const m of this.absolute) {\n if (m.match(fullpath) || m.match(fullpaths)) return true\n }\n return false\n }\n\n childrenIgnored(p: Path): boolean {\n const fullpath = p.fullpath() + '/'\n const relative = (p.relative() || '.') + '/'\n for (const m of this.relativeChildren) {\n if (m.match(relative)) return true\n }\n for (const m of this.absoluteChildren) {\n if (m.match(fullpath)) return true\n }\n return false\n }\n}\n","// synchronous utility for filtering entries and calculating subwalks\n\nimport { GLOBSTAR, MMRegExp } from 'minimatch'\nimport { Path } from 'path-scurry'\nimport { MMPattern, Pattern } from './pattern.js'\nimport { GlobWalkerOpts } from './walker.js'\n\n/**\n * A cache of which patterns have been processed for a given Path\n */\nexport class HasWalkedCache {\n store: Map<string, Set<string>>\n constructor(store: Map<string, Set<string>> = new Map()) {\n this.store = store\n }\n copy() {\n return new HasWalkedCache(new Map(this.store))\n }\n hasWalked(target: Path, pattern: Pattern) {\n return this.store.get(target.fullpath())?.has(pattern.globString())\n }\n storeWalked(target: Path, pattern: Pattern) {\n const fullpath = target.fullpath()\n const cached = this.store.get(fullpath)\n if (cached) cached.add(pattern.globString())\n else this.store.set(fullpath, new Set([pattern.globString()]))\n }\n}\n\n/**\n * A record of which paths have been matched in a given walk step,\n * and whether they only are considered a match if they are a directory,\n * and whether their absolute or relative path should be returned.\n */\nexport class MatchRecord {\n store: Map<Path, number> = new Map()\n add(target: Path, absolute: boolean, ifDir: boolean) {\n const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0)\n const current = this.store.get(target)\n this.store.set(target, current === undefined ? n : n & current)\n }\n // match, absolute, ifdir\n entries(): [Path, boolean, boolean][] {\n return [...this.store.entries()].map(([path, n]) => [\n path,\n !!(n & 2),\n !!(n & 1),\n ])\n }\n}\n\n/**\n * A collection of patterns that must be processed in a subsequent step\n * for a given path.\n */\nexport class SubWalks {\n store: Map<Path, Pattern[]> = new Map()\n add(target: Path, pattern: Pattern) {\n if (!target.canReaddir()) {\n return\n }\n const subs = this.store.get(target)\n if (subs) {\n if (!subs.find(p => p.globString() === pattern.globString())) {\n subs.push(pattern)\n }\n } else this.store.set(target, [pattern])\n }\n get(target: Path): Pattern[] {\n const subs = this.store.get(target)\n /* c8 ignore start */\n if (!subs) {\n throw new Error('attempting to walk unknown path')\n }\n /* c8 ignore stop */\n return subs\n }\n entries(): [Path, Pattern[]][] {\n return this.keys().map(k => [k, this.store.get(k) as Pattern[]])\n }\n keys(): Path[] {\n return [...this.store.keys()].filter(t => t.canReaddir())\n }\n}\n\n/**\n * The class that processes patterns for a given path.\n *\n * Handles child entry filtering, and determining whether a path's\n * directory contents must be read.\n */\nexport class Processor {\n hasWalkedCache: HasWalkedCache\n matches = new MatchRecord()\n subwalks = new SubWalks()\n patterns?: Pattern[]\n follow: boolean\n dot: boolean\n opts: GlobWalkerOpts\n\n constructor(opts: GlobWalkerOpts, hasWalkedCache?: HasWalkedCache) {\n this.opts = opts\n this.follow = !!opts.follow\n this.dot = !!opts.dot\n this.hasWalkedCache =\n hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache()\n }\n\n processPatterns(target: Path, patterns: Pattern[]) {\n this.patterns = patterns\n const processingSet: [Path, Pattern][] = patterns.map(p => [target, p])\n\n // map of paths to the magic-starting subwalks they need to walk\n // first item in patterns is the filter\n\n for (let [t, pattern] of processingSet) {\n this.hasWalkedCache.storeWalked(t, pattern)\n\n const root = pattern.root()\n const absolute = pattern.isAbsolute() && this.opts.absolute !== false\n\n // start absolute patterns at root\n if (root) {\n t = t.resolve(\n root === '/' && this.opts.root !== undefined ?\n this.opts.root\n : root,\n )\n const rest = pattern.rest()\n if (!rest) {\n this.matches.add(t, true, false)\n continue\n } else {\n pattern = rest\n }\n }\n\n if (t.isENOENT()) continue\n\n let p: MMPattern\n let rest: Pattern | null\n let changed = false\n while (\n typeof (p = pattern.pattern()) === 'string' &&\n (rest = pattern.rest())\n ) {\n const c = t.resolve(p)\n t = c\n pattern = rest\n changed = true\n }\n p = pattern.pattern()\n rest = pattern.rest()\n if (changed) {\n if (this.hasWalkedCache.hasWalked(t, pattern)) continue\n this.hasWalkedCache.storeWalked(t, pattern)\n }\n\n // now we have either a final string for a known entry,\n // more strings for an unknown entry,\n // or a pattern starting with magic, mounted on t.\n if (typeof p === 'string') {\n // must not be final entry, otherwise we would have\n // concatenated it earlier.\n const ifDir = p === '..' || p === '' || p === '.'\n this.matches.add(t.resolve(p), absolute, ifDir)\n continue\n } else if (p === GLOBSTAR) {\n // if no rest, match and subwalk pattern\n // if rest, process rest and subwalk pattern\n // if it's a symlink, but we didn't get here by way of a\n // globstar match (meaning it's the first time THIS globstar\n // has traversed a symlink), then we follow it. Otherwise, stop.\n if (\n !t.isSymbolicLink() ||\n this.follow ||\n pattern.checkFollowGlobstar()\n ) {\n this.subwalks.add(t, pattern)\n }\n const rp = rest?.pattern()\n const rrest = rest?.rest()\n if (!rest || ((rp === '' || rp === '.') && !rrest)) {\n // only HAS to be a dir if it ends in **/ or **/.\n // but ending in ** will match files as well.\n this.matches.add(t, absolute, rp === '' || rp === '.')\n } else {\n if (rp === '..') {\n // this would mean you're matching **/.. at the fs root,\n // and no thanks, I'm not gonna test that specific case.\n /* c8 ignore start */\n const tp = t.parent || t\n /* c8 ignore stop */\n if (!rrest) this.matches.add(tp, absolute, true)\n else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {\n this.subwalks.add(tp, rrest)\n }\n }\n }\n } else if (p instanceof RegExp) {\n this.subwalks.add(t, pattern)\n }\n }\n\n return this\n }\n\n subwalkTargets(): Path[] {\n return this.subwalks.keys()\n }\n\n child() {\n return new Processor(this.opts, this.hasWalkedCache)\n }\n\n // return a new Processor containing the subwalks for each\n // child entry, and a set of matches, and\n // a hasWalkedCache that's a copy of this one\n // then we're going to call\n filterEntries(parent: Path, entries: Path[]): Processor {\n const patterns = this.subwalks.get(parent)\n // put matches and entry walks into the results processor\n const results = this.child()\n for (const e of entries) {\n for (const pattern of patterns) {\n const absolute = pattern.isAbsolute()\n const p = pattern.pattern()\n const rest = pattern.rest()\n if (p === GLOBSTAR) {\n results.testGlobstar(e, pattern, rest, absolute)\n } else if (p instanceof RegExp) {\n results.testRegExp(e, p, rest, absolute)\n } else {\n results.testString(e, p, rest, absolute)\n }\n }\n }\n return results\n }\n\n testGlobstar(\n e: Path,\n pattern: Pattern,\n rest: Pattern | null,\n absolute: boolean,\n ) {\n if (this.dot || !e.name.startsWith('.')) {\n if (!pattern.hasMore()) {\n this.matches.add(e, absolute, false)\n }\n if (e.canReaddir()) {\n // if we're in follow mode or it's not a symlink, just keep\n // testing the same pattern. If there's more after the globstar,\n // then this symlink consumes the globstar. If not, then we can\n // follow at most ONE symlink along the way, so we mark it, which\n // also checks to ensure that it wasn't already marked.\n if (this.follow || !e.isSymbolicLink()) {\n this.subwalks.add(e, pattern)\n } else if (e.isSymbolicLink()) {\n if (rest && pattern.checkFollowGlobstar()) {\n this.subwalks.add(e, rest)\n } else if (pattern.markFollowGlobstar()) {\n this.subwalks.add(e, pattern)\n }\n }\n }\n }\n // if the NEXT thing matches this entry, then also add\n // the rest.\n if (rest) {\n const rp = rest.pattern()\n if (\n typeof rp === 'string' &&\n // dots and empty were handled already\n rp !== '..' &&\n rp !== '' &&\n rp !== '.'\n ) {\n this.testString(e, rp, rest.rest(), absolute)\n } else if (rp === '..') {\n /* c8 ignore start */\n const ep = e.parent || e\n /* c8 ignore stop */\n this.subwalks.add(ep, rest)\n } else if (rp instanceof RegExp) {\n this.testRegExp(e, rp, rest.rest(), absolute)\n }\n }\n }\n\n testRegExp(\n e: Path,\n p: MMRegExp,\n rest: Pattern | null,\n absolute: boolean,\n ) {\n if (!p.test(e.name)) return\n if (!rest) {\n this.matches.add(e, absolute, false)\n } else {\n this.subwalks.add(e, rest)\n }\n }\n\n testString(e: Path, p: string, rest: Pattern | null, absolute: boolean) {\n // should never happen?\n if (!e.isNamed(p)) return\n if (!rest) {\n this.matches.add(e, absolute, false)\n } else {\n this.subwalks.add(e, rest)\n }\n }\n}\n","/**\n * Single-use utility classes to provide functionality to the {@link Glob}\n * methods.\n *\n * @module\n */\nimport { Minipass } from 'minipass'\nimport { Path } from 'path-scurry'\nimport { Ignore, IgnoreLike } from './ignore.js'\n\n// XXX can we somehow make it so that it NEVER processes a given path more than\n// once, enough that the match set tracking is no longer needed? that'd speed\n// things up a lot. Or maybe bring back nounique, and skip it in that case?\n\n// a single minimatch set entry with 1 or more parts\nimport { Pattern } from './pattern.js'\nimport { Processor } from './processor.js'\n\nexport interface GlobWalkerOpts {\n absolute?: boolean\n allowWindowsEscape?: boolean\n cwd?: string | URL\n dot?: boolean\n dotRelative?: boolean\n follow?: boolean\n ignore?: string | string[] | IgnoreLike\n mark?: boolean\n matchBase?: boolean\n // Note: maxDepth here means \"maximum actual Path.depth()\",\n // not \"maximum depth beyond cwd\"\n maxDepth?: number\n nobrace?: boolean\n nocase?: boolean\n nodir?: boolean\n noext?: boolean\n noglobstar?: boolean\n platform?: NodeJS.Platform\n posix?: boolean\n realpath?: boolean\n root?: string\n stat?: boolean\n signal?: AbortSignal\n windowsPathsNoEscape?: boolean\n withFileTypes?: boolean\n includeChildMatches?: boolean\n}\n\nexport type GWOFileTypesTrue = GlobWalkerOpts & {\n withFileTypes: true\n}\nexport type GWOFileTypesFalse = GlobWalkerOpts & {\n withFileTypes: false\n}\nexport type GWOFileTypesUnset = GlobWalkerOpts & {\n withFileTypes?: undefined\n}\n\nexport type Result<O extends GlobWalkerOpts> =\n O extends GWOFileTypesTrue ? Path\n : O extends GWOFileTypesFalse ? string\n : O extends GWOFileTypesUnset ? string\n : Path | string\n\nexport type Matches<O extends GlobWalkerOpts> =\n O extends GWOFileTypesTrue ? Set<Path>\n : O extends GWOFileTypesFalse ? Set<string>\n : O extends GWOFileTypesUnset ? Set<string>\n : Set<Path | string>\n\nexport type MatchStream<O extends GlobWalkerOpts> = Minipass<\n Result<O>,\n Result<O>\n>\n\nconst makeIgnore = (\n ignore: string | string[] | IgnoreLike,\n opts: GlobWalkerOpts,\n): IgnoreLike =>\n typeof ignore === 'string' ? new Ignore([ignore], opts)\n : Array.isArray(ignore) ? new Ignore(ignore, opts)\n : ignore\n\n/**\n * basic walking utilities that all the glob walker types use\n */\nexport abstract class GlobUtil<O extends GlobWalkerOpts = GlobWalkerOpts> {\n path: Path\n patterns: Pattern[]\n opts: O\n seen: Set<Path> = new Set<Path>()\n paused: boolean = false\n aborted: boolean = false\n #onResume: (() => any)[] = []\n #ignore?: IgnoreLike\n #sep: '\\\\' | '/'\n signal?: AbortSignal\n maxDepth: number\n includeChildMatches: boolean\n\n constructor(patterns: Pattern[], path: Path, opts: O)\n constructor(patterns: Pattern[], path: Path, opts: O) {\n this.patterns = patterns\n this.path = path\n this.opts = opts\n this.#sep = !opts.posix && opts.platform === 'win32' ? '\\\\' : '/'\n this.includeChildMatches = opts.includeChildMatches !== false\n if (opts.ignore || !this.includeChildMatches) {\n this.#ignore = makeIgnore(opts.ignore ?? [], opts)\n if (\n !this.includeChildMatches &&\n typeof this.#ignore.add !== 'function'\n ) {\n const m = 'cannot ignore child matches, ignore lacks add() method.'\n throw new Error(m)\n }\n }\n // ignore, always set with maxDepth, but it's optional on the\n // GlobOptions type\n /* c8 ignore start */\n this.maxDepth = opts.maxDepth || Infinity\n /* c8 ignore stop */\n if (opts.signal) {\n this.signal = opts.signal\n this.signal.addEventListener('abort', () => {\n this.#onResume.length = 0\n })\n }\n }\n\n #ignored(path: Path): boolean {\n return this.seen.has(path) || !!this.#ignore?.ignored?.(path)\n }\n #childrenIgnored(path: Path): boolean {\n return !!this.#ignore?.childrenIgnored?.(path)\n }\n\n // backpressure mechanism\n pause() {\n this.paused = true\n }\n resume() {\n /* c8 ignore start */\n if (this.signal?.aborted) return\n /* c8 ignore stop */\n this.paused = false\n let fn: (() => any) | undefined = undefined\n while (!this.paused && (fn = this.#onResume.shift())) {\n fn()\n }\n }\n onResume(fn: () => any) {\n if (this.signal?.aborted) return\n /* c8 ignore start */\n if (!this.paused) {\n fn()\n } else {\n /* c8 ignore stop */\n this.#onResume.push(fn)\n }\n }\n\n // do the requisite realpath/stat checking, and return the path\n // to add or undefined to filter it out.\n async matchCheck(e: Path, ifDir: boolean): Promise<Path | undefined> {\n if (ifDir && this.opts.nodir) return undefined\n let rpc: Path | undefined\n if (this.opts.realpath) {\n rpc = e.realpathCached() || (await e.realpath())\n if (!rpc) return undefined\n e = rpc\n }\n const needStat = e.isUnknown() || this.opts.stat\n const s = needStat ? await e.lstat() : e\n if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {\n const target = await s.realpath()\n /* c8 ignore start */\n if (target && (target.isUnknown() || this.opts.stat)) {\n await target.lstat()\n }\n /* c8 ignore stop */\n }\n return this.matchCheckTest(s, ifDir)\n }\n\n matchCheckTest(e: Path | undefined, ifDir: boolean): Path | undefined {\n return (\n e &&\n (this.maxDepth === Infinity || e.depth() <= this.maxDepth) &&\n (!ifDir || e.canReaddir()) &&\n (!this.opts.nodir || !e.isDirectory()) &&\n (!this.opts.nodir ||\n !this.opts.follow ||\n !e.isSymbolicLink() ||\n !e.realpathCached()?.isDirectory()) &&\n !this.#ignored(e)\n ) ?\n e\n : undefined\n }\n\n matchCheckSync(e: Path, ifDir: boolean): Path | undefined {\n if (ifDir && this.opts.nodir) return undefined\n let rpc: Path | undefined\n if (this.opts.realpath) {\n rpc = e.realpathCached() || e.realpathSync()\n if (!rpc) return undefined\n e = rpc\n }\n const needStat = e.isUnknown() || this.opts.stat\n const s = needStat ? e.lstatSync() : e\n if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {\n const target = s.realpathSync()\n if (target && (target?.isUnknown() || this.opts.stat)) {\n target.lstatSync()\n }\n }\n return this.matchCheckTest(s, ifDir)\n }\n\n abstract matchEmit(p: Result<O>): void\n abstract matchEmit(p: string | Path): void\n\n matchFinish(e: Path, absolute: boolean) {\n if (this.#ignored(e)) return\n // we know we have an ignore if this is false, but TS doesn't\n if (!this.includeChildMatches && this.#ignore?.add) {\n const ign = `${e.relativePosix()}/**`\n this.#ignore.add(ign)\n }\n const abs =\n this.opts.absolute === undefined ? absolute : this.opts.absolute\n this.seen.add(e)\n const mark = this.opts.mark && e.isDirectory() ? this.#sep : ''\n // ok, we have what we need!\n if (this.opts.withFileTypes) {\n this.matchEmit(e)\n } else if (abs) {\n const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath()\n this.matchEmit(abs + mark)\n } else {\n const rel = this.opts.posix ? e.relativePosix() : e.relative()\n const pre =\n this.opts.dotRelative && !rel.startsWith('..' + this.#sep) ?\n '.' + this.#sep\n : ''\n this.matchEmit(!rel ? '.' + mark : pre + rel + mark)\n }\n }\n\n async match(e: Path, absolute: boolean, ifDir: boolean): Promise<void> {\n const p = await this.matchCheck(e, ifDir)\n if (p) this.matchFinish(p, absolute)\n }\n\n matchSync(e: Path, absolute: boolean, ifDir: boolean): void {\n const p = this.matchCheckSync(e, ifDir)\n if (p) this.matchFinish(p, absolute)\n }\n\n walkCB(target: Path, patterns: Pattern[], cb: () => any) {\n /* c8 ignore start */\n if (this.signal?.aborted) cb()\n /* c8 ignore stop */\n this.walkCB2(target, patterns, new Processor(this.opts), cb)\n }\n\n walkCB2(\n target: Path,\n patterns: Pattern[],\n processor: Processor,\n cb: () => any,\n ) {\n if (this.#childrenIgnored(target)) return cb()\n if (this.signal?.aborted) cb()\n if (this.paused) {\n this.onResume(() => this.walkCB2(target, patterns, processor, cb))\n return\n }\n processor.processPatterns(target, patterns)\n\n // done processing. all of the above is sync, can be abstracted out.\n // subwalks is a map of paths to the entry filters they need\n // matches is a map of paths to [absolute, ifDir] tuples.\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n tasks++\n this.match(m, absolute, ifDir).then(() => next())\n }\n\n for (const t of processor.subwalkTargets()) {\n if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {\n continue\n }\n tasks++\n const childrenCached = t.readdirCached()\n if (t.calledReaddir())\n this.walkCB3(t, childrenCached, processor, next)\n else {\n t.readdirCB(\n (_, entries) => this.walkCB3(t, entries, processor, next),\n true,\n )\n }\n }\n\n next()\n }\n\n walkCB3(\n target: Path,\n entries: Path[],\n processor: Processor,\n cb: () => any,\n ) {\n processor = processor.filterEntries(target, entries)\n\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n tasks++\n this.match(m, absolute, ifDir).then(() => next())\n }\n for (const [target, patterns] of processor.subwalks.entries()) {\n tasks++\n this.walkCB2(target, patterns, processor.child(), next)\n }\n\n next()\n }\n\n walkCBSync(target: Path, patterns: Pattern[], cb: () => any) {\n /* c8 ignore start */\n if (this.signal?.aborted) cb()\n /* c8 ignore stop */\n this.walkCB2Sync(target, patterns, new Processor(this.opts), cb)\n }\n\n walkCB2Sync(\n target: Path,\n patterns: Pattern[],\n processor: Processor,\n cb: () => any,\n ) {\n if (this.#childrenIgnored(target)) return cb()\n if (this.signal?.aborted) cb()\n if (this.paused) {\n this.onResume(() =>\n this.walkCB2Sync(target, patterns, processor, cb),\n )\n return\n }\n processor.processPatterns(target, patterns)\n\n // done processing. all of the above is sync, can be abstracted out.\n // subwalks is a map of paths to the entry filters they need\n // matches is a map of paths to [absolute, ifDir] tuples.\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n this.matchSync(m, absolute, ifDir)\n }\n\n for (const t of processor.subwalkTargets()) {\n if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {\n continue\n }\n tasks++\n const children = t.readdirSync()\n this.walkCB3Sync(t, children, processor, next)\n }\n\n next()\n }\n\n walkCB3Sync(\n target: Path,\n entries: Path[],\n processor: Processor,\n cb: () => any,\n ) {\n processor = processor.filterEntries(target, entries)\n\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n this.matchSync(m, absolute, ifDir)\n }\n for (const [target, patterns] of processor.subwalks.entries()) {\n tasks++\n this.walkCB2Sync(target, patterns, processor.child(), next)\n }\n\n next()\n }\n}\n\nexport class GlobWalker<\n O extends GlobWalkerOpts = GlobWalkerOpts,\n> extends GlobUtil<O> {\n matches = new Set<Result<O>>()\n\n constructor(patterns: Pattern[], path: Path, opts: O) {\n super(patterns, path, opts)\n }\n\n matchEmit(e: Result<O>): void {\n this.matches.add(e)\n }\n\n async walk(): Promise<Set<Result<O>>> {\n if (this.signal?.aborted) throw this.signal.reason\n if (this.path.isUnknown()) {\n await this.path.lstat()\n }\n await new Promise((res, rej) => {\n this.walkCB(this.path, this.patterns, () => {\n if (this.signal?.aborted) {\n rej(this.signal.reason)\n } else {\n res(this.matches)\n }\n })\n })\n return this.matches\n }\n\n walkSync(): Set<Result<O>> {\n if (this.signal?.aborted) throw this.signal.reason\n if (this.path.isUnknown()) {\n this.path.lstatSync()\n }\n // nothing for the callback to do, because this never pauses\n this.walkCBSync(this.path, this.patterns, () => {\n if (this.signal?.aborted) throw this.signal.reason\n })\n return this.matches\n }\n}\n\nexport class GlobStream<\n O extends GlobWalkerOpts = GlobWalkerOpts,\n> extends GlobUtil<O> {\n results: Minipass<Result<O>, Result<O>>\n\n constructor(patterns: Pattern[], path: Path, opts: O) {\n super(patterns, path, opts)\n this.results = new Minipass<Result<O>, Result<O>>({\n signal: this.signal,\n objectMode: true,\n })\n this.results.on('drain', () => this.resume())\n this.results.on('resume', () => this.resume())\n }\n\n matchEmit(e: Result<O>): void {\n this.results.write(e)\n if (!this.results.flowing) this.pause()\n }\n\n stream(): MatchStream<O> {\n const target = this.path\n if (target.isUnknown()) {\n target.lstat().then(() => {\n this.walkCB(target, this.patterns, () => this.results.end())\n })\n } else {\n this.walkCB(target, this.patterns, () => this.results.end())\n }\n return this.results\n }\n\n streamSync(): MatchStream<O> {\n if (this.path.isUnknown()) {\n this.path.lstatSync()\n }\n this.walkCBSync(this.path, this.patterns, () => this.results.end())\n return this.results\n }\n}\n","import { Minimatch, MinimatchOptions } from 'minimatch'\nimport { Minipass } from 'minipass'\nimport { fileURLToPath } from 'node:url'\nimport {\n FSOption,\n Path,\n PathScurry,\n PathScurryDarwin,\n PathScurryPosix,\n PathScurryWin32,\n} from 'path-scurry'\nimport { IgnoreLike } from './ignore.js'\nimport { Pattern } from './pattern.js'\nimport { GlobStream, GlobWalker } from './walker.js'\n\nexport type MatchSet = Minimatch['set']\nexport type GlobParts = Exclude<Minimatch['globParts'], undefined>\n\n// if no process global, just call it linux.\n// so we default to case-sensitive, / separators\nconst defaultPlatform: NodeJS.Platform =\n (\n typeof process === 'object' &&\n process &&\n typeof process.platform === 'string'\n ) ?\n process.platform\n : 'linux'\n\n/**\n * A `GlobOptions` object may be provided to any of the exported methods, and\n * must be provided to the `Glob` constructor.\n *\n * All options are optional, boolean, and false by default, unless otherwise\n * noted.\n *\n * All resolved options are added to the Glob object as properties.\n *\n * If you are running many `glob` operations, you can pass a Glob object as the\n * `options` argument to a subsequent operation to share the previously loaded\n * cache.\n */\nexport interface GlobOptions {\n /**\n * Set to `true` to always receive absolute paths for\n * matched files. Set to `false` to always return relative paths.\n *\n * When this option is not set, absolute paths are returned for patterns\n * that are absolute, and otherwise paths are returned that are relative\n * to the `cwd` setting.\n *\n * This does _not_ make an extra system call to get\n * the realpath, it only does string path resolution.\n *\n * Conflicts with {@link withFileTypes}\n */\n absolute?: boolean\n\n /**\n * Set to false to enable {@link windowsPathsNoEscape}\n *\n * @deprecated\n */\n allowWindowsEscape?: boolean\n\n /**\n * The current working directory in which to search. Defaults to\n * `process.cwd()`.\n *\n * May be eiher a string path or a `file://` URL object or string.\n */\n cwd?: string | URL\n\n /**\n * Include `.dot` files in normal matches and `globstar`\n * matches. Note that an explicit dot in a portion of the pattern\n * will always match dot files.\n */\n dot?: boolean\n\n /**\n * Prepend all relative path strings with `./` (or `.\\` on Windows).\n *\n * Without this option, returned relative paths are \"bare\", so instead of\n * returning `'./foo/bar'`, they are returned as `'foo/bar'`.\n *\n * Relative patterns starting with `'../'` are not prepended with `./`, even\n * if this option is set.\n */\n dotRelative?: boolean\n\n /**\n * Follow symlinked directories when expanding `**`\n * patterns. This can result in a lot of duplicate references in\n * the presence of cyclic links, and make performance quite bad.\n *\n * By default, a `**` in a pattern will follow 1 symbolic link if\n * it is not the first item in the pattern, or none if it is the\n * first item in the pattern, following the same behavior as Bash.\n */\n follow?: boolean\n\n /**\n * string or string[], or an object with `ignore` and `ignoreChildren`\n * methods.\n *\n * If a string or string[] is provided, then this is treated as a glob\n * pattern or array of glob patterns to exclude from matches. To ignore all\n * children within a directory, as well as the entry itself, append `'/**'`\n * to the ignore pattern.\n *\n * **Note** `ignore` patterns are _always_ in `dot:true` mode, regardless of\n * any other settings.\n *\n * If an object is provided that has `ignored(path)` and/or\n * `childrenIgnored(path)` methods, then these methods will be called to\n * determine whether any Path is a match or if its children should be\n * traversed, respectively.\n */\n ignore?: string | string[] | IgnoreLike\n\n /**\n * Treat brace expansion like `{a,b}` as a \"magic\" pattern. Has no\n * effect if {@link nobrace} is set.\n *\n * Only has effect on the {@link hasMagic} function.\n */\n magicalBraces?: boolean\n\n /**\n * Add a `/` character to directory matches. Note that this requires\n * additional stat calls in some cases.\n */\n mark?: boolean\n\n /**\n * Perform a basename-only match if the pattern does not contain any slash\n * characters. That is, `*.js` would be treated as equivalent to\n * `**\\/*.js`, matching all js files in all directories.\n */\n matchBase?: boolean\n\n /**\n * Limit the directory traversal to a given depth below the cwd.\n * Note that this does NOT prevent traversal to sibling folders,\n * root patterns, and so on. It only limits the maximum folder depth\n * that the walk will descend, relative to the cwd.\n */\n maxDepth?: number\n\n /**\n * Do not expand `{a,b}` and `{1..3}` brace sets.\n */\n nobrace?: boolean\n\n /**\n * Perform a case-insensitive match. This defaults to `true` on macOS and\n * Windows systems, and `false` on all others.\n *\n * **Note** `nocase` should only be explicitly set when it is\n * known that the filesystem's case sensitivity differs from the\n * platform default. If set `true` on case-sensitive file\n * systems, or `false` on case-insensitive file systems, then the\n * walk may return more or less results than expected.\n */\n nocase?: boolean\n\n /**\n * Do not match directories, only files. (Note: to match\n * _only_ directories, put a `/` at the end of the pattern.)\n */\n nodir?: boolean\n\n /**\n * Do not match \"extglob\" patterns such as `+(a|b)`.\n */\n noext?: boolean\n\n /**\n * Do not match `**` against multiple filenames. (Ie, treat it as a normal\n * `*` instead.)\n *\n * Conflicts with {@link matchBase}\n */\n noglobstar?: boolean\n\n /**\n * Defaults to value of `process.platform` if available, or `'linux'` if\n * not. Setting `platform:'win32'` on non-Windows systems may cause strange\n * behavior.\n */\n platform?: NodeJS.Platform\n\n /**\n * Set to true to call `fs.realpath` on all of the\n * results. In the case of an entry that cannot be resolved, the\n * entry is omitted. This incurs a slight performance penalty, of\n * course, because of the added system calls.\n */\n realpath?: boolean\n\n /**\n *\n * A string path resolved against the `cwd` option, which\n * is used as the starting point for absolute patterns that start\n * with `/`, (but not drive letters or UNC paths on Windows).\n *\n * Note that this _doesn't_ necessarily limit the walk to the\n * `root` directory, and doesn't affect the cwd starting point for\n * non-absolute patterns. A pattern containing `..` will still be\n * able to traverse out of the root directory, if it is not an\n * actual root directory on the filesystem, and any non-absolute\n * patterns will be matched in the `cwd`. For example, the\n * pattern `/../*` with `{root:'/some/path'}` will return all\n * files in `/some`, not all files in `/some/path`. The pattern\n * `*` with `{root:'/some/path'}` will return all the entries in\n * the cwd, not the entries in `/some/path`.\n *\n * To start absolute and non-absolute patterns in the same\n * path, you can use `{root:''}`. However, be aware that on\n * Windows systems, a pattern like `x:/*` or `//host/share/*` will\n * _always_ start in the `x:/` or `//host/share` directory,\n * regardless of the `root` setting.\n */\n root?: string\n\n /**\n * A [PathScurry](http://npm.im/path-scurry) object used\n * to traverse the file system. If the `nocase` option is set\n * explicitly, then any provided `scurry` object must match this\n * setting.\n */\n scurry?: PathScurry\n\n /**\n * Call `lstat()` on all entries, whether required or not to determine\n * if it's a valid match. When used with {@link withFileTypes}, this means\n * that matches will include data such as modified time, permissions, and\n * so on. Note that this will incur a performance cost due to the added\n * system calls.\n */\n stat?: boolean\n\n /**\n * An AbortSignal which will cancel the Glob walk when\n * triggered.\n */\n signal?: AbortSignal\n\n /**\n * Use `\\\\` as a path separator _only_, and\n * _never_ as an escape character. If set, all `\\\\` characters are\n * replaced with `/` in the pattern.\n *\n * Note that this makes it **impossible** to match against paths\n * containing literal glob pattern characters, but allows matching\n * with patterns constructed using `path.join()` and\n * `path.resolve()` on Windows platforms, mimicking the (buggy!)\n * behavior of Glob v7 and before on Windows. Please use with\n * caution, and be mindful of [the caveat below about Windows\n * paths](#windows). (For legacy reasons, this is also set if\n * `allowWindowsEscape` is set to the exact value `false`.)\n */\n windowsPathsNoEscape?: boolean\n\n /**\n * Return [PathScurry](http://npm.im/path-scurry)\n * `Path` objects instead of strings. These are similar to a\n * NodeJS `Dirent` object, but with additional methods and\n * properties.\n *\n * Conflicts with {@link absolute}\n */\n withFileTypes?: boolean\n\n /**\n * An fs implementation to override some or all of the defaults. See\n * http://npm.im/path-scurry for details about what can be overridden.\n */\n fs?: FSOption\n\n /**\n * Just passed along to Minimatch. Note that this makes all pattern\n * matching operations slower and *extremely* noisy.\n */\n debug?: boolean\n\n /**\n * Return `/` delimited paths, even on Windows.\n *\n * On posix systems, this has no effect. But, on Windows, it means that\n * paths will be `/` delimited, and absolute paths will be their full\n * resolved UNC forms, eg instead of `'C:\\\\foo\\\\bar'`, it would return\n * `'//?/C:/foo/bar'`\n */\n posix?: boolean\n\n /**\n * Do not match any children of any matches. For example, the pattern\n * `**\\/foo` would match `a/foo`, but not `a/foo/b/foo` in this mode.\n *\n * This is especially useful for cases like \"find all `node_modules`\n * folders, but not the ones in `node_modules`\".\n *\n * In order to support this, the `Ignore` implementation must support an\n * `add(pattern: string)` method. If using the default `Ignore` class, then\n * this is fine, but if this is set to `false`, and a custom `Ignore` is\n * provided that does not have an `add()` method, then it will throw an\n * error.\n *\n * **Caveat** It *only* ignores matches that would be a descendant of a\n * previous match, and only if that descendant is matched *after* the\n * ancestor is encountered. Since the file system walk happens in\n * indeterminate order, it's possible that a match will already be added\n * before its ancestor, if multiple or braced patterns are used.\n *\n * For example:\n *\n * ```ts\n * const results = await glob([\n * // likely to match first, since it's just a stat\n * 'a/b/c/d/e/f',\n *\n * // this pattern is more complicated! It must to various readdir()\n * // calls and test the results against a regular expression, and that\n * // is certainly going to take a little bit longer.\n * //\n * // So, later on, it encounters a match at 'a/b/c/d/e', but it's too\n * // late to ignore a/b/c/d/e/f, because it's already been emitted.\n * 'a/[bdf]/?/[a-z]/*',\n * ], { includeChildMatches: false })\n * ```\n *\n * It's best to only set this to `false` if you can be reasonably sure that\n * no components of the pattern will potentially match one another's file\n * system descendants, or if the occasional included child entry will not\n * cause problems.\n *\n * @default true\n */\n includeChildMatches?: boolean\n}\n\nexport type GlobOptionsWithFileTypesTrue = GlobOptions & {\n withFileTypes: true\n // string options not relevant if returning Path objects.\n absolute?: undefined\n mark?: undefined\n posix?: undefined\n}\n\nexport type GlobOptionsWithFileTypesFalse = GlobOptions & {\n withFileTypes?: false\n}\n\nexport type GlobOptionsWithFileTypesUnset = GlobOptions & {\n withFileTypes?: undefined\n}\n\nexport type Result<Opts> =\n Opts extends GlobOptionsWithFileTypesTrue ? Path\n : Opts extends GlobOptionsWithFileTypesFalse ? string\n : Opts extends GlobOptionsWithFileTypesUnset ? string\n : string | Path\nexport type Results<Opts> = Result<Opts>[]\n\nexport type FileTypes<Opts> =\n Opts extends GlobOptionsWithFileTypesTrue ? true\n : Opts extends GlobOptionsWithFileTypesFalse ? false\n : Opts extends GlobOptionsWithFileTypesUnset ? false\n : boolean\n\n/**\n * An object that can perform glob pattern traversals.\n */\nexport class Glob<Opts extends GlobOptions> implements GlobOptions {\n absolute?: boolean\n cwd: string\n root?: string\n dot: boolean\n dotRelative: boolean\n follow: boolean\n ignore?: string | string[] | IgnoreLike\n magicalBraces: boolean\n mark?: boolean\n matchBase: boolean\n maxDepth: number\n nobrace: boolean\n nocase: boolean\n nodir: boolean\n noext: boolean\n noglobstar: boolean\n pattern: string[]\n platform: NodeJS.Platform\n realpath: boolean\n scurry: PathScurry\n stat: boolean\n signal?: AbortSignal\n windowsPathsNoEscape: boolean\n withFileTypes: FileTypes<Opts>\n includeChildMatches: boolean\n\n /**\n * The options provided to the constructor.\n */\n opts: Opts\n\n /**\n * An array of parsed immutable {@link Pattern} objects.\n */\n patterns: Pattern[]\n\n /**\n * All options are stored as properties on the `Glob` object.\n *\n * See {@link GlobOptions} for full options descriptions.\n *\n * Note that a previous `Glob` object can be passed as the\n * `GlobOptions` to another `Glob` instantiation to re-use settings\n * and caches with a new pattern.\n *\n * Traversal functions can be called multiple times to run the walk\n * again.\n */\n constructor(pattern: string | string[], opts: Opts) {\n /* c8 ignore start */\n if (!opts) throw new TypeError('glob options required')\n /* c8 ignore stop */\n this.withFileTypes = !!opts.withFileTypes as FileTypes<Opts>\n this.signal = opts.signal\n this.follow = !!opts.follow\n this.dot = !!opts.dot\n this.dotRelative = !!opts.dotRelative\n this.nodir = !!opts.nodir\n this.mark = !!opts.mark\n if (!opts.cwd) {\n this.cwd = ''\n } else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {\n opts.cwd = fileURLToPath(opts.cwd)\n }\n this.cwd = opts.cwd || ''\n this.root = opts.root\n this.magicalBraces = !!opts.magicalBraces\n this.nobrace = !!opts.nobrace\n this.noext = !!opts.noext\n this.realpath = !!opts.realpath\n this.absolute = opts.absolute\n this.includeChildMatches = opts.includeChildMatches !== false\n\n this.noglobstar = !!opts.noglobstar\n this.matchBase = !!opts.matchBase\n this.maxDepth =\n typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity\n this.stat = !!opts.stat\n this.ignore = opts.ignore\n\n if (this.withFileTypes && this.absolute !== undefined) {\n throw new Error('cannot set absolute and withFileTypes:true')\n }\n\n if (typeof pattern === 'string') {\n pattern = [pattern]\n }\n\n this.windowsPathsNoEscape =\n !!opts.windowsPathsNoEscape ||\n (opts as { allowWindowsEscape?: boolean }).allowWindowsEscape ===\n false\n\n if (this.windowsPathsNoEscape) {\n pattern = pattern.map(p => p.replace(/\\\\/g, '/'))\n }\n\n if (this.matchBase) {\n if (opts.noglobstar) {\n throw new TypeError('base matching requires globstar')\n }\n pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`))\n }\n\n this.pattern = pattern\n\n this.platform = opts.platform || defaultPlatform\n this.opts = { ...opts, platform: this.platform }\n if (opts.scurry) {\n this.scurry = opts.scurry\n if (\n opts.nocase !== undefined &&\n opts.nocase !== opts.scurry.nocase\n ) {\n throw new Error('nocase option contradicts provided scurry option')\n }\n } else {\n const Scurry =\n opts.platform === 'win32' ? PathScurryWin32\n : opts.platform === 'darwin' ? PathScurryDarwin\n : opts.platform ? PathScurryPosix\n : PathScurry\n this.scurry = new Scurry(this.cwd, {\n nocase: opts.nocase,\n fs: opts.fs,\n })\n }\n this.nocase = this.scurry.nocase\n\n // If you do nocase:true on a case-sensitive file system, then\n // we need to use regexps instead of strings for non-magic\n // path portions, because statting `aBc` won't return results\n // for the file `AbC` for example.\n const nocaseMagicOnly =\n this.platform === 'darwin' || this.platform === 'win32'\n\n const mmo: MinimatchOptions = {\n // default nocase based on platform\n ...opts,\n dot: this.dot,\n matchBase: this.matchBase,\n nobrace: this.nobrace,\n nocase: this.nocase,\n nocaseMagicOnly,\n nocomment: true,\n noext: this.noext,\n nonegate: true,\n optimizationLevel: 2,\n platform: this.platform,\n windowsPathsNoEscape: this.windowsPathsNoEscape,\n debug: !!this.opts.debug,\n }\n\n const mms = this.pattern.map(p => new Minimatch(p, mmo))\n const [matchSet, globParts] = mms.reduce(\n (set: [MatchSet, GlobParts], m) => {\n set[0].push(...m.set)\n set[1].push(...m.globParts)\n return set\n },\n [[], []],\n )\n this.patterns = matchSet.map((set, i) => {\n const g = globParts[i]\n /* c8 ignore start */\n if (!g) throw new Error('invalid pattern object')\n /* c8 ignore stop */\n return new Pattern(set, g, 0, this.platform)\n })\n }\n\n /**\n * Returns a Promise that resolves to the results array.\n */\n async walk(): Promise<Results<Opts>>\n async walk(): Promise<(string | Path)[]> {\n // Walkers always return array of Path objects, so we just have to\n // coerce them into the right shape. It will have already called\n // realpath() if the option was set to do so, so we know that's cached.\n // start out knowing the cwd, at least\n return [\n ...(await new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity ?\n this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n includeChildMatches: this.includeChildMatches,\n }).walk()),\n ]\n }\n\n /**\n * synchronous {@link Glob.walk}\n */\n walkSync(): Results<Opts>\n walkSync(): (string | Path)[] {\n return [\n ...new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity ?\n this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n includeChildMatches: this.includeChildMatches,\n }).walkSync(),\n ]\n }\n\n /**\n * Stream results asynchronously.\n */\n stream(): Minipass<Result<Opts>, Result<Opts>>\n stream(): Minipass<string | Path, string | Path> {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity ?\n this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n includeChildMatches: this.includeChildMatches,\n }).stream()\n }\n\n /**\n * Stream results synchronously.\n */\n streamSync(): Minipass<Result<Opts>, Result<Opts>>\n streamSync(): Minipass<string | Path, string | Path> {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity ?\n this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n includeChildMatches: this.includeChildMatches,\n }).streamSync()\n }\n\n /**\n * Default sync iteration function. Returns a Generator that\n * iterates over the results.\n */\n iterateSync(): Generator<Result<Opts>, void, void> {\n return this.streamSync()[Symbol.iterator]()\n }\n [Symbol.iterator]() {\n return this.iterateSync()\n }\n\n /**\n * Default async iteration function. Returns an AsyncGenerator that\n * iterates over the results.\n */\n iterate(): AsyncGenerator<Result<Opts>, void, void> {\n return this.stream()[Symbol.asyncIterator]()\n }\n [Symbol.asyncIterator]() {\n return this.iterate()\n }\n}\n","import { Minimatch } from 'minimatch'\nimport { GlobOptions } from './glob.js'\n\n/**\n * Return true if the patterns provided contain any magic glob characters,\n * given the options provided.\n *\n * Brace expansion is not considered \"magic\" unless the `magicalBraces` option\n * is set, as brace expansion just turns one string into an array of strings.\n * So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and\n * `'xby'` both do not contain any magic glob characters, and it's treated the\n * same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true`\n * is in the options, brace expansion _is_ treated as a pattern having magic.\n */\nexport const hasMagic = (\n pattern: string | string[],\n options: GlobOptions = {},\n): boolean => {\n if (!Array.isArray(pattern)) {\n pattern = [pattern]\n }\n for (const p of pattern) {\n if (new Minimatch(p, options).hasMagic()) return true\n }\n return false\n}\n","import { escape, unescape } from 'minimatch'\nimport { Minipass } from 'minipass'\nimport { Path } from 'path-scurry'\nimport type {\n GlobOptions,\n GlobOptionsWithFileTypesFalse,\n GlobOptionsWithFileTypesTrue,\n GlobOptionsWithFileTypesUnset,\n} from './glob.js'\nimport { Glob } from './glob.js'\nimport { hasMagic } from './has-magic.js'\n\nexport { escape, unescape } from 'minimatch'\nexport type {\n FSOption,\n Path,\n WalkOptions,\n WalkOptionsWithFileTypesTrue,\n WalkOptionsWithFileTypesUnset,\n} from 'path-scurry'\nexport { Glob } from './glob.js'\nexport type {\n GlobOptions,\n GlobOptionsWithFileTypesFalse,\n GlobOptionsWithFileTypesTrue,\n GlobOptionsWithFileTypesUnset,\n} from './glob.js'\nexport { hasMagic } from './has-magic.js'\nexport { Ignore } from './ignore.js'\nexport type { IgnoreLike } from './ignore.js'\nexport type { MatchStream } from './walker.js'\n\n/**\n * Syncronous form of {@link globStream}. Will read all the matches as fast as\n * you consume them, even all in a single tick if you consume them immediately,\n * but will still respond to backpressure if they're not consumed immediately.\n */\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Minipass<Path, Path>\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): Minipass<string, string>\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesUnset,\n): Minipass<string, string>\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptions,\n): Minipass<Path, Path> | Minipass<string, string>\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).streamSync()\n}\n\n/**\n * Return a stream that emits all the strings or `Path` objects and\n * then emits `end` when completed.\n */\nexport function globStream(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): Minipass<string, string>\nexport function globStream(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Minipass<Path, Path>\nexport function globStream(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): Minipass<string, string>\nexport function globStream(\n pattern: string | string[],\n options: GlobOptions,\n): Minipass<Path, Path> | Minipass<string, string>\nexport function globStream(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).stream()\n}\n\n/**\n * Synchronous form of {@link glob}\n */\nexport function globSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): string[]\nexport function globSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Path[]\nexport function globSync(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): string[]\nexport function globSync(\n pattern: string | string[],\n options: GlobOptions,\n): Path[] | string[]\nexport function globSync(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).walkSync()\n}\n\n/**\n * Perform an asynchronous glob search for the pattern(s) specified. Returns\n * [Path](https://isaacs.github.io/path-scurry/classes/PathBase) objects if the\n * {@link withFileTypes} option is set to `true`. See {@link GlobOptions} for\n * full option descriptions.\n */\nasync function glob_(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): Promise<string[]>\nasync function glob_(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Promise<Path[]>\nasync function glob_(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): Promise<string[]>\nasync function glob_(\n pattern: string | string[],\n options: GlobOptions,\n): Promise<Path[] | string[]>\nasync function glob_(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).walk()\n}\n\n/**\n * Return a sync iterator for walking glob pattern matches.\n */\nexport function globIterateSync(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): Generator<string, void, void>\nexport function globIterateSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Generator<Path, void, void>\nexport function globIterateSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): Generator<string, void, void>\nexport function globIterateSync(\n pattern: string | string[],\n options: GlobOptions,\n): Generator<Path, void, void> | Generator<string, void, void>\nexport function globIterateSync(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).iterateSync()\n}\n\n/**\n * Return an async iterator for walking glob pattern matches.\n */\nexport function globIterate(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): AsyncGenerator<string, void, void>\nexport function globIterate(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): AsyncGenerator<Path, void, void>\nexport function globIterate(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): AsyncGenerator<string, void, void>\nexport function globIterate(\n pattern: string | string[],\n options: GlobOptions,\n): AsyncGenerator<Path, void, void> | AsyncGenerator<string, void, void>\nexport function globIterate(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).iterate()\n}\n\n// aliases: glob.sync.stream() glob.stream.sync() glob.sync() etc\nexport const streamSync = globStreamSync\nexport const stream = Object.assign(globStream, { sync: globStreamSync })\nexport const iterateSync = globIterateSync\nexport const iterate = Object.assign(globIterate, {\n sync: globIterateSync,\n})\nexport const sync = Object.assign(globSync, {\n stream: globStreamSync,\n iterate: globIterateSync,\n})\n\nexport const glob = Object.assign(glob_, {\n glob: glob_,\n globSync,\n sync,\n globStream,\n stream,\n globStreamSync,\n streamSync,\n globIterate,\n iterate,\n globIterateSync,\n iterateSync,\n Glob,\n hasMagic,\n escape,\n unescape,\n})\nglob.glob = glob\n","import path from 'path';\nimport { glob } from 'glob';\n\nexport async function findComponentDirectories(\n baseDir: string,\n): Promise<string[]> {\n try {\n // Find directories containing component.yml files (with variants)\n const standardYmls = await glob(`${baseDir}/**/component.yml`);\n const namedYmls = await glob(`${baseDir}/**/*.component.yml`);\n\n // Combine results and remove duplicates\n const allComponentPaths = [...standardYmls, ...namedYmls];\n const uniqueDirs = new Set(\n allComponentPaths.map((filePath) => path.dirname(filePath)),\n );\n\n // Convert to array\n let componentDirs = Array.from(uniqueDirs).sort();\n\n // Remove SDCs\n let sdcs = await glob(`${baseDir}/**/*.twig`);\n sdcs = sdcs.map((sdc) => path.dirname(sdc));\n componentDirs = componentDirs.filter(\n (componentDir) => !sdcs.includes(componentDir),\n );\n\n return componentDirs;\n } catch (error) {\n console.error('Error finding component directories:', error);\n return [];\n }\n}\n","import path from 'path';\nimport * as p from '@clack/prompts';\n\nimport { getConfig } from '../config.js';\nimport { findComponentDirectories } from './find-component-directories.js';\n\n/**\n * Utility function to select local components for building/processing.\n * Can be reused across different commands like upload, build, etc.\n */\nexport async function selectLocalComponents(\n allFlag: boolean,\n message: string = 'Select components',\n baseDir?: string,\n): Promise<string[] | null> {\n // Get the base directory from config if not provided\n const config = getConfig();\n const searchDir = baseDir || config.componentDir;\n\n // Find component directories\n const componentDirs = await findComponentDirectories(searchDir);\n\n if (componentDirs.length === 0) {\n p.outro(`📂 No local components were found in ${searchDir}`);\n return null;\n }\n\n // Select all components if the --all flag is set.\n if (allFlag) {\n p.log.info(`Selected all components`);\n return componentDirs;\n }\n\n const selectedDirs = await p.multiselect({\n message,\n options: [\n {\n value: '_allComponents',\n label: 'All components',\n },\n ...componentDirs.map((dir) => ({\n value: dir,\n label: path.basename(dir),\n })),\n ],\n required: true,\n });\n\n if (p.isCancel(selectedDirs)) {\n p.cancel('Operation cancelled');\n return null;\n }\n\n const count = selectedDirs.includes('_allComponents')\n ? componentDirs.length\n : selectedDirs.length;\n\n const confirmBuild = await p.confirm({\n message: `Process ${count} components`,\n initialValue: true,\n });\n\n if (p.isCancel(confirmBuild) || !confirmBuild) {\n p.cancel('Operation cancelled');\n return null;\n }\n\n // If 'all' is selected, return all component directories.\n if (selectedDirs.includes('_allComponents')) {\n return componentDirs;\n }\n return selectedDirs;\n}\n","import chalk from 'chalk';\nimport * as p from '@clack/prompts';\n\nimport { ensureConfig, setConfig } from '../config.js';\nimport { buildTailwindForComponents } from '../utils/build-tailwind';\nimport { buildComponent } from '../utils/build.js';\nimport { reportResults } from '../utils/report-results';\nimport { selectLocalComponents } from '../utils/select-local-components.js';\n\nimport type { Command } from 'commander';\nimport type { Result } from '../types/Result.js';\n\ninterface BuildOptions {\n dir?: string;\n all?: boolean;\n tailwind?: boolean;\n clientId?: string;\n clientSecret?: string;\n siteUrl?: string;\n verbose?: boolean;\n}\n\n/**\n * Command for building all local components and Tailwind CSS.\n */\nexport function buildCommand(program: Command): void {\n program\n .command('build')\n .description('build local components and Tailwind CSS assets')\n .option(\n '-d, --dir <directory>',\n 'Component directory to build the components in',\n )\n .option('--all', 'Build all components')\n .option('--no-tailwind', 'Skip Tailwind CSS building')\n .option('--client-id <id>', 'Client ID')\n .option('--client-secret <secret>', 'Client Secret')\n .option('--site-url <url>', 'Site URL')\n .option('--verbose', 'Enable verbose output')\n .action(async (options: BuildOptions) => {\n p.intro('Drupal Canvas Component Build');\n\n const allFlag = options.all || false;\n const skipTailwind = !options.tailwind;\n\n if (options.dir) setConfig({ componentDir: options.dir });\n if (options.clientId) setConfig({ clientId: options.clientId });\n if (options.clientSecret)\n setConfig({ clientSecret: options.clientSecret });\n if (options.siteUrl) setConfig({ siteUrl: options.siteUrl });\n if (options.verbose) setConfig({ verbose: true });\n if (!skipTailwind) {\n await ensureConfig(['siteUrl', 'clientId', 'clientSecret']);\n }\n\n // Select components to build\n const selectedComponents = await selectLocalComponents(\n allFlag,\n 'Select components to build',\n );\n\n if (!selectedComponents || selectedComponents.length === 0) {\n return;\n }\n\n const componentLabelPluralized =\n selectedComponents.length === 1 ? 'component' : 'components';\n\n // Step 1: Build individual components\n const s1 = p.spinner();\n s1.start(`Building ${componentLabelPluralized}`);\n const results: Result[] = [];\n for (const componentDir of selectedComponents) {\n results.push(await buildComponent(componentDir));\n }\n\n s1.stop(\n chalk.green(\n `Processed ${selectedComponents.length} ${componentLabelPluralized}`,\n ),\n );\n // Report component build results\n reportResults(results, 'Built components', 'Component');\n if (results.map((result) => result.success).includes(false)) {\n process.exit(1);\n }\n\n if (skipTailwind) {\n p.log.info('Skipping Tailwind CSS build');\n } else {\n // Step 2: Build Tailwind CSS\n const s2 = p.spinner();\n s2.start('Building Tailwind CSS');\n const tailwindResult = await buildTailwindForComponents(\n selectedComponents as string[],\n );\n s2.stop(\n chalk.green(\n `Processed Tailwind CSS classes from ${selectedComponents.length} selected local ${componentLabelPluralized} and all online components`,\n ),\n );\n\n // Report Tailwind CSS results in separate table\n reportResults([tailwindResult], 'Built assets', 'Asset');\n\n if (!tailwindResult.success) {\n return process.exit(1);\n }\n }\n\n p.outro(`📦 Build completed`);\n });\n}\n","import fs from 'fs/promises';\nimport path from 'path';\nimport chalk from 'chalk';\nimport yaml from 'js-yaml';\nimport * as p from '@clack/prompts';\n\nimport { ensureConfig, getConfig, setConfig } from '../config';\nimport { createApiService } from '../services/api';\nimport { reportResults } from '../utils/report-results';\nimport { directoryExists } from '../utils/utils';\n\nimport type { Command } from 'commander';\nimport type { Component } from '../types/Component';\nimport type { Metadata } from '../types/Metadata';\nimport type { Result } from '../types/Result';\n\ninterface DownloadOptions {\n clientId?: string;\n clientSecret?: string;\n siteUrl?: string;\n scope?: string;\n dir?: string;\n component?: string;\n all?: boolean; // Download all components\n verbose?: boolean;\n}\n\n// @todo: Support non-interactive download if user passes all necessary args in.\nexport function downloadCommand(program: Command): void {\n program\n .command('download')\n .description('download components to your local filesystem')\n .option('--client-id <id>', 'Client ID')\n .option('--client-secret <secret>', 'Client Secret')\n .option('--site-url <url>', 'Site URL')\n .option('--scope <scope>', 'Scope')\n .option('-d, --dir <directory>', 'Component directory')\n .option('-c, --component <name>', 'Specific component to download')\n .option('--all', 'Download all components')\n .option('--verbose', 'Enable verbose output')\n .action(async (options: DownloadOptions) => {\n p.intro('Drupal Canvas Component Download');\n\n try {\n // Update config with CLI options\n if (options.clientId) setConfig({ clientId: options.clientId });\n if (options.clientSecret)\n setConfig({ clientSecret: options.clientSecret });\n if (options.siteUrl) setConfig({ siteUrl: options.siteUrl });\n if (options.dir) setConfig({ componentDir: options.dir });\n if (options.all) setConfig({ all: options.all });\n if (options.scope) setConfig({ scope: options.scope });\n if (options.verbose) setConfig({ verbose: true });\n // Ensure all required config is present\n await ensureConfig([\n 'siteUrl',\n 'clientId',\n 'clientSecret',\n 'scope',\n 'componentDir',\n ]);\n\n const config = getConfig();\n const apiService = await createApiService();\n\n // Get components\n const s = p.spinner();\n s.start('Fetching components');\n\n const components = await apiService.listComponents();\n const {\n css: { original: globalCss },\n } = await apiService.getGlobalAssetLibrary();\n\n if (Object.keys(components).length === 0) {\n s.stop('No components found');\n p.outro('Download cancelled - no components were found');\n return;\n }\n\n s.stop(`Found ${Object.keys(components).length} components`);\n\n // If a specific component was requested, filter for it\n let componentsToDownload: Record<string, Component> = {};\n\n // If --all option is used, download all components.\n if (options.all) {\n // Download all components\n componentsToDownload = components;\n } else if (options.component) {\n const component = Object.values(components).find(\n (c) =>\n c.machineName === options.component ||\n c.name === options.component,\n );\n if (!component) {\n p.note(chalk.red(`Component \"${options.component}\" not found`));\n p.outro('Download cancelled');\n return;\n }\n componentsToDownload = { component };\n } else {\n // Choose components to download\n const selectedComponents = await p.multiselect({\n message: 'Select components to download',\n options: [\n {\n value: '_allComponents',\n label: 'All components',\n },\n ...Object.keys(components).map((key) => ({\n value: components[key].machineName,\n label: `${components[key].name} (${components[key].machineName})`,\n })),\n ],\n required: true,\n });\n\n if (p.isCancel(selectedComponents)) {\n p.cancel('Operation cancelled');\n return;\n }\n\n // Check if \"all\" option is selected\n if (selectedComponents.includes('_allComponents')) {\n componentsToDownload = components;\n } else {\n componentsToDownload = Object.fromEntries(\n Object.entries(components).filter(([, component]) =>\n (selectedComponents as string[]).includes(\n component.machineName,\n ),\n ),\n );\n }\n }\n\n // Handle singular/plural cases for console messages.\n const componentPluralized = `component${Object.keys(componentsToDownload).length > 1 ? 's' : ''}`;\n\n // Confirm download\n const confirmDownload = await p.confirm({\n message: `Download ${Object.keys(componentsToDownload).length} ${componentPluralized} to ${config.componentDir}?`,\n initialValue: true,\n });\n\n if (p.isCancel(confirmDownload) || !confirmDownload) {\n p.cancel('Operation cancelled');\n return;\n }\n\n // Download components\n const results: Result[] = [];\n\n s.start(`Downloading ${componentPluralized}`);\n\n for (const key in componentsToDownload) {\n const component = componentsToDownload[key];\n try {\n // Create component directory structure\n const componentDir = path.join(\n config.componentDir,\n component.machineName,\n );\n // Check if the directory exists and is non-empty to confirm deletion.\n const dirExists = await directoryExists(componentDir);\n if (dirExists) {\n const files = await fs.readdir(componentDir);\n if (files.length > 0) {\n const confirmDelete = await p.confirm({\n message: `The \"${componentDir}\" directory is not empty. Are you sure you want to delete and overwrite this directory?`,\n initialValue: true,\n });\n if (p.isCancel(confirmDelete) || !confirmDelete) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n }\n }\n\n await fs.rm(componentDir, { recursive: true, force: true });\n await fs.mkdir(componentDir, { recursive: true });\n\n // Create component.yml metadata file\n const metadata: Metadata = {\n name: component.name,\n machineName: component.machineName,\n status: component.status,\n required: component.required || [],\n props: {\n properties: component.props || {},\n },\n slots: component.slots || {},\n importedJsComponents: component.importedJsComponents || [],\n dataDependencies: component.dataDependencies || [],\n };\n\n await fs.writeFile(\n path.join(componentDir, `component.yml`),\n yaml.dump(metadata),\n 'utf-8',\n );\n\n // Create JS file\n if (component.sourceCodeJs) {\n await fs.writeFile(\n path.join(componentDir, `index.jsx`),\n component.sourceCodeJs,\n 'utf-8',\n );\n }\n\n // Create CSS file\n if (component.sourceCodeCss) {\n await fs.writeFile(\n path.join(componentDir, `index.css`),\n component.sourceCodeCss,\n 'utf-8',\n );\n }\n\n results.push({\n itemName: component.machineName,\n success: true,\n });\n } catch (error) {\n results.push({\n itemName: component.machineName,\n success: false,\n details: [\n {\n content:\n error instanceof Error ? error.message : String(error),\n },\n ],\n });\n }\n }\n s.stop(\n chalk.green(\n `Processed ${Object.keys(componentsToDownload).length} ${componentPluralized}`,\n ),\n );\n\n reportResults(results, 'Downloaded components', 'Component');\n\n // Create global.css file if it exists.\n if (globalCss) {\n let globalCssResult: Result;\n try {\n const globalCssPath = path.join(config.componentDir, 'global.css');\n await fs.writeFile(globalCssPath, globalCss, 'utf-8');\n globalCssResult = {\n itemName: 'global.css',\n success: true,\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n globalCssResult = {\n itemName: 'global.css',\n success: false,\n details: [\n {\n content: errorMessage,\n },\n ],\n };\n }\n reportResults([globalCssResult], 'Downloaded assets', 'Asset');\n }\n\n p.outro(`⬇️ Download command completed`);\n } catch (error) {\n if (error instanceof Error) {\n p.note(chalk.red(`Error: ${error.message}`));\n } else {\n p.note(chalk.red(`Unknown error: ${String(error)}`));\n }\n process.exit(1);\n }\n });\n}\n","import fs from 'fs/promises';\nimport path from 'path';\nimport chalk from 'chalk';\nimport * as p from '@clack/prompts';\n\nimport { getConfig, setConfig } from '../config.js';\n\nimport type { Command } from 'commander';\n\ninterface ScaffoldOptions {\n name?: string;\n dir?: string;\n verbose?: boolean;\n}\n\n// @todo: Support non-interactive scaffold if user passes all necessary args in.\n/**\n * Scaffolding command for creating an example React component.\n */\nexport function scaffoldCommand(program: Command): void {\n program\n .command('scaffold')\n .description('create a new code component scaffold for Drupal Canvas')\n .option(\n '-n, --name <n>',\n 'Component name (used for directory and metadata)',\n )\n .option(\n '-d, --dir <directory>',\n 'Component directory to create component in',\n )\n .option('--verbose', 'Enable verbose output')\n .action(async (options: ScaffoldOptions) => {\n p.intro('Drupal Canvas Component Scaffold');\n\n try {\n // Update config with CLI options\n if (options.dir) setConfig({ componentDir: options.dir });\n if (options.verbose) setConfig({ verbose: options.verbose });\n const config = getConfig();\n const baseDir = config.componentDir;\n\n // Get component name\n let componentName = options.name;\n if (!componentName) {\n const name = await p.text({\n message: 'Enter the component name',\n placeholder: 'my-component',\n validate: (value) => {\n if (!value) return 'Component name is required';\n if (!/^[a-zA-Z0-9-_]+$/.test(value))\n return 'Component name can only contain letters, numbers, hyphens, and underscores';\n return;\n },\n });\n\n if (p.isCancel(name)) {\n p.cancel('Operation cancelled');\n return;\n }\n\n componentName = name;\n }\n\n const componentDir = path.join(baseDir, componentName);\n const s = p.spinner();\n s.start(`Creating component \"${componentName}\"`);\n\n try {\n // Create directory\n await fs.mkdir(componentDir, { recursive: true });\n\n // Get template directory path\n const templateDir = path.join(\n path.dirname(new URL(import.meta.url).pathname),\n 'templates/hello-world',\n );\n\n // List template files\n const files = await fs.readdir(templateDir);\n\n const newDirFiles = await fs.readdir(componentDir);\n\n // Check with the user if the directory has existing files.\n if (newDirFiles.length > 0) {\n const confirmDelete = await p.confirm({\n message: `The \"${componentDir}\" directory is not empty. Do you want to proceed and potentially overwrite existing files?`,\n initialValue: true,\n });\n if (p.isCancel(confirmDelete) || !confirmDelete) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n }\n\n // Copy and process each template file\n for (const file of files) {\n const srcPath = path.join(templateDir, file);\n const destPath = path.join(componentDir, file);\n\n // Read template content\n let content = await fs.readFile(srcPath, 'utf-8');\n\n // Replace placeholders with correctly formatted component name.\n const { pascalCaseName, className, displayName, machineName } =\n generateComponentNameFormats(componentName);\n content = content\n .replace(/HelloWorld/g, pascalCaseName)\n .replace(/hello-world-component/g, className)\n .replace(/Hello World/g, displayName)\n .replace(/hello_world/g, machineName);\n\n // Write processed file\n await fs.writeFile(destPath, content, 'utf-8');\n }\n\n s.stop(chalk.green(`Created component \"${componentName}\"`));\n\n // Show summary and next steps\n p.note(`Component \"${componentName}\" has been created:\n- Directory: ${componentDir}\n- Component metadata: ${path.join(componentDir, `component.yml`)}\n- Source file: ${path.join(componentDir, `index.jsx`)}\n- CSS file: ${path.join(componentDir, `index.css`)}`);\n\n p.outro('🏗️ Scaffold command completed');\n } catch (error) {\n s.stop(chalk.red(`Failed to create component \"${componentName}\"`));\n throw error;\n }\n } catch (error) {\n if (error instanceof Error) {\n p.note(chalk.red(`Error: ${error.message}`));\n } else {\n p.note(chalk.red(`Unknown error: ${String(error)}`));\n }\n process.exit(1);\n }\n });\n}\n\n/**\n * Generates different case formats for a component name.\n * @param componentName\n * @returns Object containing different case formats\n */\nfunction generateComponentNameFormats(componentName: string) {\n const pascalCaseName = componentName\n .replace(/[-_\\s]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))\n .replace(/^(.)/, (c) => c.toUpperCase());\n\n const displayName = componentName\n .replace(/-/g, ' ')\n .replace(/_/g, ' ')\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n\n const machineName = componentName.replace(/-/g, '_').toLowerCase();\n\n return {\n pascalCaseName,\n displayName,\n machineName,\n className: `${componentName}-component`,\n };\n}\n","import { promises as fs } from 'fs';\nimport path from 'path';\nimport * as yaml from 'js-yaml';\n\nimport type { Component } from '../types/Component';\nimport type { Metadata } from '../types/Metadata';\n\n/**\n * Process and read component files\n * @param componentDir Component directory path\n * @returns Processed component files and paths\n */\nexport async function processComponentFiles(componentDir: string): Promise<{\n sourceCodeJs: string;\n compiledJs: string;\n sourceCodeCss: string;\n compiledCss: string;\n metadata: Metadata | undefined;\n}> {\n const metadataPath = await findMetadataPath(componentDir);\n const metadata = await readComponentMetadata(metadataPath);\n const distDir = path.join(componentDir, 'dist');\n const sourceCodeJs = await fs.readFile(\n path.join(componentDir, 'index.jsx'),\n 'utf-8',\n );\n const compiledJs = await fs.readFile(path.join(distDir, 'index.js'), 'utf-8');\n\n let sourceCodeCss = '';\n let compiledCss = '';\n\n try {\n sourceCodeCss = await fs.readFile(\n path.join(componentDir, 'index.css'),\n 'utf-8',\n );\n // If source CSS exists, compiled CSS should also exist\n compiledCss = await fs.readFile(path.join(distDir, 'index.css'), 'utf-8');\n } catch {\n // CSS files don't exist, use empty strings\n }\n\n return {\n sourceCodeJs,\n compiledJs,\n sourceCodeCss,\n compiledCss,\n metadata,\n };\n}\n\n/**\n * Find the component metadata file\n * @param componentDir Component directory path\n * @returns Path to the found metadata file\n */\nexport async function findMetadataPath(componentDir: string): Promise<string> {\n const metadataPath = path.join(componentDir, 'component.yml');\n\n try {\n await fs.access(metadataPath);\n return metadataPath;\n } catch (e) {\n console.error(`Error finding component metadata at ${metadataPath}:`, e);\n }\n return '';\n}\n\n/**\n * Reads and validates component metadata from a YAML file\n * @param filePath Path to the YAML file\n * @returns Properly structured component metadata\n */\nexport async function readComponentMetadata(\n filePath: string,\n): Promise<Metadata | undefined> {\n try {\n const content = await fs.readFile(filePath, 'utf-8');\n // Make sure we return an object even if the file is empty\n const rawMetadata = yaml.load(content) || {};\n\n if (typeof rawMetadata !== 'object') {\n console.error(\n `Invalid metadata format in ${filePath}. Expected an object, got ${typeof rawMetadata}`,\n );\n return undefined;\n }\n\n // Basic validation and normalization\n const metadata = rawMetadata as Metadata;\n\n // Ensure other required fields\n if (!metadata.name) {\n metadata.name = path.basename(path.dirname(filePath));\n }\n if (!metadata.machineName) {\n metadata.machineName = path.basename(path.dirname(filePath));\n }\n\n if (!metadata.slots || typeof metadata.slots !== 'object') {\n metadata.slots = {};\n }\n\n return metadata;\n } catch (error) {\n console.error(`Error reading component metadata from ${filePath}:`, error);\n return undefined;\n }\n}\n\n/**\n * Creates a standardized component payload for API requests\n * @param params Component payload parameters\n * @returns Component payload for API\n */\nexport function createComponentPayload(params: {\n metadata: Metadata;\n machineName: string;\n componentName: string;\n sourceCodeJs: string;\n compiledJs: string;\n sourceCodeCss: string;\n compiledCss: string;\n importedJsComponents: string[];\n}): Component {\n const {\n metadata,\n machineName,\n componentName,\n sourceCodeJs,\n compiledJs,\n sourceCodeCss,\n compiledCss,\n } = params;\n\n // Ensure props is correctly structured\n const propsData = metadata.props.properties;\n\n // Ensure slots has correct format\n let slotsData = metadata.slots || {};\n if (typeof slotsData === 'string' || Array.isArray(slotsData)) {\n slotsData = {};\n }\n\n return {\n machineName,\n name: metadata.name || componentName,\n status: true,\n required: Array.isArray(metadata.required) ? metadata.required : [],\n props: propsData,\n slots: slotsData,\n sourceCodeJs: sourceCodeJs,\n compiledJs: compiledJs,\n sourceCodeCss: sourceCodeCss,\n compiledCss: compiledCss,\n importedJsComponents: metadata.importedJsComponents || [],\n dataDependencies: metadata.dataDependencies || [],\n };\n}\n","import fs from 'fs/promises';\nimport path from 'path';\nimport chalk from 'chalk';\nimport * as p from '@clack/prompts';\n\nimport { ensureConfig, getConfig, setConfig } from '../config.js';\nimport { createApiService } from '../services/api.js';\nimport { buildComponent } from '../utils/build';\nimport { buildTailwindForComponents } from '../utils/build-tailwind.js';\nimport {\n createComponentPayload,\n processComponentFiles,\n} from '../utils/process-component-files.js';\nimport { reportResults } from '../utils/report-results';\nimport { selectLocalComponents } from '../utils/select-local-components.js';\nimport { fileExists } from '../utils/utils';\n\nimport type { Command } from 'commander';\nimport type { ApiService } from '../services/api.js';\nimport type { Result } from '../types/Result.js';\n\ninterface UploadOptions {\n clientId?: string;\n clientSecret?: string;\n siteUrl?: string;\n scope?: string;\n dir?: string;\n verbose?: boolean;\n all?: boolean;\n tailwind?: boolean;\n}\n\n/**\n * Registers the upload command. Scripts that run on CI should use the --all flag.\n */\nexport function uploadCommand(program: Command): void {\n program\n .command('upload')\n .description('build and upload local components and global CSS assets')\n .option('--client-id <id>', 'Client ID')\n .option('--client-secret <secret>', 'Client Secret')\n .option('--site-url <url>', 'Site URL')\n .option('--scope <scope>', 'Scope')\n .option('-d, --dir <directory>', 'Component directory')\n .option('--all', 'Upload all components')\n .option('--verbose', 'Verbose output')\n .option('--no-tailwind', 'Skip Tailwind CSS building')\n .action(async (options: UploadOptions) => {\n const allFlag = options.all || false;\n const skipTailwind = !options.tailwind;\n\n try {\n p.intro('Drupal Canvas Component Upload');\n\n // Update config with CLI options\n if (options.clientId) setConfig({ clientId: options.clientId });\n if (options.clientSecret)\n setConfig({ clientSecret: options.clientSecret });\n if (options.siteUrl) setConfig({ siteUrl: options.siteUrl });\n if (options.dir) setConfig({ componentDir: options.dir });\n if (options.scope) setConfig({ scope: options.scope });\n if (options.all) setConfig({ all: options.all });\n if (options.verbose) setConfig({ verbose: options.verbose });\n // Ensure all required config is present\n await ensureConfig([\n 'siteUrl',\n 'clientId',\n 'clientSecret',\n 'scope',\n 'componentDir',\n ]);\n const config = getConfig();\n\n // Select components to upload\n const componentsToUpload = await selectLocalComponents(\n allFlag,\n 'Select components to upload',\n );\n if (!componentsToUpload || componentsToUpload.length === 0) {\n return;\n }\n\n // Create API service\n const apiService = await createApiService();\n\n // Build and upload components\n const componentResults = await getBuildAndUploadResults(\n componentsToUpload as string[],\n apiService,\n );\n\n // Display component upload results\n reportResults(componentResults, 'Uploaded components', 'Component');\n\n if (skipTailwind) {\n p.log.info('Skipping Tailwind CSS build');\n } else {\n // Build Tailwind CSS and upload global CSS\n const s2 = p.spinner();\n s2.start('Building Tailwind CSS');\n const tailwindResult = await buildTailwindForComponents(\n componentsToUpload as string[],\n );\n const componentLabelPluralized =\n componentsToUpload.length === 1 ? 'component' : 'components';\n s2.stop(\n chalk.green(\n `Processed Tailwind CSS classes from ${componentsToUpload.length} selected local ${componentLabelPluralized} and all online components`,\n ),\n );\n\n // Capture Tailwind error if any\n if (!tailwindResult.success && tailwindResult.details) {\n // Report failed Tailwind CSS build.\n reportResults([tailwindResult], 'Built assets', 'Asset');\n p.note(\n chalk.red(`Tailwind build failed, global assets upload aborted.`),\n );\n } else {\n // If the Tailwind build was successful, proceed with uploading the global CSS.\n const globalCssResult = await uploadGlobalAssetLibrary(\n apiService,\n config.componentDir,\n );\n reportResults([globalCssResult], 'Uploaded assets', 'Asset');\n }\n }\n p.outro('⬆️ Upload command completed');\n } catch (error) {\n if (error instanceof Error) {\n p.note(chalk.red(`Error: ${error.message}`));\n } else {\n p.note(chalk.red(`Unknown error: ${String(error)}`));\n }\n process.exit(1);\n }\n });\n}\n\n// Get the build and upload results.\nasync function getBuildAndUploadResults(\n componentsToUpload: string[],\n apiService: ApiService,\n): Promise<Result[]> {\n const results: Result[] = [];\n\n // Build components\n const buildResults = await buildSelectedComponents(componentsToUpload);\n\n // Filter successful builds\n const successfulBuilds = buildResults.filter((build) => build.success);\n const failedBuilds = buildResults.filter((build) => !build.success);\n\n if (successfulBuilds.length === 0) {\n const message = 'All component builds failed.';\n p.note(chalk.red(message));\n }\n const spinner: {\n start: (msg?: string) => void;\n stop: (msg?: string, code?: number) => void;\n message: (msg?: string) => void;\n } = p.spinner();\n spinner.start('Uploading components');\n\n // Only upload the successfully built components.\n for (const buildResult of successfulBuilds) {\n const dir = buildResult.itemName\n ? (componentsToUpload.find(\n (d) => path.basename(d) === buildResult.itemName,\n ) as string)\n : undefined;\n\n if (!dir) continue;\n\n try {\n // Process component files\n const componentName = path.basename(dir);\n\n // Process all component files\n const { sourceCodeJs, compiledJs, sourceCodeCss, compiledCss, metadata } =\n await processComponentFiles(dir);\n if (!metadata) {\n throw new Error('Invalid metadata file');\n }\n\n const machineName =\n buildResult.itemName ||\n metadata.machineName ||\n componentName.toLowerCase().replace(/[^a-z0-9_-]/g, '_');\n\n // @todo: Add code from /ui to automatically detect first party imports\n // without relying on yml metadata.\n const importedJsComponents = metadata.importedJsComponents || [];\n\n const componentPayloadArg = {\n metadata,\n machineName,\n componentName,\n sourceCodeJs,\n compiledJs,\n sourceCodeCss,\n compiledCss,\n importedJsComponents,\n };\n const componentPayload = createComponentPayload(componentPayloadArg);\n\n // Check if component exists already\n let componentExists = false;\n\n try {\n await apiService.getComponent(machineName);\n componentExists = true;\n } catch {\n // Component does not exist, will create new.\n }\n\n try {\n // Create or update the component\n if (componentExists) {\n await apiService.updateComponent(machineName, componentPayload, true);\n } else {\n await apiService.createComponent(componentPayload, true);\n }\n } catch (error) {\n // If the error is a 422 and specifies dataDependencies as the problem,\n // it might be due to running a version of Canvas that does not yet support\n // this property. Remove dataDependencies from the payload and make\n // another attempts.\n if (\n error.status === 422 &&\n error?.response?.data?.errors?.[0]?.source?.pointer ===\n 'dataDependencies'\n ) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { dataDependencies, ...remainingPayload } = componentPayload;\n if (componentExists) {\n await apiService.updateComponent(machineName, remainingPayload);\n } else {\n await apiService.createComponent(remainingPayload);\n }\n } else {\n // If we are here the create/update failed and is not a 422 related to\n // dataDependencies.\n // Make another attempt to create/update without the 2nd argument so\n // the error is in the format expected by the catch statement that\n // summarizes the success (or lack thereof) of this operation.\n if (componentExists) {\n await apiService.updateComponent(machineName, componentPayload);\n } else {\n await apiService.createComponent(componentPayload);\n }\n }\n }\n\n results.push({\n itemName: componentName,\n success: true,\n details: [\n {\n content: componentExists ? 'Updated' : 'Created',\n },\n ],\n });\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n results.push({\n itemName: buildResult.itemName,\n success: false,\n details: [\n {\n content: errorMessage,\n },\n ],\n });\n }\n }\n // Add the failed builds to the upload results to get the correct count.\n results.push(...failedBuilds);\n const componentLabelPluralized =\n results.length === 1 ? 'component' : 'components';\n spinner.stop(\n chalk.green(`Processed ${results.length} ${componentLabelPluralized}`),\n );\n return results;\n}\n\n/**\n * Build all selected components\n */\nasync function buildSelectedComponents(\n componentDirs: string[],\n): Promise<Result[]> {\n const buildResults: Result[] = [];\n for (const dir of componentDirs) {\n buildResults.push(await buildComponent(dir));\n }\n return buildResults;\n}\n\n/**\n * Uploads global CSS if it exists\n */\nasync function uploadGlobalAssetLibrary(\n apiService: ApiService,\n componentDir: string,\n): Promise<Result> {\n try {\n const distDir = path.join(componentDir, 'dist');\n const globalCompiledCssPath = path.join(distDir, 'index.css');\n const globalCompiledCssExists = await fileExists(globalCompiledCssPath);\n if (globalCompiledCssExists) {\n const globalCompiledCss = await fs.readFile(\n path.join(distDir, 'index.css'),\n 'utf-8',\n );\n const classNameCandidateIndexFile = await fs.readFile(\n path.join(distDir, 'index.js'),\n 'utf-8',\n );\n // @todo: It doesn't make sense to have to fetch the current.css.original\n // from the API, but we need to do this because otherwise, the existing\n // css.original gets overwritten if we don't pass anything.\n const current = await apiService.getGlobalAssetLibrary();\n const originalCss = current.css.original;\n\n // Upload the global CSS\n await apiService.updateGlobalAssetLibrary({\n css: {\n original: originalCss,\n compiled: globalCompiledCss,\n },\n js: {\n original: classNameCandidateIndexFile,\n compiled: '',\n },\n });\n return {\n success: true,\n itemName: 'Global CSS',\n };\n } else {\n return {\n success: false,\n itemName: 'Global CSS',\n details: [\n {\n content: `Global CSS file not found at ${globalCompiledCssPath}.`,\n },\n ],\n };\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n return {\n success: false,\n itemName: 'Global CSS',\n details: [\n {\n content: errorMessage,\n },\n ],\n };\n }\n}\n","#!/usr/bin/env node\nimport chalk from 'chalk';\nimport { Command } from 'commander';\n\nimport packageJson from '../package.json';\nimport { buildCommand } from './commands/build';\nimport { downloadCommand } from './commands/download';\nimport { scaffoldCommand } from './commands/scaffold';\nimport { uploadCommand } from './commands/upload';\n\nconst version = packageJson.version;\n\nconst program = new Command();\nprogram\n .name('canvas')\n .description('CLI tool for managing Drupal Canvas code components')\n .version(version ?? '0.0.0');\n\n// Register commands\ndownloadCommand(program);\nscaffoldCommand(program);\nuploadCommand(program);\nbuildCommand(program);\n\n// Handle errors\nprogram.showHelpAfterError();\nprogram.showSuggestionAfterError(true);\n\ntry {\n // Parse command line arguments and execute the command\n await program.parseAsync(process.argv);\n} catch (error) {\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n process.exit(1);\n }\n}\n"]}