@hyper-fetch/cli 7.5.3 → 8.0.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.
Files changed (83) hide show
  1. package/.eslintrc.cjs +18 -0
  2. package/__tests__/codegen/openapi/v3/generator.spec.ts +3 -2
  3. package/__tests__/codegen/openapi/v3/operations.spec.ts +2 -2
  4. package/__tests__/codegen/openapi/v3/utils.spec.ts +1 -1
  5. package/__tests__/commands/generate/generate.spec.ts +17 -17
  6. package/__tests__/tsconfig.json +15 -4
  7. package/__tests__/vitest.setup.ts +10 -0
  8. package/dist/cli/index.d.ts +3 -0
  9. package/dist/cli/index.d.ts.map +1 -0
  10. package/dist/cli.js +12969 -0
  11. package/dist/cli.js.map +1 -0
  12. package/dist/codegen/index.d.ts +2 -0
  13. package/dist/codegen/index.d.ts.map +1 -0
  14. package/dist/codegen/openapi/generator.d.ts +61 -0
  15. package/dist/codegen/openapi/generator.d.ts.map +1 -0
  16. package/dist/codegen/openapi/http-methods.enum.d.ts +11 -0
  17. package/dist/codegen/openapi/http-methods.enum.d.ts.map +1 -0
  18. package/dist/codegen/openapi/index.d.ts +4 -0
  19. package/dist/codegen/openapi/index.d.ts.map +1 -0
  20. package/dist/codegen/openapi/openapi.types.d.ts +11 -0
  21. package/dist/codegen/openapi/openapi.types.d.ts.map +1 -0
  22. package/dist/codegen/openapi/operations.d.ts +6 -0
  23. package/dist/codegen/openapi/operations.d.ts.map +1 -0
  24. package/dist/codegen/openapi/utils.d.ts +7 -0
  25. package/dist/codegen/openapi/utils.d.ts.map +1 -0
  26. package/dist/commands/add.d.ts +10 -0
  27. package/dist/commands/add.d.ts.map +1 -0
  28. package/dist/commands/generate.d.ts +14 -0
  29. package/dist/commands/generate.d.ts.map +1 -0
  30. package/dist/commands/init.d.ts +3 -0
  31. package/dist/commands/init.d.ts.map +1 -0
  32. package/dist/config/auto-init.d.ts +6 -0
  33. package/dist/config/auto-init.d.ts.map +1 -0
  34. package/dist/config/get-config.d.ts +4 -0
  35. package/dist/config/get-config.d.ts.map +1 -0
  36. package/dist/config/get-ts-alias.d.ts +2 -0
  37. package/dist/config/get-ts-alias.d.ts.map +1 -0
  38. package/dist/config/schema.d.ts +21 -0
  39. package/dist/config/schema.d.ts.map +1 -0
  40. package/dist/generator-f5QJtrBW.js +194000 -0
  41. package/dist/generator-f5QJtrBW.js.map +1 -0
  42. package/dist/index.d.ts +2 -103
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +3 -3091
  45. package/dist/preflights/preflight-add.d.ts +27 -0
  46. package/dist/preflights/preflight-add.d.ts.map +1 -0
  47. package/dist/preflights/preflight-generate.d.ts +8 -0
  48. package/dist/preflights/preflight-generate.d.ts.map +1 -0
  49. package/dist/utils/errors.d.ts +14 -0
  50. package/dist/utils/errors.d.ts.map +1 -0
  51. package/dist/utils/handle-error.d.ts +2 -0
  52. package/dist/utils/handle-error.d.ts.map +1 -0
  53. package/dist/utils/highlighter.d.ts +7 -0
  54. package/dist/utils/highlighter.d.ts.map +1 -0
  55. package/dist/utils/logger.d.ts +8 -0
  56. package/dist/utils/logger.d.ts.map +1 -0
  57. package/dist/utils/resolve-import.d.ts +3 -0
  58. package/dist/utils/resolve-import.d.ts.map +1 -0
  59. package/dist/utils/show-help.d.ts +3 -0
  60. package/dist/utils/show-help.d.ts.map +1 -0
  61. package/dist/utils/spinner.d.ts +5 -0
  62. package/dist/utils/spinner.d.ts.map +1 -0
  63. package/dist/utils/zod-to-table.d.ts +6 -0
  64. package/dist/utils/zod-to-table.d.ts.map +1 -0
  65. package/package.json +5 -8
  66. package/src/codegen/openapi/generator.ts +4 -3
  67. package/src/codegen/openapi/openapi.types.ts +2 -2
  68. package/src/codegen/openapi/operations.ts +1 -1
  69. package/src/codegen/openapi/utils.ts +1 -1
  70. package/src/commands/add.ts +2 -2
  71. package/src/commands/init.ts +4 -3
  72. package/src/config/auto-init.ts +54 -0
  73. package/src/config/get-config.ts +5 -14
  74. package/src/preflights/preflight-add.ts +2 -2
  75. package/src/preflights/preflight-generate.ts +3 -3
  76. package/src/utils/show-help.ts +1 -1
  77. package/tsconfig.json +1 -1
  78. package/vite.config.ts +45 -0
  79. package/.eslintrc.json +0 -11
  80. package/__tests__/global.d.ts +0 -1
  81. package/__tests__/jest.setup.ts +0 -5
  82. package/dist/index.js.map +0 -7
  83. package/jest.config.ts +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","names":["commander","AsyncLocalStorage","AsyncResource","AsyncResource","isUnicodeSupported","process","colors","isPlainObject","#isTTY","#destSrc","#proxy","signals","processOk","kExitEmitter","global","ObjectDefineProperty","Emitter","SignalExitBase","signalExitWrap","SignalExitFallback","SignalExit","process","#process","#sigListeners","signals","#emitter","#hupSig","#originalProcessReallyExit","#originalProcessEmit","#loaded","#processEmit","#processReallyExit","ansiEscapes","MuteStream","readline","onSignalExit","AsyncResource","colors","colors","ansiEscapes","initializer","util.jsonStringifyReplacer","core.$ZodAsyncError","util.finalizeIssue","core.config","parse","errors.$ZodRealError","parseAsync","errors.$ZodError","safeParse","safeParseAsync","duration","_emoji","date","time","datetime","string","boolean","util.nullish","util.getLengthableOrigin","regexes.lowercase","regexes.uppercase","util.escapeRegex","util.aborted","core.$ZodAsyncError","safeParse","safeParseAsync","regexes.string","regexes.guid","regexes.uuid","regexes.email","regexes.emoji","regexes.nanoid","regexes.cuid","regexes.cuid2","regexes.ulid","regexes.xid","regexes.ksuid","regexes.datetime","regexes.date","regexes.time","regexes.duration","regexes.ipv4","regexes.ipv6","regexes.cidrv4","regexes.cidrv6","regexes.base64","regexes.base64url","regexes.e164","regexes.boolean","util.prefixIssues","util.cached","util.optionalKeys","util.esc","isObject","util.isObject","allowsEval","util.allowsEval","util.finalizeIssue","core.config","util.cleanRegex","util.isPlainObject","util.getEnumValues","util.escapeRegex","util.issue","util.normalizeParams","checks.$ZodCheckMaxLength","checks.$ZodCheckMinLength","checks.$ZodCheckLengthEquals","checks.$ZodCheckRegex","checks.$ZodCheckLowerCase","checks.$ZodCheckUpperCase","checks.$ZodCheckIncludes","checks.$ZodCheckStartsWith","checks.$ZodCheckEndsWith","checks.$ZodCheckOverwrite","core._isoDateTime","core._isoDate","core._isoTime","core._isoDuration","core.formatError","core.flattenError","core.$constructor","core.clone","parse.parse","parse.safeParse","parse.parseAsync","parse.safeParseAsync","checks.overwrite","pipe","checks.regex","checks.includes","checks.startsWith","checks.endsWith","checks.minLength","checks.maxLength","checks.length","checks.lowercase","checks.uppercase","checks.trim","checks.normalize","checks.toLowerCase","checks.toUpperCase","core._email","core._url","core._jwt","core._emoji","core._guid","core._uuid","core._uuidv4","core._uuidv6","core._uuidv7","core._nanoid","core._cuid","core._cuid2","core._ulid","core._base64","core._base64url","core._xid","core._ksuid","core._ipv4","core._ipv6","core._cidrv4","core._cidrv6","core._e164","iso.datetime","iso.date","iso.time","iso.duration","core._string","core._boolean","core._unknown","core._never","core._array","util.extend","util.merge","util.pick","util.omit","util.partial","util.required","util.normalizeParams","issue","util.issue","core.$ZodCheck","core._refine","styles","module","exports","init","process","#process","#sigListeners","#emitter","#hupSig","#originalProcessReallyExit","#originalProcessEmit","#loaded","#processEmit","#processReallyExit","process","process","emojiRegex","process","#activeCount","#realStart","#realStop","process","#handleInput","#options","process","#initialInterval","#stream","#isEnabled","#isSilent","#linesToClear","#frameIndex","#lineCount","#indent","#updateLineCount","#spinner","cliSpinners","#text","#prefixText","#suffixText","#id","#getFullPrefixText","#getFullSuffixText","#lastSpinnerFrameTime","#isDiscardingStdin"],"sources":["../../../node_modules/commander/esm.mjs","../../../node_modules/@inquirer/core/dist/esm/lib/key.js","../../../node_modules/@inquirer/core/dist/esm/lib/errors.js","../../../node_modules/@inquirer/core/dist/esm/lib/hook-engine.js","../../../node_modules/@inquirer/core/dist/esm/lib/use-state.js","../../../node_modules/@inquirer/core/dist/esm/lib/use-effect.js","../../../node_modules/yoctocolors-cjs/index.js","../../../node_modules/@inquirer/figures/dist/esm/index.js","../../../node_modules/@inquirer/core/dist/esm/lib/theme.js","../../../node_modules/@inquirer/core/dist/esm/lib/make-theme.js","../../../node_modules/@inquirer/core/dist/esm/lib/use-prefix.js","../../../node_modules/@inquirer/core/dist/esm/lib/use-memo.js","../../../node_modules/@inquirer/core/dist/esm/lib/use-ref.js","../../../node_modules/@inquirer/core/dist/esm/lib/use-keypress.js","../../../node_modules/cli-width/index.js","../../../node_modules/ansi-regex/index.js","../../../node_modules/strip-ansi/index.js","../../../node_modules/is-fullwidth-code-point/index.js","../../../node_modules/string-width/node_modules/emoji-regex/index.js","../../../node_modules/string-width/index.js","../../../node_modules/color-name/index.js","../../../node_modules/ansi-styles/node_modules/color-convert/conversions.js","../../../node_modules/ansi-styles/node_modules/color-convert/route.js","../../../node_modules/ansi-styles/node_modules/color-convert/index.js","../../../node_modules/ansi-styles/index.js","../../../node_modules/wrap-ansi/index.js","../../../node_modules/@inquirer/core/dist/esm/lib/utils.js","../../../node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.js","../../../node_modules/mute-stream/lib/index.js","../../../node_modules/@inquirer/core/node_modules/signal-exit/dist/mjs/signals.js","../../../node_modules/@inquirer/core/node_modules/signal-exit/dist/mjs/index.js","../../../node_modules/ansi-escapes/index.js","../../../node_modules/@inquirer/core/dist/esm/lib/screen-manager.js","../../../node_modules/@inquirer/core/dist/esm/lib/promise-polyfill.js","../../../node_modules/@inquirer/core/dist/esm/lib/create-prompt.js","../../../node_modules/@inquirer/core/dist/esm/lib/Separator.js","../../../node_modules/@inquirer/prompts/node_modules/@inquirer/confirm/dist/esm/index.js","../../../node_modules/@inquirer/input/dist/esm/index.js","../../../node_modules/@inquirer/select/dist/esm/index.js","../package.json","../node_modules/zod/v4/core/core.js","../node_modules/zod/v4/core/util.js","../node_modules/zod/v4/core/errors.js","../node_modules/zod/v4/core/parse.js","../node_modules/zod/v4/core/regexes.js","../node_modules/zod/v4/core/checks.js","../node_modules/zod/v4/core/doc.js","../node_modules/zod/v4/core/versions.js","../node_modules/zod/v4/core/schemas.js","../node_modules/zod/v4/core/registries.js","../node_modules/zod/v4/core/api.js","../node_modules/zod/v4/classic/iso.js","../node_modules/zod/v4/classic/errors.js","../node_modules/zod/v4/classic/parse.js","../node_modules/zod/v4/classic/schemas.js","../node_modules/chalk/source/vendor/ansi-styles/index.js","../node_modules/chalk/source/vendor/supports-color/browser.js","../node_modules/chalk/source/utilities.js","../node_modules/chalk/source/index.js","../src/utils/logger.ts","../src/utils/handle-error.ts","../../../node_modules/tsconfig-paths/lib/filesystem.js","../../../node_modules/tsconfig-paths/lib/mapping-entry.js","../../../node_modules/tsconfig-paths/lib/try-path.js","../../../node_modules/tsconfig-paths/lib/match-path-sync.js","../../../node_modules/tsconfig-paths/lib/match-path-async.js","../../../node_modules/json5/dist/index.js","../../../node_modules/strip-bom/index.js","../../../node_modules/tsconfig-paths/lib/tsconfig-loader.js","../../../node_modules/tsconfig-paths/lib/config-loader.js","../../../node_modules/minimist/index.js","../../../node_modules/tsconfig-paths/lib/register.js","../../../node_modules/tsconfig-paths/lib/index.js","../../../node_modules/kleur/colors.mjs","../src/utils/highlighter.ts","../src/utils/resolve-import.ts","../src/config/schema.ts","../src/config/get-ts-alias.ts","../../../node_modules/mimic-function/index.js","../node_modules/restore-cursor/node_modules/onetime/index.js","../node_modules/signal-exit/dist/mjs/signals.js","../node_modules/signal-exit/dist/mjs/index.js","../node_modules/restore-cursor/index.js","../node_modules/cli-cursor/index.js","../../../node_modules/cli-spinners/spinners.json","../../../node_modules/cli-spinners/index.js","../node_modules/log-symbols/browser.js","../node_modules/ansi-regex/index.js","../node_modules/strip-ansi/index.js","../../../node_modules/get-east-asian-width/lookup.js","../../../node_modules/get-east-asian-width/index.js","../node_modules/emoji-regex/index.mjs","../node_modules/string-width/index.js","../node_modules/is-interactive/index.js","../node_modules/is-unicode-supported/index.js","../../../node_modules/stdin-discarder/index.js","../node_modules/ora/index.js","../src/utils/spinner.ts","../src/config/auto-init.ts","../src/config/get-config.ts","../src/preflights/preflight-generate.ts","../../../node_modules/cli-table3/src/debug.js","../../../node_modules/cli-table3/src/utils.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/styles.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/system/has-flag.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/system/supports-colors.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/custom/trap.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/custom/zalgo.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/maps/america.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/maps/zebra.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/maps/rainbow.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/maps/random.js","../../../node_modules/cli-table3/node_modules/@colors/colors/lib/colors.js","../../../node_modules/cli-table3/node_modules/@colors/colors/safe.js","../../../node_modules/cli-table3/src/cell.js","../../../node_modules/cli-table3/src/layout-manager.js","../../../node_modules/cli-table3/src/table.js","../../../node_modules/cli-table3/index.js","../src/utils/zod-to-table.ts","../src/utils/show-help.ts","../src/commands/generate.ts","../src/commands/init.ts","../src/cli/index.ts"],"sourcesContent":["import commander from './index.js';\n\n// wrapper to provide named exports for ESM.\nexport const {\n program,\n createCommand,\n createArgument,\n createOption,\n CommanderError,\n InvalidArgumentError,\n InvalidOptionArgumentError, // deprecated old name\n Command,\n Argument,\n Option,\n Help\n} = commander;\n","export const isUpKey = (key) => \n// The up key\nkey.name === 'up' ||\n // Vim keybinding\n key.name === 'k' ||\n // Emacs keybinding\n (key.ctrl && key.name === 'p');\nexport const isDownKey = (key) => \n// The down key\nkey.name === 'down' ||\n // Vim keybinding\n key.name === 'j' ||\n // Emacs keybinding\n (key.ctrl && key.name === 'n');\nexport const isSpaceKey = (key) => key.name === 'space';\nexport const isBackspaceKey = (key) => key.name === 'backspace';\nexport const isNumberKey = (key) => '1234567890'.includes(key.name);\nexport const isEnterKey = (key) => key.name === 'enter' || key.name === 'return';\n","export class AbortPromptError extends Error {\n name = 'AbortPromptError';\n message = 'Prompt was aborted';\n constructor(options) {\n super();\n this.cause = options?.cause;\n }\n}\nexport class CancelPromptError extends Error {\n name = 'CancelPromptError';\n message = 'Prompt was canceled';\n}\nexport class ExitPromptError extends Error {\n name = 'ExitPromptError';\n}\nexport class HookError extends Error {\n name = 'HookError';\n}\nexport class ValidationError extends Error {\n name = 'ValidationError';\n}\n","/* eslint @typescript-eslint/no-explicit-any: [\"off\"] */\nimport { AsyncLocalStorage, AsyncResource } from 'node:async_hooks';\nimport { HookError, ValidationError } from \"./errors.js\";\nconst hookStorage = new AsyncLocalStorage();\nfunction createStore(rl) {\n const store = {\n rl,\n hooks: [],\n hooksCleanup: [],\n hooksEffect: [],\n index: 0,\n handleChange() { },\n };\n return store;\n}\n// Run callback in with the hook engine setup.\nexport function withHooks(rl, cb) {\n const store = createStore(rl);\n return hookStorage.run(store, () => {\n function cycle(render) {\n store.handleChange = () => {\n store.index = 0;\n render();\n };\n store.handleChange();\n }\n return cb(cycle);\n });\n}\n// Safe getStore utility that'll return the store or throw if undefined.\nfunction getStore() {\n const store = hookStorage.getStore();\n if (!store) {\n throw new HookError('[Inquirer] Hook functions can only be called from within a prompt');\n }\n return store;\n}\nexport function readline() {\n return getStore().rl;\n}\n// Merge state updates happening within the callback function to avoid multiple renders.\nexport function withUpdates(fn) {\n const wrapped = (...args) => {\n const store = getStore();\n let shouldUpdate = false;\n const oldHandleChange = store.handleChange;\n store.handleChange = () => {\n shouldUpdate = true;\n };\n const returnValue = fn(...args);\n if (shouldUpdate) {\n oldHandleChange();\n }\n store.handleChange = oldHandleChange;\n return returnValue;\n };\n return AsyncResource.bind(wrapped);\n}\nexport function withPointer(cb) {\n const store = getStore();\n const { index } = store;\n const pointer = {\n get() {\n return store.hooks[index];\n },\n set(value) {\n store.hooks[index] = value;\n },\n initialized: index in store.hooks,\n };\n const returnValue = cb(pointer);\n store.index++;\n return returnValue;\n}\nexport function handleChange() {\n getStore().handleChange();\n}\nexport const effectScheduler = {\n queue(cb) {\n const store = getStore();\n const { index } = store;\n store.hooksEffect.push(() => {\n store.hooksCleanup[index]?.();\n const cleanFn = cb(readline());\n if (cleanFn != null && typeof cleanFn !== 'function') {\n throw new ValidationError('useEffect return value must be a cleanup function or nothing.');\n }\n store.hooksCleanup[index] = cleanFn;\n });\n },\n run() {\n const store = getStore();\n withUpdates(() => {\n store.hooksEffect.forEach((effect) => {\n effect();\n });\n // Warning: Clean the hooks before exiting the `withUpdates` block.\n // Failure to do so means an updates would hit the same effects again.\n store.hooksEffect.length = 0;\n })();\n },\n clearAll() {\n const store = getStore();\n store.hooksCleanup.forEach((cleanFn) => {\n cleanFn?.();\n });\n store.hooksEffect.length = 0;\n store.hooksCleanup.length = 0;\n },\n};\n","import { AsyncResource } from 'node:async_hooks';\nimport { withPointer, handleChange } from \"./hook-engine.js\";\nexport function useState(defaultValue) {\n return withPointer((pointer) => {\n const setState = AsyncResource.bind(function setState(newValue) {\n // Noop if the value is still the same.\n if (pointer.get() !== newValue) {\n pointer.set(newValue);\n // Trigger re-render\n handleChange();\n }\n });\n if (pointer.initialized) {\n return [pointer.get(), setState];\n }\n const value = typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n pointer.set(value);\n return [value, setState];\n });\n}\n","import { withPointer, effectScheduler } from \"./hook-engine.js\";\nexport function useEffect(cb, depArray) {\n withPointer((pointer) => {\n const oldDeps = pointer.get();\n const hasChanged = !Array.isArray(oldDeps) || depArray.some((dep, i) => !Object.is(dep, oldDeps[i]));\n if (hasChanged) {\n effectScheduler.queue(cb);\n }\n pointer.set(depArray);\n });\n}\n","const tty = require('node:tty');\n\n// eslint-disable-next-line no-warning-comments\n// TODO: Use a better method when it's added to Node.js (https://github.com/nodejs/node/pull/40240)\n// Lots of optionals here to support Deno.\nconst hasColors = tty?.WriteStream?.prototype?.hasColors?.() ?? false;\n\nconst format = (open, close) => {\n\tif (!hasColors) {\n\t\treturn input => input;\n\t}\n\n\tconst openCode = `\\u001B[${open}m`;\n\tconst closeCode = `\\u001B[${close}m`;\n\n\treturn input => {\n\t\tconst string = input + ''; // eslint-disable-line no-implicit-coercion -- This is faster.\n\t\tlet index = string.indexOf(closeCode);\n\n\t\tif (index === -1) {\n\t\t\t// Note: Intentionally not using string interpolation for performance reasons.\n\t\t\treturn openCode + string + closeCode;\n\t\t}\n\n\t\t// Handle nested colors.\n\n\t\t// We could have done this, but it's too slow (as of Node.js 22).\n\t\t// return openCode + string.replaceAll(closeCode, openCode) + closeCode;\n\n\t\tlet result = openCode;\n\t\tlet lastIndex = 0;\n\n\t\twhile (index !== -1) {\n\t\t\tresult += string.slice(lastIndex, index) + openCode;\n\t\t\tlastIndex = index + closeCode.length;\n\t\t\tindex = string.indexOf(closeCode, lastIndex);\n\t\t}\n\n\t\tresult += string.slice(lastIndex) + closeCode;\n\n\t\treturn result;\n\t};\n};\n\nconst colors = {};\n\ncolors.reset = format(0, 0);\ncolors.bold = format(1, 22);\ncolors.dim = format(2, 22);\ncolors.italic = format(3, 23);\ncolors.underline = format(4, 24);\ncolors.overline = format(53, 55);\ncolors.inverse = format(7, 27);\ncolors.hidden = format(8, 28);\ncolors.strikethrough = format(9, 29);\n\ncolors.black = format(30, 39);\ncolors.red = format(31, 39);\ncolors.green = format(32, 39);\ncolors.yellow = format(33, 39);\ncolors.blue = format(34, 39);\ncolors.magenta = format(35, 39);\ncolors.cyan = format(36, 39);\ncolors.white = format(37, 39);\ncolors.gray = format(90, 39);\n\ncolors.bgBlack = format(40, 49);\ncolors.bgRed = format(41, 49);\ncolors.bgGreen = format(42, 49);\ncolors.bgYellow = format(43, 49);\ncolors.bgBlue = format(44, 49);\ncolors.bgMagenta = format(45, 49);\ncolors.bgCyan = format(46, 49);\ncolors.bgWhite = format(47, 49);\ncolors.bgGray = format(100, 49);\n\ncolors.redBright = format(91, 39);\ncolors.greenBright = format(92, 39);\ncolors.yellowBright = format(93, 39);\ncolors.blueBright = format(94, 39);\ncolors.magentaBright = format(95, 39);\ncolors.cyanBright = format(96, 39);\ncolors.whiteBright = format(97, 39);\n\ncolors.bgRedBright = format(101, 49);\ncolors.bgGreenBright = format(102, 49);\ncolors.bgYellowBright = format(103, 49);\ncolors.bgBlueBright = format(104, 49);\ncolors.bgMagentaBright = format(105, 49);\ncolors.bgCyanBright = format(106, 49);\ncolors.bgWhiteBright = format(107, 49);\n\nmodule.exports = colors;\n","// process.env dot-notation access prints:\n// Property 'TERM' comes from an index signature, so it must be accessed with ['TERM'].ts(4111)\n/* eslint dot-notation: [\"off\"] */\nimport process from 'node:process';\n// Ported from is-unicode-supported\nfunction isUnicodeSupported() {\n if (process.platform !== 'win32') {\n return process.env['TERM'] !== 'linux'; // Linux console (kernel)\n }\n return (Boolean(process.env['WT_SESSION']) || // Windows Terminal\n Boolean(process.env['TERMINUS_SUBLIME']) || // Terminus (<0.2.27)\n process.env['ConEmuTask'] === '{cmd::Cmder}' || // ConEmu and cmder\n process.env['TERM_PROGRAM'] === 'Terminus-Sublime' ||\n process.env['TERM_PROGRAM'] === 'vscode' ||\n process.env['TERM'] === 'xterm-256color' ||\n process.env['TERM'] === 'alacritty' ||\n process.env['TERMINAL_EMULATOR'] === 'JetBrains-JediTerm');\n}\n// Ported from figures\nconst common = {\n circleQuestionMark: '(?)',\n questionMarkPrefix: '(?)',\n square: '█',\n squareDarkShade: '▓',\n squareMediumShade: '▒',\n squareLightShade: '░',\n squareTop: '▀',\n squareBottom: '▄',\n squareLeft: '▌',\n squareRight: '▐',\n squareCenter: '■',\n bullet: '●',\n dot: '․',\n ellipsis: '…',\n pointerSmall: '›',\n triangleUp: '▲',\n triangleUpSmall: '▴',\n triangleDown: '▼',\n triangleDownSmall: '▾',\n triangleLeftSmall: '◂',\n triangleRightSmall: '▸',\n home: '⌂',\n heart: '♥',\n musicNote: '♪',\n musicNoteBeamed: '♫',\n arrowUp: '↑',\n arrowDown: '↓',\n arrowLeft: '←',\n arrowRight: '→',\n arrowLeftRight: '↔',\n arrowUpDown: '↕',\n almostEqual: '≈',\n notEqual: '≠',\n lessOrEqual: '≤',\n greaterOrEqual: '≥',\n identical: '≡',\n infinity: '∞',\n subscriptZero: '₀',\n subscriptOne: '₁',\n subscriptTwo: '₂',\n subscriptThree: '₃',\n subscriptFour: '₄',\n subscriptFive: '₅',\n subscriptSix: '₆',\n subscriptSeven: '₇',\n subscriptEight: '₈',\n subscriptNine: '₉',\n oneHalf: '½',\n oneThird: '⅓',\n oneQuarter: '¼',\n oneFifth: '⅕',\n oneSixth: '⅙',\n oneEighth: '⅛',\n twoThirds: '⅔',\n twoFifths: '⅖',\n threeQuarters: '¾',\n threeFifths: '⅗',\n threeEighths: '⅜',\n fourFifths: '⅘',\n fiveSixths: '⅚',\n fiveEighths: '⅝',\n sevenEighths: '⅞',\n line: '─',\n lineBold: '━',\n lineDouble: '═',\n lineDashed0: '┄',\n lineDashed1: '┅',\n lineDashed2: '┈',\n lineDashed3: '┉',\n lineDashed4: '╌',\n lineDashed5: '╍',\n lineDashed6: '╴',\n lineDashed7: '╶',\n lineDashed8: '╸',\n lineDashed9: '╺',\n lineDashed10: '╼',\n lineDashed11: '╾',\n lineDashed12: '−',\n lineDashed13: '–',\n lineDashed14: '‐',\n lineDashed15: '⁃',\n lineVertical: '│',\n lineVerticalBold: '┃',\n lineVerticalDouble: '║',\n lineVerticalDashed0: '┆',\n lineVerticalDashed1: '┇',\n lineVerticalDashed2: '┊',\n lineVerticalDashed3: '┋',\n lineVerticalDashed4: '╎',\n lineVerticalDashed5: '╏',\n lineVerticalDashed6: '╵',\n lineVerticalDashed7: '╷',\n lineVerticalDashed8: '╹',\n lineVerticalDashed9: '╻',\n lineVerticalDashed10: '╽',\n lineVerticalDashed11: '╿',\n lineDownLeft: '┐',\n lineDownLeftArc: '╮',\n lineDownBoldLeftBold: '┓',\n lineDownBoldLeft: '┒',\n lineDownLeftBold: '┑',\n lineDownDoubleLeftDouble: '╗',\n lineDownDoubleLeft: '╖',\n lineDownLeftDouble: '╕',\n lineDownRight: '┌',\n lineDownRightArc: '╭',\n lineDownBoldRightBold: '┏',\n lineDownBoldRight: '┎',\n lineDownRightBold: '┍',\n lineDownDoubleRightDouble: '╔',\n lineDownDoubleRight: '╓',\n lineDownRightDouble: '╒',\n lineUpLeft: '┘',\n lineUpLeftArc: '╯',\n lineUpBoldLeftBold: '┛',\n lineUpBoldLeft: '┚',\n lineUpLeftBold: '┙',\n lineUpDoubleLeftDouble: '╝',\n lineUpDoubleLeft: '╜',\n lineUpLeftDouble: '╛',\n lineUpRight: '└',\n lineUpRightArc: '╰',\n lineUpBoldRightBold: '┗',\n lineUpBoldRight: '┖',\n lineUpRightBold: '┕',\n lineUpDoubleRightDouble: '╚',\n lineUpDoubleRight: '╙',\n lineUpRightDouble: '╘',\n lineUpDownLeft: '┤',\n lineUpBoldDownBoldLeftBold: '┫',\n lineUpBoldDownBoldLeft: '┨',\n lineUpDownLeftBold: '┥',\n lineUpBoldDownLeftBold: '┩',\n lineUpDownBoldLeftBold: '┪',\n lineUpDownBoldLeft: '┧',\n lineUpBoldDownLeft: '┦',\n lineUpDoubleDownDoubleLeftDouble: '╣',\n lineUpDoubleDownDoubleLeft: '╢',\n lineUpDownLeftDouble: '╡',\n lineUpDownRight: '├',\n lineUpBoldDownBoldRightBold: '┣',\n lineUpBoldDownBoldRight: '┠',\n lineUpDownRightBold: '┝',\n lineUpBoldDownRightBold: '┡',\n lineUpDownBoldRightBold: '┢',\n lineUpDownBoldRight: '┟',\n lineUpBoldDownRight: '┞',\n lineUpDoubleDownDoubleRightDouble: '╠',\n lineUpDoubleDownDoubleRight: '╟',\n lineUpDownRightDouble: '╞',\n lineDownLeftRight: '┬',\n lineDownBoldLeftBoldRightBold: '┳',\n lineDownLeftBoldRightBold: '┯',\n lineDownBoldLeftRight: '┰',\n lineDownBoldLeftBoldRight: '┱',\n lineDownBoldLeftRightBold: '┲',\n lineDownLeftRightBold: '┮',\n lineDownLeftBoldRight: '┭',\n lineDownDoubleLeftDoubleRightDouble: '╦',\n lineDownDoubleLeftRight: '╥',\n lineDownLeftDoubleRightDouble: '╤',\n lineUpLeftRight: '┴',\n lineUpBoldLeftBoldRightBold: '┻',\n lineUpLeftBoldRightBold: '┷',\n lineUpBoldLeftRight: '┸',\n lineUpBoldLeftBoldRight: '┹',\n lineUpBoldLeftRightBold: '┺',\n lineUpLeftRightBold: '┶',\n lineUpLeftBoldRight: '┵',\n lineUpDoubleLeftDoubleRightDouble: '╩',\n lineUpDoubleLeftRight: '╨',\n lineUpLeftDoubleRightDouble: '╧',\n lineUpDownLeftRight: '┼',\n lineUpBoldDownBoldLeftBoldRightBold: '╋',\n lineUpDownBoldLeftBoldRightBold: '╈',\n lineUpBoldDownLeftBoldRightBold: '╇',\n lineUpBoldDownBoldLeftRightBold: '╊',\n lineUpBoldDownBoldLeftBoldRight: '╉',\n lineUpBoldDownLeftRight: '╀',\n lineUpDownBoldLeftRight: '╁',\n lineUpDownLeftBoldRight: '┽',\n lineUpDownLeftRightBold: '┾',\n lineUpBoldDownBoldLeftRight: '╂',\n lineUpDownLeftBoldRightBold: '┿',\n lineUpBoldDownLeftBoldRight: '╃',\n lineUpBoldDownLeftRightBold: '╄',\n lineUpDownBoldLeftBoldRight: '╅',\n lineUpDownBoldLeftRightBold: '╆',\n lineUpDoubleDownDoubleLeftDoubleRightDouble: '╬',\n lineUpDoubleDownDoubleLeftRight: '╫',\n lineUpDownLeftDoubleRightDouble: '╪',\n lineCross: '╳',\n lineBackslash: '╲',\n lineSlash: '╱',\n};\nconst specialMainSymbols = {\n tick: '✔',\n info: 'ℹ',\n warning: '⚠',\n cross: '✘',\n squareSmall: '◻',\n squareSmallFilled: '◼',\n circle: '◯',\n circleFilled: '◉',\n circleDotted: '◌',\n circleDouble: '◎',\n circleCircle: 'ⓞ',\n circleCross: 'ⓧ',\n circlePipe: 'Ⓘ',\n radioOn: '◉',\n radioOff: '◯',\n checkboxOn: '☒',\n checkboxOff: '☐',\n checkboxCircleOn: 'ⓧ',\n checkboxCircleOff: 'Ⓘ',\n pointer: '❯',\n triangleUpOutline: '△',\n triangleLeft: '◀',\n triangleRight: '▶',\n lozenge: '◆',\n lozengeOutline: '◇',\n hamburger: '☰',\n smiley: '㋡',\n mustache: '෴',\n star: '★',\n play: '▶',\n nodejs: '⬢',\n oneSeventh: '⅐',\n oneNinth: '⅑',\n oneTenth: '⅒',\n};\nconst specialFallbackSymbols = {\n tick: '√',\n info: 'i',\n warning: '‼',\n cross: '×',\n squareSmall: '□',\n squareSmallFilled: '■',\n circle: '( )',\n circleFilled: '(*)',\n circleDotted: '( )',\n circleDouble: '( )',\n circleCircle: '(○)',\n circleCross: '(×)',\n circlePipe: '(│)',\n radioOn: '(*)',\n radioOff: '( )',\n checkboxOn: '[×]',\n checkboxOff: '[ ]',\n checkboxCircleOn: '(×)',\n checkboxCircleOff: '( )',\n pointer: '>',\n triangleUpOutline: '∆',\n triangleLeft: '◄',\n triangleRight: '►',\n lozenge: '♦',\n lozengeOutline: '◊',\n hamburger: '≡',\n smiley: '☺',\n mustache: '┌─┐',\n star: '✶',\n play: '►',\n nodejs: '♦',\n oneSeventh: '1/7',\n oneNinth: '1/9',\n oneTenth: '1/10',\n};\nexport const mainSymbols = { ...common, ...specialMainSymbols };\nexport const fallbackSymbols = {\n ...common,\n ...specialFallbackSymbols,\n};\nconst shouldUseMain = isUnicodeSupported();\nconst figures = shouldUseMain ? mainSymbols : fallbackSymbols;\nexport default figures;\nconst replacements = Object.entries(specialMainSymbols);\n// On terminals which do not support Unicode symbols, substitute them to other symbols\nexport const replaceSymbols = (string, { useFallback = !shouldUseMain } = {}) => {\n if (useFallback) {\n for (const [key, mainSymbol] of replacements) {\n const fallbackSymbol = fallbackSymbols[key];\n if (!fallbackSymbol) {\n throw new Error(`Unable to find fallback for ${key}`);\n }\n string = string.replaceAll(mainSymbol, fallbackSymbol);\n }\n }\n return string;\n};\n","import colors from 'yoctocolors-cjs';\nimport figures from '@inquirer/figures';\nexport const defaultTheme = {\n prefix: {\n idle: colors.blue('?'),\n // TODO: use figure\n done: colors.green(figures.tick),\n },\n spinner: {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'].map((frame) => colors.yellow(frame)),\n },\n style: {\n answer: colors.cyan,\n message: colors.bold,\n error: (text) => colors.red(`> ${text}`),\n defaultAnswer: (text) => colors.dim(`(${text})`),\n help: colors.dim,\n highlight: colors.cyan,\n key: (text) => colors.cyan(colors.bold(`<${text}>`)),\n },\n};\n","import { defaultTheme } from \"./theme.js\";\nfunction isPlainObject(value) {\n if (typeof value !== 'object' || value === null)\n return false;\n let proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n}\nfunction deepMerge(...objects) {\n const output = {};\n for (const obj of objects) {\n for (const [key, value] of Object.entries(obj)) {\n const prevValue = output[key];\n output[key] =\n isPlainObject(prevValue) && isPlainObject(value)\n ? deepMerge(prevValue, value)\n : value;\n }\n }\n return output;\n}\nexport function makeTheme(...themes) {\n const themesToMerge = [\n defaultTheme,\n ...themes.filter((theme) => theme != null),\n ];\n return deepMerge(...themesToMerge);\n}\n","import { useState } from \"./use-state.js\";\nimport { useEffect } from \"./use-effect.js\";\nimport { makeTheme } from \"./make-theme.js\";\nexport function usePrefix({ status = 'idle', theme, }) {\n const [showLoader, setShowLoader] = useState(false);\n const [tick, setTick] = useState(0);\n const { prefix, spinner } = makeTheme(theme);\n useEffect(() => {\n if (status === 'loading') {\n let tickInterval;\n let inc = -1;\n // Delay displaying spinner by 300ms, to avoid flickering\n const delayTimeout = setTimeout(() => {\n setShowLoader(true);\n tickInterval = setInterval(() => {\n inc = inc + 1;\n setTick(inc % spinner.frames.length);\n }, spinner.interval);\n }, 300);\n return () => {\n clearTimeout(delayTimeout);\n clearInterval(tickInterval);\n };\n }\n else {\n setShowLoader(false);\n }\n }, [status]);\n if (showLoader) {\n return spinner.frames[tick];\n }\n // There's a delay before we show the loader. So we want to ignore `loading` here, and pass idle instead.\n const iconName = status === 'loading' ? 'idle' : status;\n return typeof prefix === 'string' ? prefix : (prefix[iconName] ?? prefix['idle']);\n}\n","import { withPointer } from \"./hook-engine.js\";\nexport function useMemo(fn, dependencies) {\n return withPointer((pointer) => {\n const prev = pointer.get();\n if (!prev ||\n prev.dependencies.length !== dependencies.length ||\n prev.dependencies.some((dep, i) => dep !== dependencies[i])) {\n const value = fn();\n pointer.set({ value, dependencies });\n return value;\n }\n return prev.value;\n });\n}\n","import { useState } from \"./use-state.js\";\nexport function useRef(val) {\n return useState({ current: val })[0];\n}\n","import { useRef } from \"./use-ref.js\";\nimport { useEffect } from \"./use-effect.js\";\nimport { withUpdates } from \"./hook-engine.js\";\nexport function useKeypress(userHandler) {\n const signal = useRef(userHandler);\n signal.current = userHandler;\n useEffect((rl) => {\n let ignore = false;\n const handler = withUpdates((_input, event) => {\n if (ignore)\n return;\n void signal.current(event, rl);\n });\n rl.input.on('keypress', handler);\n return () => {\n ignore = true;\n rl.input.removeListener('keypress', handler);\n };\n }, []);\n}\n","'use strict';\n\nmodule.exports = cliWidth;\n\nfunction normalizeOpts(options) {\n const defaultOpts = {\n defaultWidth: 0,\n output: process.stdout,\n tty: require('tty'),\n };\n\n if (!options) {\n return defaultOpts;\n }\n\n Object.keys(defaultOpts).forEach(function (key) {\n if (!options[key]) {\n options[key] = defaultOpts[key];\n }\n });\n\n return options;\n}\n\nfunction cliWidth(options) {\n const opts = normalizeOpts(options);\n\n if (opts.output.getWindowSize) {\n return opts.output.getWindowSize()[0] || opts.defaultWidth;\n }\n\n if (opts.tty.getWindowSize) {\n return opts.tty.getWindowSize()[1] || opts.defaultWidth;\n }\n\n if (opts.output.columns) {\n return opts.output.columns;\n }\n\n if (process.env.CLI_WIDTH) {\n const width = parseInt(process.env.CLI_WIDTH, 10);\n\n if (!isNaN(width) && width !== 0) {\n return width;\n }\n }\n\n return opts.defaultWidth;\n}\n","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n","'use strict';\nconst ansiRegex = require('ansi-regex');\n\nmodule.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n","/* eslint-disable yoda */\n'use strict';\n\nconst isFullwidthCodePoint = codePoint => {\n\tif (Number.isNaN(codePoint)) {\n\t\treturn false;\n\t}\n\n\t// Code points are derived from:\n\t// http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt\n\tif (\n\t\tcodePoint >= 0x1100 && (\n\t\t\tcodePoint <= 0x115F || // Hangul Jamo\n\t\t\tcodePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET\n\t\t\tcodePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET\n\t\t\t// CJK Radicals Supplement .. Enclosed CJK Letters and Months\n\t\t\t(0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) ||\n\t\t\t// Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A\n\t\t\t(0x3250 <= codePoint && codePoint <= 0x4DBF) ||\n\t\t\t// CJK Unified Ideographs .. Yi Radicals\n\t\t\t(0x4E00 <= codePoint && codePoint <= 0xA4C6) ||\n\t\t\t// Hangul Jamo Extended-A\n\t\t\t(0xA960 <= codePoint && codePoint <= 0xA97C) ||\n\t\t\t// Hangul Syllables\n\t\t\t(0xAC00 <= codePoint && codePoint <= 0xD7A3) ||\n\t\t\t// CJK Compatibility Ideographs\n\t\t\t(0xF900 <= codePoint && codePoint <= 0xFAFF) ||\n\t\t\t// Vertical Forms\n\t\t\t(0xFE10 <= codePoint && codePoint <= 0xFE19) ||\n\t\t\t// CJK Compatibility Forms .. Small Form Variants\n\t\t\t(0xFE30 <= codePoint && codePoint <= 0xFE6B) ||\n\t\t\t// Halfwidth and Fullwidth Forms\n\t\t\t(0xFF01 <= codePoint && codePoint <= 0xFF60) ||\n\t\t\t(0xFFE0 <= codePoint && codePoint <= 0xFFE6) ||\n\t\t\t// Kana Supplement\n\t\t\t(0x1B000 <= codePoint && codePoint <= 0x1B001) ||\n\t\t\t// Enclosed Ideographic Supplement\n\t\t\t(0x1F200 <= codePoint && codePoint <= 0x1F251) ||\n\t\t\t// CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane\n\t\t\t(0x20000 <= codePoint && codePoint <= 0x3FFFD)\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nmodule.exports = isFullwidthCodePoint;\nmodule.exports.default = isFullwidthCodePoint;\n","\"use strict\";\n\nmodule.exports = function () {\n // https://mths.be/emoji\n return /\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g;\n};\n","'use strict';\nconst stripAnsi = require('strip-ansi');\nconst isFullwidthCodePoint = require('is-fullwidth-code-point');\nconst emojiRegex = require('emoji-regex');\n\nconst stringWidth = string => {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tstring = stripAnsi(string);\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tstring = string.replace(emojiRegex(), ' ');\n\n\tlet width = 0;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst code = string.codePointAt(i);\n\n\t\t// Ignore control characters\n\t\tif (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (code >= 0x300 && code <= 0x36F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Surrogates\n\t\tif (code > 0xFFFF) {\n\t\t\ti++;\n\t\t}\n\n\t\twidth += isFullwidthCodePoint(code) ? 2 : 1;\n\t}\n\n\treturn width;\n};\n\nmodule.exports = stringWidth;\n// TODO: remove this in the next major version\nmodule.exports.default = stringWidth;\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","'use strict';\n\nconst wrapAnsi16 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => (...args) => {\n\tconst rgb = fn(...args);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nconst ansi2ansi = n => n;\nconst rgb2rgb = (r, g, b) => [r, g, b];\n\nconst setLazyProperty = (object, property, get) => {\n\tObject.defineProperty(object, property, {\n\t\tget: () => {\n\t\t\tconst value = get();\n\n\t\t\tObject.defineProperty(object, property, {\n\t\t\t\tvalue,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\n\t\t\treturn value;\n\t\t},\n\t\tenumerable: true,\n\t\tconfigurable: true\n\t});\n};\n\n/** @type {typeof import('color-convert')} */\nlet colorConvert;\nconst makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {\n\tif (colorConvert === undefined) {\n\t\tcolorConvert = require('color-convert');\n\t}\n\n\tconst offset = isBackground ? 10 : 0;\n\tconst styles = {};\n\n\tfor (const [sourceSpace, suite] of Object.entries(colorConvert)) {\n\t\tconst name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace;\n\t\tif (sourceSpace === targetSpace) {\n\t\t\tstyles[name] = wrap(identity, offset);\n\t\t} else if (typeof suite === 'object') {\n\t\t\tstyles[name] = wrap(suite[targetSpace], offset);\n\t\t}\n\t}\n\n\treturn styles;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tsetLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));\n\tsetLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\nconst stringWidth = require('string-width');\nconst stripAnsi = require('strip-ansi');\nconst ansiStyles = require('ansi-styles');\n\nconst ESCAPES = new Set([\n\t'\\u001B',\n\t'\\u009B'\n]);\n\nconst END_CODE = 39;\n\nconst wrapAnsi = code => `${ESCAPES.values().next().value}[${code}m`;\n\n// Calculate the length of words split on ' ', ignoring\n// the extra characters added by ansi escape codes\nconst wordLengths = string => string.split(' ').map(character => stringWidth(character));\n\n// Wrap a long word across multiple rows\n// Ansi escape codes do not count towards length\nconst wrapWord = (rows, word, columns) => {\n\tconst characters = [...word];\n\n\tlet isInsideEscape = false;\n\tlet visible = stringWidth(stripAnsi(rows[rows.length - 1]));\n\n\tfor (const [index, character] of characters.entries()) {\n\t\tconst characterLength = stringWidth(character);\n\n\t\tif (visible + characterLength <= columns) {\n\t\t\trows[rows.length - 1] += character;\n\t\t} else {\n\t\t\trows.push(character);\n\t\t\tvisible = 0;\n\t\t}\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tisInsideEscape = true;\n\t\t} else if (isInsideEscape && character === 'm') {\n\t\t\tisInsideEscape = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isInsideEscape) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tvisible += characterLength;\n\n\t\tif (visible === columns && index < characters.length - 1) {\n\t\t\trows.push('');\n\t\t\tvisible = 0;\n\t\t}\n\t}\n\n\t// It's possible that the last row we copy over is only\n\t// ansi escape characters, handle this edge-case\n\tif (!visible && rows[rows.length - 1].length > 0 && rows.length > 1) {\n\t\trows[rows.length - 2] += rows.pop();\n\t}\n};\n\n// Trims spaces from a string ignoring invisible sequences\nconst stringVisibleTrimSpacesRight = str => {\n\tconst words = str.split(' ');\n\tlet last = words.length;\n\n\twhile (last > 0) {\n\t\tif (stringWidth(words[last - 1]) > 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tlast--;\n\t}\n\n\tif (last === words.length) {\n\t\treturn str;\n\t}\n\n\treturn words.slice(0, last).join(' ') + words.slice(last).join('');\n};\n\n// The wrap-ansi module can be invoked in either 'hard' or 'soft' wrap mode\n//\n// 'hard' will never allow a string to take up more than columns characters\n//\n// 'soft' allows long words to expand past the column length\nconst exec = (string, columns, options = {}) => {\n\tif (options.trim !== false && string.trim() === '') {\n\t\treturn '';\n\t}\n\n\tlet pre = '';\n\tlet ret = '';\n\tlet escapeCode;\n\n\tconst lengths = wordLengths(string);\n\tlet rows = [''];\n\n\tfor (const [index, word] of string.split(' ').entries()) {\n\t\tif (options.trim !== false) {\n\t\t\trows[rows.length - 1] = rows[rows.length - 1].trimLeft();\n\t\t}\n\n\t\tlet rowLength = stringWidth(rows[rows.length - 1]);\n\n\t\tif (index !== 0) {\n\t\t\tif (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {\n\t\t\t\t// If we start with a new word but the current row length equals the length of the columns, add a new row\n\t\t\t\trows.push('');\n\t\t\t\trowLength = 0;\n\t\t\t}\n\n\t\t\tif (rowLength > 0 || options.trim === false) {\n\t\t\t\trows[rows.length - 1] += ' ';\n\t\t\t\trowLength++;\n\t\t\t}\n\t\t}\n\n\t\t// In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'\n\t\tif (options.hard && lengths[index] > columns) {\n\t\t\tconst remainingColumns = (columns - rowLength);\n\t\t\tconst breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);\n\t\t\tconst breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);\n\t\t\tif (breaksStartingNextLine < breaksStartingThisLine) {\n\t\t\t\trows.push('');\n\t\t\t}\n\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {\n\t\t\tif (options.wordWrap === false && rowLength < columns) {\n\t\t\t\twrapWord(rows, word, columns);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\trows.push('');\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && options.wordWrap === false) {\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\trows[rows.length - 1] += word;\n\t}\n\n\tif (options.trim !== false) {\n\t\trows = rows.map(stringVisibleTrimSpacesRight);\n\t}\n\n\tpre = rows.join('\\n');\n\n\tfor (const [index, character] of [...pre].entries()) {\n\t\tret += character;\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tconst code = parseFloat(/\\d[^m]*/.exec(pre.slice(index, index + 4)));\n\t\t\tescapeCode = code === END_CODE ? null : code;\n\t\t}\n\n\t\tconst code = ansiStyles.codes.get(Number(escapeCode));\n\n\t\tif (escapeCode && code) {\n\t\t\tif (pre[index + 1] === '\\n') {\n\t\t\t\tret += wrapAnsi(code);\n\t\t\t} else if (character === '\\n') {\n\t\t\t\tret += wrapAnsi(escapeCode);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn ret;\n};\n\n// For each newline, invoke the method separately\nmodule.exports = (string, columns, options) => {\n\treturn String(string)\n\t\t.normalize()\n\t\t.replace(/\\r\\n/g, '\\n')\n\t\t.split('\\n')\n\t\t.map(line => exec(line, columns, options))\n\t\t.join('\\n');\n};\n","import cliWidth from 'cli-width';\nimport wrapAnsi from 'wrap-ansi';\nimport { readline } from \"./hook-engine.js\";\n/**\n * Force line returns at specific width. This function is ANSI code friendly and it'll\n * ignore invisible codes during width calculation.\n * @param {string} content\n * @param {number} width\n * @return {string}\n */\nexport function breakLines(content, width) {\n return content\n .split('\\n')\n .flatMap((line) => wrapAnsi(line, width, { trim: false, hard: true })\n .split('\\n')\n .map((str) => str.trimEnd()))\n .join('\\n');\n}\n/**\n * Returns the width of the active readline, or 80 as default value.\n * @returns {number}\n */\nexport function readlineWidth() {\n return cliWidth({ defaultWidth: 80, output: readline().output });\n}\n","import { useRef } from \"../use-ref.js\";\nimport { readlineWidth, breakLines } from \"../utils.js\";\nfunction usePointerPosition({ active, renderedItems, pageSize, loop, }) {\n const state = useRef({\n lastPointer: active,\n lastActive: undefined,\n });\n const { lastPointer, lastActive } = state.current;\n const middle = Math.floor(pageSize / 2);\n const renderedLength = renderedItems.reduce((acc, item) => acc + item.length, 0);\n const defaultPointerPosition = renderedItems\n .slice(0, active)\n .reduce((acc, item) => acc + item.length, 0);\n let pointer = defaultPointerPosition;\n if (renderedLength > pageSize) {\n if (loop) {\n /**\n * Creates the next position for the pointer considering an infinitely\n * looping list of items to be rendered on the page.\n *\n * The goal is to progressively move the cursor to the middle position as the user move down, and then keep\n * the cursor there. When the user move up, maintain the cursor position.\n */\n // By default, keep the cursor position as-is.\n pointer = lastPointer;\n if (\n // First render, skip this logic.\n lastActive != null &&\n // Only move the pointer down when the user moves down.\n lastActive < active &&\n // Check user didn't move up across page boundary.\n active - lastActive < pageSize) {\n pointer = Math.min(\n // Furthest allowed position for the pointer is the middle of the list\n middle, Math.abs(active - lastActive) === 1\n ? Math.min(\n // Move the pointer at most the height of the last active item.\n lastPointer + (renderedItems[lastActive]?.length ?? 0), \n // If the user moved by one item, move the pointer to the natural position of the active item as\n // long as it doesn't move the cursor up.\n Math.max(defaultPointerPosition, lastPointer))\n : // Otherwise, move the pointer down by the difference between the active and last active item.\n lastPointer + active - lastActive);\n }\n }\n else {\n /**\n * Creates the next position for the pointer considering a finite list of\n * items to be rendered on a page.\n *\n * The goal is to keep the pointer in the middle of the page whenever possible, until\n * we reach the bounds of the list (top or bottom). In which case, the cursor moves progressively\n * to the bottom or top of the list.\n */\n const spaceUnderActive = renderedItems\n .slice(active)\n .reduce((acc, item) => acc + item.length, 0);\n pointer =\n spaceUnderActive < pageSize - middle\n ? // If the active item is near the end of the list, progressively move the cursor towards the end.\n pageSize - spaceUnderActive\n : // Otherwise, progressively move the pointer to the middle of the list.\n Math.min(defaultPointerPosition, middle);\n }\n }\n // Save state for the next render\n state.current.lastPointer = pointer;\n state.current.lastActive = active;\n return pointer;\n}\nexport function usePagination({ items, active, renderItem, pageSize, loop = true, }) {\n const width = readlineWidth();\n const bound = (num) => ((num % items.length) + items.length) % items.length;\n const renderedItems = items.map((item, index) => {\n if (item == null)\n return [];\n return breakLines(renderItem({ item, index, isActive: index === active }), width).split('\\n');\n });\n const renderedLength = renderedItems.reduce((acc, item) => acc + item.length, 0);\n const renderItemAtIndex = (index) => renderedItems[index] ?? [];\n const pointer = usePointerPosition({ active, renderedItems, pageSize, loop });\n // Render the active item to decide the position.\n // If the active item fits under the pointer, we render it there.\n // Otherwise, we need to render it to fit at the bottom of the page; moving the pointer up.\n const activeItem = renderItemAtIndex(active).slice(0, pageSize);\n const activeItemPosition = pointer + activeItem.length <= pageSize ? pointer : pageSize - activeItem.length;\n // Create an array of lines for the page, and add the lines of the active item into the page\n const pageBuffer = Array.from({ length: pageSize });\n pageBuffer.splice(activeItemPosition, activeItem.length, ...activeItem);\n // Store to prevent rendering the same item twice\n const itemVisited = new Set([active]);\n // Fill the page under the active item\n let bufferPointer = activeItemPosition + activeItem.length;\n let itemPointer = bound(active + 1);\n while (bufferPointer < pageSize &&\n !itemVisited.has(itemPointer) &&\n (loop && renderedLength > pageSize ? itemPointer !== active : itemPointer > active)) {\n const lines = renderItemAtIndex(itemPointer);\n const linesToAdd = lines.slice(0, pageSize - bufferPointer);\n pageBuffer.splice(bufferPointer, linesToAdd.length, ...linesToAdd);\n // Move pointers for next iteration\n itemVisited.add(itemPointer);\n bufferPointer += linesToAdd.length;\n itemPointer = bound(itemPointer + 1);\n }\n // Fill the page over the active item\n bufferPointer = activeItemPosition - 1;\n itemPointer = bound(active - 1);\n while (bufferPointer >= 0 &&\n !itemVisited.has(itemPointer) &&\n (loop && renderedLength > pageSize ? itemPointer !== active : itemPointer < active)) {\n const lines = renderItemAtIndex(itemPointer);\n const linesToAdd = lines.slice(Math.max(0, lines.length - bufferPointer - 1));\n pageBuffer.splice(bufferPointer - linesToAdd.length + 1, linesToAdd.length, ...linesToAdd);\n // Move pointers for next iteration\n itemVisited.add(itemPointer);\n bufferPointer -= linesToAdd.length;\n itemPointer = bound(itemPointer - 1);\n }\n return pageBuffer.filter((line) => typeof line === 'string').join('\\n');\n}\n","const Stream = require('stream')\n\nclass MuteStream extends Stream {\n #isTTY = null\n\n constructor (opts = {}) {\n super(opts)\n this.writable = this.readable = true\n this.muted = false\n this.on('pipe', this._onpipe)\n this.replace = opts.replace\n\n // For readline-type situations\n // This much at the start of a line being redrawn after a ctrl char\n // is seen (such as backspace) won't be redrawn as the replacement\n this._prompt = opts.prompt || null\n this._hadControl = false\n }\n\n #destSrc (key, def) {\n if (this._dest) {\n return this._dest[key]\n }\n if (this._src) {\n return this._src[key]\n }\n return def\n }\n\n #proxy (method, ...args) {\n if (typeof this._dest?.[method] === 'function') {\n this._dest[method](...args)\n }\n if (typeof this._src?.[method] === 'function') {\n this._src[method](...args)\n }\n }\n\n get isTTY () {\n if (this.#isTTY !== null) {\n return this.#isTTY\n }\n return this.#destSrc('isTTY', false)\n }\n\n // basically just get replace the getter/setter with a regular value\n set isTTY (val) {\n this.#isTTY = val\n }\n\n get rows () {\n return this.#destSrc('rows')\n }\n\n get columns () {\n return this.#destSrc('columns')\n }\n\n mute () {\n this.muted = true\n }\n\n unmute () {\n this.muted = false\n }\n\n _onpipe (src) {\n this._src = src\n }\n\n pipe (dest, options) {\n this._dest = dest\n return super.pipe(dest, options)\n }\n\n pause () {\n if (this._src) {\n return this._src.pause()\n }\n }\n\n resume () {\n if (this._src) {\n return this._src.resume()\n }\n }\n\n write (c) {\n if (this.muted) {\n if (!this.replace) {\n return true\n }\n // eslint-disable-next-line no-control-regex\n if (c.match(/^\\u001b/)) {\n if (c.indexOf(this._prompt) === 0) {\n c = c.slice(this._prompt.length)\n c = c.replace(/./g, this.replace)\n c = this._prompt + c\n }\n this._hadControl = true\n return this.emit('data', c)\n } else {\n if (this._prompt && this._hadControl &&\n c.indexOf(this._prompt) === 0) {\n this._hadControl = false\n this.emit('data', this._prompt)\n c = c.slice(this._prompt.length)\n }\n c = c.toString().replace(/./g, this.replace)\n }\n }\n this.emit('data', c)\n }\n\n end (c) {\n if (this.muted) {\n if (c && this.replace) {\n c = c.toString().replace(/./g, this.replace)\n } else {\n c = null\n }\n }\n if (c) {\n this.emit('data', c)\n }\n this.emit('end')\n }\n\n destroy (...args) {\n return this.#proxy('destroy', ...args)\n }\n\n destroySoon (...args) {\n return this.#proxy('destroySoon', ...args)\n }\n\n close (...args) {\n return this.#proxy('close', ...args)\n }\n}\n\nmodule.exports = MuteStream\n","/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals = [];\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM');\nif (process.platform !== 'win32') {\n signals.push('SIGALRM', 'SIGABRT', 'SIGVTALRM', 'SIGXCPU', 'SIGXFSZ', 'SIGUSR2', 'SIGTRAP', 'SIGSYS', 'SIGQUIT', 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n );\n}\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT');\n}\n//# sourceMappingURL=signals.js.map","// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js';\nexport { signals };\nconst processOk = (process) => !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function';\nconst kExitEmitter = Symbol.for('signal-exit emitter');\nconst global = globalThis;\nconst ObjectDefineProperty = Object.defineProperty.bind(Object);\n// teeny special purpose ee\nclass Emitter {\n emitted = {\n afterExit: false,\n exit: false,\n };\n listeners = {\n afterExit: [],\n exit: [],\n };\n count = 0;\n id = Math.random();\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter];\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n });\n }\n on(ev, fn) {\n this.listeners[ev].push(fn);\n }\n removeListener(ev, fn) {\n const list = this.listeners[ev];\n const i = list.indexOf(fn);\n /* c8 ignore start */\n if (i === -1) {\n return;\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0;\n }\n else {\n list.splice(i, 1);\n }\n }\n emit(ev, code, signal) {\n if (this.emitted[ev]) {\n return false;\n }\n this.emitted[ev] = true;\n let ret = false;\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret;\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret;\n }\n return ret;\n }\n}\nclass SignalExitBase {\n}\nconst signalExitWrap = (handler) => {\n return {\n onExit(cb, opts) {\n return handler.onExit(cb, opts);\n },\n load() {\n return handler.load();\n },\n unload() {\n return handler.unload();\n },\n };\n};\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => { };\n }\n load() { }\n unload() { }\n}\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP';\n /* c8 ignore stop */\n #emitter = new Emitter();\n #process;\n #originalProcessEmit;\n #originalProcessReallyExit;\n #sigListeners = {};\n #loaded = false;\n constructor(process) {\n super();\n this.#process = process;\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {};\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig);\n let { count } = this.#emitter;\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process;\n if (typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number') {\n count += p.__signal_exit_emitter__.count;\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload();\n const ret = this.#emitter.emit('exit', null, sig);\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig;\n if (!ret)\n process.kill(process.pid, s);\n /* c8 ignore stop */\n }\n };\n }\n this.#originalProcessReallyExit = process.reallyExit;\n this.#originalProcessEmit = process.emit;\n }\n onExit(cb, opts) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => { };\n }\n /* c8 ignore stop */\n if (this.#loaded === false) {\n this.load();\n }\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit';\n this.#emitter.on(ev, cb);\n return () => {\n this.#emitter.removeListener(ev, cb);\n if (this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0) {\n this.unload();\n }\n };\n }\n load() {\n if (this.#loaded) {\n return;\n }\n this.#loaded = true;\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1;\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig];\n if (fn)\n this.#process.on(sig, fn);\n }\n catch (_) { }\n }\n this.#process.emit = (ev, ...a) => {\n return this.#processEmit(ev, ...a);\n };\n this.#process.reallyExit = (code) => {\n return this.#processReallyExit(code);\n };\n }\n unload() {\n if (!this.#loaded) {\n return;\n }\n this.#loaded = false;\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig];\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig);\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener);\n /* c8 ignore start */\n }\n catch (_) { }\n /* c8 ignore stop */\n });\n this.#process.emit = this.#originalProcessEmit;\n this.#process.reallyExit = this.#originalProcessReallyExit;\n this.#emitter.count -= 1;\n }\n #processReallyExit(code) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0;\n }\n this.#process.exitCode = code || 0;\n /* c8 ignore stop */\n this.#emitter.emit('exit', this.#process.exitCode, null);\n return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);\n }\n #processEmit(ev, ...args) {\n const og = this.#originalProcessEmit;\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0];\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args);\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null);\n /* c8 ignore stop */\n return ret;\n }\n else {\n return og.call(this.#process, ev, ...args);\n }\n }\n}\nconst process = globalThis.process;\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const { \n/**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\nonExit, \n/**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\nload, \n/**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\nunload, } = signalExitWrap(processOk(process) ? new SignalExit(process) : new SignalExitFallback());\n//# sourceMappingURL=index.js.map","'use strict';\nconst ansiEscapes = module.exports;\n// TODO: remove this in the next major version\nmodule.exports.default = ansiEscapes;\n\nconst ESC = '\\u001B[';\nconst OSC = '\\u001B]';\nconst BEL = '\\u0007';\nconst SEP = ';';\nconst isTerminalApp = process.env.TERM_PROGRAM === 'Apple_Terminal';\n\nansiEscapes.cursorTo = (x, y) => {\n\tif (typeof x !== 'number') {\n\t\tthrow new TypeError('The `x` argument is required');\n\t}\n\n\tif (typeof y !== 'number') {\n\t\treturn ESC + (x + 1) + 'G';\n\t}\n\n\treturn ESC + (y + 1) + ';' + (x + 1) + 'H';\n};\n\nansiEscapes.cursorMove = (x, y) => {\n\tif (typeof x !== 'number') {\n\t\tthrow new TypeError('The `x` argument is required');\n\t}\n\n\tlet ret = '';\n\n\tif (x < 0) {\n\t\tret += ESC + (-x) + 'D';\n\t} else if (x > 0) {\n\t\tret += ESC + x + 'C';\n\t}\n\n\tif (y < 0) {\n\t\tret += ESC + (-y) + 'A';\n\t} else if (y > 0) {\n\t\tret += ESC + y + 'B';\n\t}\n\n\treturn ret;\n};\n\nansiEscapes.cursorUp = (count = 1) => ESC + count + 'A';\nansiEscapes.cursorDown = (count = 1) => ESC + count + 'B';\nansiEscapes.cursorForward = (count = 1) => ESC + count + 'C';\nansiEscapes.cursorBackward = (count = 1) => ESC + count + 'D';\n\nansiEscapes.cursorLeft = ESC + 'G';\nansiEscapes.cursorSavePosition = isTerminalApp ? '\\u001B7' : ESC + 's';\nansiEscapes.cursorRestorePosition = isTerminalApp ? '\\u001B8' : ESC + 'u';\nansiEscapes.cursorGetPosition = ESC + '6n';\nansiEscapes.cursorNextLine = ESC + 'E';\nansiEscapes.cursorPrevLine = ESC + 'F';\nansiEscapes.cursorHide = ESC + '?25l';\nansiEscapes.cursorShow = ESC + '?25h';\n\nansiEscapes.eraseLines = count => {\n\tlet clear = '';\n\n\tfor (let i = 0; i < count; i++) {\n\t\tclear += ansiEscapes.eraseLine + (i < count - 1 ? ansiEscapes.cursorUp() : '');\n\t}\n\n\tif (count) {\n\t\tclear += ansiEscapes.cursorLeft;\n\t}\n\n\treturn clear;\n};\n\nansiEscapes.eraseEndLine = ESC + 'K';\nansiEscapes.eraseStartLine = ESC + '1K';\nansiEscapes.eraseLine = ESC + '2K';\nansiEscapes.eraseDown = ESC + 'J';\nansiEscapes.eraseUp = ESC + '1J';\nansiEscapes.eraseScreen = ESC + '2J';\nansiEscapes.scrollUp = ESC + 'S';\nansiEscapes.scrollDown = ESC + 'T';\n\nansiEscapes.clearScreen = '\\u001Bc';\n\nansiEscapes.clearTerminal = process.platform === 'win32' ?\n\t`${ansiEscapes.eraseScreen}${ESC}0f` :\n\t// 1. Erases the screen (Only done in case `2` is not supported)\n\t// 2. Erases the whole screen including scrollback buffer\n\t// 3. Moves cursor to the top-left position\n\t// More info: https://www.real-world-systems.com/docs/ANSIcode.html\n\t`${ansiEscapes.eraseScreen}${ESC}3J${ESC}H`;\n\nansiEscapes.beep = BEL;\n\nansiEscapes.link = (text, url) => {\n\treturn [\n\t\tOSC,\n\t\t'8',\n\t\tSEP,\n\t\tSEP,\n\t\turl,\n\t\tBEL,\n\t\ttext,\n\t\tOSC,\n\t\t'8',\n\t\tSEP,\n\t\tSEP,\n\t\tBEL\n\t].join('');\n};\n\nansiEscapes.image = (buffer, options = {}) => {\n\tlet ret = `${OSC}1337;File=inline=1`;\n\n\tif (options.width) {\n\t\tret += `;width=${options.width}`;\n\t}\n\n\tif (options.height) {\n\t\tret += `;height=${options.height}`;\n\t}\n\n\tif (options.preserveAspectRatio === false) {\n\t\tret += ';preserveAspectRatio=0';\n\t}\n\n\treturn ret + ':' + buffer.toString('base64') + BEL;\n};\n\nansiEscapes.iTerm = {\n\tsetCwd: (cwd = process.cwd()) => `${OSC}50;CurrentDir=${cwd}${BEL}`,\n\n\tannotation: (message, options = {}) => {\n\t\tlet ret = `${OSC}1337;`;\n\n\t\tconst hasX = typeof options.x !== 'undefined';\n\t\tconst hasY = typeof options.y !== 'undefined';\n\t\tif ((hasX || hasY) && !(hasX && hasY && typeof options.length !== 'undefined')) {\n\t\t\tthrow new Error('`x`, `y` and `length` must be defined when `x` or `y` is defined');\n\t\t}\n\n\t\tmessage = message.replace(/\\|/g, '');\n\n\t\tret += options.isHidden ? 'AddHiddenAnnotation=' : 'AddAnnotation=';\n\n\t\tif (options.length > 0) {\n\t\t\tret +=\n\t\t\t\t\t(hasX ?\n\t\t\t\t\t\t[message, options.length, options.x, options.y] :\n\t\t\t\t\t\t[options.length, message]).join('|');\n\t\t} else {\n\t\t\tret += message;\n\t\t}\n\n\t\treturn ret + BEL;\n\t}\n};\n","import { stripVTControlCharacters } from 'node:util';\nimport ansiEscapes from 'ansi-escapes';\nimport { breakLines, readlineWidth } from \"./utils.js\";\nconst height = (content) => content.split('\\n').length;\nconst lastLine = (content) => content.split('\\n').pop() ?? '';\nfunction cursorDown(n) {\n return n > 0 ? ansiEscapes.cursorDown(n) : '';\n}\nexport default class ScreenManager {\n // These variables are keeping information to allow correct prompt re-rendering\n height = 0;\n extraLinesUnderPrompt = 0;\n cursorPos;\n rl;\n constructor(rl) {\n this.rl = rl;\n this.cursorPos = rl.getCursorPos();\n }\n write(content) {\n this.rl.output.unmute();\n this.rl.output.write(content);\n this.rl.output.mute();\n }\n render(content, bottomContent = '') {\n // Write message to screen and setPrompt to control backspace\n const promptLine = lastLine(content);\n const rawPromptLine = stripVTControlCharacters(promptLine);\n // Remove the rl.line from our prompt. We can't rely on the content of\n // rl.line (mainly because of the password prompt), so just rely on it's\n // length.\n let prompt = rawPromptLine;\n if (this.rl.line.length > 0) {\n prompt = prompt.slice(0, -this.rl.line.length);\n }\n this.rl.setPrompt(prompt);\n // SetPrompt will change cursor position, now we can get correct value\n this.cursorPos = this.rl.getCursorPos();\n const width = readlineWidth();\n content = breakLines(content, width);\n bottomContent = breakLines(bottomContent, width);\n // Manually insert an extra line if we're at the end of the line.\n // This prevent the cursor from appearing at the beginning of the\n // current line.\n if (rawPromptLine.length % width === 0) {\n content += '\\n';\n }\n let output = content + (bottomContent ? '\\n' + bottomContent : '');\n /**\n * Re-adjust the cursor at the correct position.\n */\n // We need to consider parts of the prompt under the cursor as part of the bottom\n // content in order to correctly cleanup and re-render.\n const promptLineUpDiff = Math.floor(rawPromptLine.length / width) - this.cursorPos.rows;\n const bottomContentHeight = promptLineUpDiff + (bottomContent ? height(bottomContent) : 0);\n // Return cursor to the input position (on top of the bottomContent)\n if (bottomContentHeight > 0)\n output += ansiEscapes.cursorUp(bottomContentHeight);\n // Return cursor to the initial left offset.\n output += ansiEscapes.cursorTo(this.cursorPos.cols);\n /**\n * Render and store state for future re-rendering\n */\n this.write(cursorDown(this.extraLinesUnderPrompt) +\n ansiEscapes.eraseLines(this.height) +\n output);\n this.extraLinesUnderPrompt = bottomContentHeight;\n this.height = height(output);\n }\n checkCursorPos() {\n const cursorPos = this.rl.getCursorPos();\n if (cursorPos.cols !== this.cursorPos.cols) {\n this.write(ansiEscapes.cursorTo(cursorPos.cols));\n this.cursorPos = cursorPos;\n }\n }\n done({ clearContent }) {\n this.rl.setPrompt('');\n let output = cursorDown(this.extraLinesUnderPrompt);\n output += clearContent ? ansiEscapes.eraseLines(this.height) : '\\n';\n output += ansiEscapes.cursorShow;\n this.write(output);\n this.rl.close();\n }\n}\n","// TODO: Remove this class once Node 22 becomes the minimum supported version.\nexport class PromisePolyfill extends Promise {\n // Available starting from Node 22\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers\n static withResolver() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve: resolve, reject: reject };\n }\n}\n","import * as readline from 'node:readline';\nimport { AsyncResource } from 'node:async_hooks';\nimport MuteStream from 'mute-stream';\nimport { onExit as onSignalExit } from 'signal-exit';\nimport ScreenManager from \"./screen-manager.js\";\nimport { PromisePolyfill } from \"./promise-polyfill.js\";\nimport { withHooks, effectScheduler } from \"./hook-engine.js\";\nimport { AbortPromptError, CancelPromptError, ExitPromptError } from \"./errors.js\";\nfunction getCallSites() {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const _prepareStackTrace = Error.prepareStackTrace;\n let result = [];\n try {\n Error.prepareStackTrace = (_, callSites) => {\n const callSitesWithoutCurrent = callSites.slice(1);\n result = callSitesWithoutCurrent;\n return callSitesWithoutCurrent;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n new Error().stack;\n }\n catch {\n // An error will occur if the Node flag --frozen-intrinsics is used.\n // https://nodejs.org/api/cli.html#--frozen-intrinsics\n return result;\n }\n Error.prepareStackTrace = _prepareStackTrace;\n return result;\n}\nexport function createPrompt(view) {\n const callSites = getCallSites();\n const prompt = (config, context = {}) => {\n // Default `input` to stdin\n const { input = process.stdin, signal } = context;\n const cleanups = new Set();\n // Add mute capabilities to the output\n const output = new MuteStream();\n output.pipe(context.output ?? process.stdout);\n const rl = readline.createInterface({\n terminal: true,\n input,\n output,\n });\n const screen = new ScreenManager(rl);\n const { promise, resolve, reject } = PromisePolyfill.withResolver();\n const cancel = () => reject(new CancelPromptError());\n if (signal) {\n const abort = () => reject(new AbortPromptError({ cause: signal.reason }));\n if (signal.aborted) {\n abort();\n return Object.assign(promise, { cancel });\n }\n signal.addEventListener('abort', abort);\n cleanups.add(() => signal.removeEventListener('abort', abort));\n }\n cleanups.add(onSignalExit((code, signal) => {\n reject(new ExitPromptError(`User force closed the prompt with ${code} ${signal}`));\n }));\n // SIGINT must be explicitly handled by the prompt so the ExitPromptError can be handled.\n // Otherwise, the prompt will stop and in some scenarios never resolve.\n // Ref issue #1741\n const sigint = () => reject(new ExitPromptError(`User force closed the prompt with SIGINT`));\n rl.on('SIGINT', sigint);\n cleanups.add(() => rl.removeListener('SIGINT', sigint));\n // Re-renders only happen when the state change; but the readline cursor could change position\n // and that also requires a re-render (and a manual one because we mute the streams).\n // We set the listener after the initial workLoop to avoid a double render if render triggered\n // by a state change sets the cursor to the right position.\n const checkCursorPos = () => screen.checkCursorPos();\n rl.input.on('keypress', checkCursorPos);\n cleanups.add(() => rl.input.removeListener('keypress', checkCursorPos));\n return withHooks(rl, (cycle) => {\n // The close event triggers immediately when the user press ctrl+c. SignalExit on the other hand\n // triggers after the process is done (which happens after timeouts are done triggering.)\n // We triggers the hooks cleanup phase on rl `close` so active timeouts can be cleared.\n const hooksCleanup = AsyncResource.bind(() => effectScheduler.clearAll());\n rl.on('close', hooksCleanup);\n cleanups.add(() => rl.removeListener('close', hooksCleanup));\n cycle(() => {\n try {\n const nextView = view(config, (value) => {\n setImmediate(() => resolve(value));\n });\n // Typescript won't allow this, but not all users rely on typescript.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (nextView === undefined) {\n const callerFilename = callSites[1]?.getFileName();\n throw new Error(`Prompt functions must return a string.\\n at ${callerFilename}`);\n }\n const [content, bottomContent] = typeof nextView === 'string' ? [nextView] : nextView;\n screen.render(content, bottomContent);\n effectScheduler.run();\n }\n catch (error) {\n reject(error);\n }\n });\n return Object.assign(promise\n .then((answer) => {\n effectScheduler.clearAll();\n return answer;\n }, (error) => {\n effectScheduler.clearAll();\n throw error;\n })\n // Wait for the promise to settle, then cleanup.\n .finally(() => {\n cleanups.forEach((cleanup) => cleanup());\n screen.done({ clearContent: Boolean(context.clearPromptOnDone) });\n output.end();\n })\n // Once cleanup is done, let the expose promise resolve/reject to the internal one.\n .then(() => promise), { cancel });\n });\n };\n return prompt;\n}\n","import colors from 'yoctocolors-cjs';\nimport figures from '@inquirer/figures';\n/**\n * Separator object\n * Used to space/separate choices group\n */\nexport class Separator {\n separator = colors.dim(Array.from({ length: 15 }).join(figures.line));\n type = 'separator';\n constructor(separator) {\n if (separator) {\n this.separator = separator;\n }\n }\n static isSeparator(choice) {\n return Boolean(choice &&\n typeof choice === 'object' &&\n 'type' in choice &&\n choice.type === 'separator');\n }\n}\n","import { createPrompt, useState, useKeypress, isEnterKey, usePrefix, makeTheme, } from '@inquirer/core';\nfunction getBooleanValue(value, defaultValue) {\n let answer = defaultValue !== false;\n if (/^(y|yes)/i.test(value))\n answer = true;\n else if (/^(n|no)/i.test(value))\n answer = false;\n return answer;\n}\nfunction boolToString(value) {\n return value ? 'Yes' : 'No';\n}\nexport default createPrompt((config, done) => {\n const { transformer = boolToString } = config;\n const [status, setStatus] = useState('idle');\n const [value, setValue] = useState('');\n const theme = makeTheme(config.theme);\n const prefix = usePrefix({ status, theme });\n useKeypress((key, rl) => {\n if (isEnterKey(key)) {\n const answer = getBooleanValue(value, config.default);\n setValue(transformer(answer));\n setStatus('done');\n done(answer);\n }\n else if (key.name === 'tab') {\n const answer = boolToString(!getBooleanValue(value, config.default));\n rl.clearLine(0); // Remove the tab character.\n rl.write(answer);\n setValue(answer);\n }\n else {\n setValue(rl.line);\n }\n });\n let formattedValue = value;\n let defaultValue = '';\n if (status === 'done') {\n formattedValue = theme.style.answer(value);\n }\n else {\n defaultValue = ` ${theme.style.defaultAnswer(config.default === false ? 'y/N' : 'Y/n')}`;\n }\n const message = theme.style.message(config.message, status);\n return `${prefix} ${message}${defaultValue} ${formattedValue}`;\n});\n","import { createPrompt, useState, useKeypress, useEffect, usePrefix, isEnterKey, isBackspaceKey, makeTheme, } from '@inquirer/core';\nconst inputTheme = {\n validationFailureMode: 'keep',\n};\nexport default createPrompt((config, done) => {\n const { required, validate = () => true, prefill = 'tab' } = config;\n const theme = makeTheme(inputTheme, config.theme);\n const [status, setStatus] = useState('idle');\n const [defaultValue = '', setDefaultValue] = useState(config.default);\n const [errorMsg, setError] = useState();\n const [value, setValue] = useState('');\n const prefix = usePrefix({ status, theme });\n useKeypress(async (key, rl) => {\n // Ignore keypress while our prompt is doing other processing.\n if (status !== 'idle') {\n return;\n }\n if (isEnterKey(key)) {\n const answer = value || defaultValue;\n setStatus('loading');\n const isValid = required && !answer ? 'You must provide a value' : await validate(answer);\n if (isValid === true) {\n setValue(answer);\n setStatus('done');\n done(answer);\n }\n else {\n if (theme.validationFailureMode === 'clear') {\n setValue('');\n }\n else {\n // Reset the readline line value to the previous value. On line event, the value\n // get cleared, forcing the user to re-enter the value instead of fixing it.\n rl.write(value);\n }\n setError(isValid || 'You must provide a valid value');\n setStatus('idle');\n }\n }\n else if (isBackspaceKey(key) && !value) {\n setDefaultValue(undefined);\n }\n else if (key.name === 'tab' && !value) {\n setDefaultValue(undefined);\n rl.clearLine(0); // Remove the tab character.\n rl.write(defaultValue);\n setValue(defaultValue);\n }\n else {\n setValue(rl.line);\n setError(undefined);\n }\n });\n // If prefill is set to 'editable' cut out the default value and paste into current state and the user's cli buffer\n // They can edit the value immediately instead of needing to press 'tab'\n useEffect((rl) => {\n if (prefill === 'editable' && defaultValue) {\n rl.write(defaultValue);\n setValue(defaultValue);\n }\n }, []);\n const message = theme.style.message(config.message, status);\n let formattedValue = value;\n if (typeof config.transformer === 'function') {\n formattedValue = config.transformer(value, { isFinal: status === 'done' });\n }\n else if (status === 'done') {\n formattedValue = theme.style.answer(value);\n }\n let defaultStr;\n if (defaultValue && status !== 'done' && !value) {\n defaultStr = theme.style.defaultAnswer(defaultValue);\n }\n let error = '';\n if (errorMsg) {\n error = theme.style.error(errorMsg);\n }\n return [\n [prefix, message, defaultStr, formattedValue]\n .filter((v) => v !== undefined)\n .join(' '),\n error,\n ];\n});\n","import { createPrompt, useState, useKeypress, usePrefix, usePagination, useRef, useMemo, useEffect, isBackspaceKey, isEnterKey, isUpKey, isDownKey, isNumberKey, Separator, ValidationError, makeTheme, } from '@inquirer/core';\nimport colors from 'yoctocolors-cjs';\nimport figures from '@inquirer/figures';\nimport ansiEscapes from 'ansi-escapes';\nconst selectTheme = {\n icon: { cursor: figures.pointer },\n style: {\n disabled: (text) => colors.dim(`- ${text}`),\n description: (text) => colors.cyan(text),\n },\n helpMode: 'auto',\n indexMode: 'hidden',\n};\nfunction isSelectable(item) {\n return !Separator.isSeparator(item) && !item.disabled;\n}\nfunction normalizeChoices(choices) {\n return choices.map((choice) => {\n if (Separator.isSeparator(choice))\n return choice;\n if (typeof choice === 'string') {\n return {\n value: choice,\n name: choice,\n short: choice,\n disabled: false,\n };\n }\n const name = choice.name ?? String(choice.value);\n const normalizedChoice = {\n value: choice.value,\n name,\n short: choice.short ?? name,\n disabled: choice.disabled ?? false,\n };\n if (choice.description) {\n normalizedChoice.description = choice.description;\n }\n return normalizedChoice;\n });\n}\nexport default createPrompt((config, done) => {\n const { loop = true, pageSize = 7 } = config;\n const firstRender = useRef(true);\n const theme = makeTheme(selectTheme, config.theme);\n const [status, setStatus] = useState('idle');\n const prefix = usePrefix({ status, theme });\n const searchTimeoutRef = useRef();\n const items = useMemo(() => normalizeChoices(config.choices), [config.choices]);\n const bounds = useMemo(() => {\n const first = items.findIndex(isSelectable);\n const last = items.findLastIndex(isSelectable);\n if (first === -1) {\n throw new ValidationError('[select prompt] No selectable choices. All choices are disabled.');\n }\n return { first, last };\n }, [items]);\n const defaultItemIndex = useMemo(() => {\n if (!('default' in config))\n return -1;\n return items.findIndex((item) => isSelectable(item) && item.value === config.default);\n }, [config.default, items]);\n const [active, setActive] = useState(defaultItemIndex === -1 ? bounds.first : defaultItemIndex);\n // Safe to assume the cursor position always point to a Choice.\n const selectedChoice = items[active];\n useKeypress((key, rl) => {\n clearTimeout(searchTimeoutRef.current);\n if (isEnterKey(key)) {\n setStatus('done');\n done(selectedChoice.value);\n }\n else if (isUpKey(key) || isDownKey(key)) {\n rl.clearLine(0);\n if (loop ||\n (isUpKey(key) && active !== bounds.first) ||\n (isDownKey(key) && active !== bounds.last)) {\n const offset = isUpKey(key) ? -1 : 1;\n let next = active;\n do {\n next = (next + offset + items.length) % items.length;\n } while (!isSelectable(items[next]));\n setActive(next);\n }\n }\n else if (isNumberKey(key) && !Number.isNaN(Number(rl.line))) {\n const position = Number(rl.line) - 1;\n const item = items[position];\n if (item != null && isSelectable(item)) {\n setActive(position);\n }\n searchTimeoutRef.current = setTimeout(() => {\n rl.clearLine(0);\n }, 700);\n }\n else if (isBackspaceKey(key)) {\n rl.clearLine(0);\n }\n else {\n // Default to search\n const searchTerm = rl.line.toLowerCase();\n const matchIndex = items.findIndex((item) => {\n if (Separator.isSeparator(item) || !isSelectable(item))\n return false;\n return item.name.toLowerCase().startsWith(searchTerm);\n });\n if (matchIndex !== -1) {\n setActive(matchIndex);\n }\n searchTimeoutRef.current = setTimeout(() => {\n rl.clearLine(0);\n }, 700);\n }\n });\n useEffect(() => () => {\n clearTimeout(searchTimeoutRef.current);\n }, []);\n const message = theme.style.message(config.message, status);\n let helpTipTop = '';\n let helpTipBottom = '';\n if (theme.helpMode === 'always' ||\n (theme.helpMode === 'auto' && firstRender.current)) {\n firstRender.current = false;\n if (items.length > pageSize) {\n helpTipBottom = `\\n${theme.style.help(`(${config.instructions?.pager ?? 'Use arrow keys to reveal more choices'})`)}`;\n }\n else {\n helpTipTop = theme.style.help(`(${config.instructions?.navigation ?? 'Use arrow keys'})`);\n }\n }\n const page = usePagination({\n items,\n active,\n renderItem({ item, isActive, index }) {\n if (Separator.isSeparator(item)) {\n return ` ${item.separator}`;\n }\n const indexLabel = theme.indexMode === 'number' ? `${index + 1}. ` : '';\n if (item.disabled) {\n const disabledLabel = typeof item.disabled === 'string' ? item.disabled : '(disabled)';\n return theme.style.disabled(`${indexLabel}${item.name} ${disabledLabel}`);\n }\n const color = isActive ? theme.style.highlight : (x) => x;\n const cursor = isActive ? theme.icon.cursor : ` `;\n return color(`${cursor} ${indexLabel}${item.name}`);\n },\n pageSize,\n loop,\n });\n if (status === 'done') {\n return `${prefix} ${message} ${theme.style.answer(selectedChoice.short)}`;\n }\n const choiceDescription = selectedChoice.description\n ? `\\n${theme.style.description(selectedChoice.description)}`\n : ``;\n return `${[prefix, message, helpTipTop].filter(Boolean).join(' ')}\\n${page}${helpTipBottom}${choiceDescription}${ansiEscapes.cursorHide}`;\n});\nexport { Separator } from '@inquirer/core';\n","{\n \"name\": \"@hyper-fetch/cli\",\n \"version\": \"0.0.0\",\n \"description\": \"Hyper Fetch cli for code generation and utilities\",\n \"author\": \"Maciej Pyrc <maciekpyrc@gmail.com>, Kacper Skawina <kacper.skawina@gmail.com>\",\n \"homepage\": \"https://hyperfetch.bettertyped.com/\",\n \"license\": \"Apache-2.0\",\n \"main\": \"dist/index.js\",\n \"module\": \"dist/index.js\",\n \"types\": \"dist/index.d.ts\",\n \"source\": \"src/index.ts\",\n \"cli\": \"src/cli/index.ts\",\n \"climain\": \"dist/index.js\",\n \"bin\": \"dist/index.js\",\n \"scripts\": {\n \"test\": \"vitest run\",\n \"dev\": \"npx tsx ./src/cli/index.ts\",\n \"prebuild\": \"yarn update:version\",\n \"build\": \"vite build\",\n \"update:version\": \"node ../../scripts/update-package-version.js --prefix hyper-fetch-cli-v\",\n \"lint\": \"eslint . --ext .js,.jsx,.tsx,.ts --fix\",\n \"format\": \"prettier --write .\",\n \"typecheck\": \"tsc --noEmit --emitDeclarationOnly false && tsc --noEmit -p __tests__/tsconfig.json\",\n \"tests\": \"yarn lint-staged\",\n \"release\": \"yarn semantic-release --extends ../../release.config.js -t 'hyper-fetch-cli-v${version}'\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.com/\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/BetterTyped/hyper-fetch.git\",\n \"directory\": \"packages/cli\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/BetterTyped/hyper-fetch/issues\"\n },\n \"dependencies\": {\n \"@anttiviljami/dtsgenerator\": \"^3.20.0\",\n \"@apidevtools/json-schema-ref-parser\": \"^11.9.3\",\n \"@hyper-fetch/core\": \"*\",\n \"@inquirer/prompts\": \"^7.6.0\",\n \"chalk\": \"^5.4.1\",\n \"cli-table3\": \"^0.6.5\",\n \"commander\": \"^11.0.0\",\n \"execa\": \"^8.0.1\",\n \"fs-extra\": \"^11.3.0\",\n \"lodash\": \"^4.17.21\",\n \"openapi-types\": \"^12.1.3\",\n \"ora\": \"^8.2.0\",\n \"prettier\": \"^3.6.2\",\n \"react\": \"^19.1.0\",\n \"react-dom\": \"^19.1.0\",\n \"zod\": \"^4.0.2\"\n },\n \"devDependencies\": {\n \"@types/fs-extra\": \"^11.0.4\",\n \"abortcontroller-polyfill\": \"^1.7.5\"\n },\n \"lint-staged\": {\n \"*.{js,jsx,ts,tsx}\": [\n \"vitest related --run --passWithNoTests\"\n ]\n },\n \"keywords\": [\n \"codegen\",\n \"openapi\",\n \"hyper fetch\",\n \"swagger\",\n \"openapi schema\",\n \"code generator\"\n ]\n}\n","/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n var _a;\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod ?? {},\n enumerable: false,\n });\n (_a = inst._zod).traits ?? (_a.traits = new Set());\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n for (const k in _.prototype) {\n if (!(k in inst))\n Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });\n }\n inst._zod.constr = _;\n inst._zod.def = def;\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error();\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nexport function defineLazy(object, key, getter) {\n const set = false;\n Object.defineProperty(object, key, {\n get() {\n if (!set) {\n const value = getter();\n object[key] = value;\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport const captureStackTrace = Error.captureStackTrace\n ? Error.captureStackTrace\n : (..._args) => { };\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const newShape = {};\n const currDef = schema._zod.def; //.shape;\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // pick key\n newShape[key] = currDef.shape[key];\n }\n return clone(schema, {\n ...schema._zod.def,\n shape: newShape,\n checks: [],\n });\n}\nexport function omit(schema, mask) {\n const newShape = { ...schema._zod.def.shape };\n const currDef = schema._zod.def; //.shape;\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n return clone(schema, {\n ...schema._zod.def,\n shape: newShape,\n checks: [],\n });\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const def = {\n ...schema._zod.def,\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: [], // delete existing checks\n };\n return clone(schema, def);\n}\nexport function merge(a, b) {\n return clone(a, {\n ...a._zod.def,\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n catchall: b._zod.def.catchall,\n checks: [], // delete existing checks\n });\n}\nexport function partial(Class, schema, mask) {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n return clone(schema, {\n ...schema._zod.def,\n shape,\n checks: [],\n });\n}\nexport function required(Class, schema, mask) {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n return clone(schema, {\n ...schema._zod.def,\n shape,\n // optional: [],\n checks: [],\n });\n}\nexport function aborted(x, startIndex = 0) {\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true)\n return true;\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n Object.defineProperty(inst, \"message\", {\n get() {\n return JSON.stringify(def, util.jsonStringifyReplacer, 2);\n },\n enumerable: true,\n // configurable: false,\n });\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(path) {\n const segs = [];\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => a.path.length - b.path.length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\n","export const cuid = /^[cC][^\\s-]{8,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/;\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp =\n// /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$/;\nexport const hostname = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\nexport const e164 = /^\\+(?:[0-9]){6,14}[0-9]$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^\\d+n?$/;\nexport const integer = /^\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?/i;\nexport const boolean = /true|false/i;\nconst _null = /null/i;\nexport { _null as null };\nconst _undefined = /undefined/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n","// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n","export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n","export const version = {\n major: 4,\n minor: 0,\n patch: 2,\n};\n","import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n //\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n inst._zod.run = (payload, ctx) => {\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n inst[\"~standard\"] = {\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n };\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n const orig = payload.value;\n const url = new URL(orig);\n const href = url.href;\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: regexes.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // payload.value = url.href;\n if (!orig.endsWith(\"/\") && href.endsWith(\"/\")) {\n payload.value = href.slice(0, -1);\n }\n else {\n payload.value = href;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = `ipv4`;\n });\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = `ipv6`;\n });\n inst._zod.check = (payload) => {\n try {\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const [address, prefix] = payload.value.split(\"/\");\n try {\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n if (data.length % 4 !== 0)\n return false;\n try {\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.contentEncoding = \"base64\";\n });\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.contentEncoding = \"base64url\";\n });\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checksp\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handleObjectResult(result, final, key) {\n // if(isOptional)\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n final.value[key] = result.value;\n}\nfunction handleOptionalObjectResult(result, final, key, input) {\n if (result.issues.length) {\n // validation failed against value schema\n if (input[key] === undefined) {\n // if input was undefined, ignore the error\n if (key in input) {\n final.value[key] = undefined;\n }\n else {\n final.value[key] = result.value;\n }\n }\n else {\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n }\n else if (result.value === undefined) {\n // validation returned `undefined`\n if (key in input)\n final.value[key] = undefined;\n }\n else {\n // non-undefined value\n final.value[key] = result.value;\n }\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n const _normalized = util.cached(() => {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!(def.shape[k] instanceof $ZodType)) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n shape: def.shape,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n });\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {}`);\n for (const key of normalized.keys) {\n if (normalized.optionalKeys.has(key)) {\n const id = ids[key];\n doc.write(`const ${id} = ${parseStr(key)};`);\n const k = util.esc(key);\n doc.write(`\n if (${id}.issues.length) {\n if (input[${k}] === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n payload.issues = payload.issues.concat(\n ${id}.issues.map((iss) => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}],\n }))\n );\n }\n } else if (${id}.value === undefined) {\n if (${k} in input) newResult[${k}] = undefined;\n } else {\n newResult[${k}] = ${id}.value;\n }\n `);\n }\n else {\n const id = ids[key];\n // const id = ids[key];\n doc.write(`const ${id} = ${parseStr(key)};`);\n doc.write(`\n if (${id}.issues.length) payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${util.esc(key)}, ...iss.path] : [${util.esc(key)}]\n })));`);\n doc.write(`newResult[${util.esc(key)}] = ${id}.value`);\n }\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n }\n else {\n payload.value = {};\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n // do not add omitted optional keys\n // if (!(key in input)) {\n // if (optionalKeys.has(key)) continue;\n // payload.issues.push({\n // code: \"invalid_type\",\n // path: [key],\n // expected: \"nonoptional\",\n // note: `Missing required key: \"${key}\"`,\n // input,\n // inst,\n // });\n // }\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n const isOptional = el._zod.optin === \"optional\" && el._zod.optout === \"optional\";\n if (r instanceof Promise) {\n proms.push(r.then((r) => isOptional ? handleOptionalObjectResult(r, payload, key, input) : handleObjectResult(r, payload, key)));\n }\n else if (isOptional) {\n handleOptionalObjectResult(r, payload, key, input);\n }\n else {\n handleObjectResult(r, payload, key);\n }\n }\n }\n if (!catchall) {\n // return payload;\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n const unrecognized = [];\n // iterate over input keys\n const keySet = value.keySet;\n const _catchall = catchall._zod;\n const t = _catchall.def.type;\n for (const key of Object.keys(input)) {\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handleObjectResult(r, payload, key)));\n }\n else {\n handleObjectResult(r, payload, key);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n if (def.unionFallback) {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n if (left.issues.length) {\n result.issues.push(...left.issues);\n }\n if (right.issues.length) {\n result.issues.push(...right.issues);\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n const optStart = items.length - [...items].reverse().findIndex((item) => item._zod.optin !== \"optional\");\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n if (!def.rest) {\n const tooBig = input.length > items.length;\n const tooSmall = input.length < optStart - 1;\n if (tooBig || tooSmall) {\n payload.issues.push({\n input,\n inst,\n origin: \"array\",\n ...(tooBig ? { code: \"too_big\", maximum: items.length } : { code: \"too_small\", minimum: items.length }),\n });\n return payload;\n }\n }\n let i = -1;\n for (const item of items) {\n i++;\n if (i >= input.length)\n if (i >= optStart)\n continue;\n const result = item._zod.run({\n value: input[i],\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n if (def.rest) {\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({\n value: el,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n if (def.keyType._zod.values) {\n const values = def.keyType._zod.values;\n payload.value = {};\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!values.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (keyResult.issues.length) {\n payload.issues.push({\n origin: \"record\",\n code: \"invalid_key\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n payload.value[keyResult.value] = keyResult.value;\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_key\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n inst._zod.values = new Set(values);\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (inst._zod.values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.values = new Set(def.values);\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? o.toString() : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (inst._zod.values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const _out = def.transform(payload.value, payload);\n if (_ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n return payload;\n };\n});\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n return def.innerType._zod.run(payload, ctx);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault always returns the default value immediately.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n inst._zod.parse = (payload, ctx) => {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def, ctx));\n }\n return handlePipeResult(left, def, ctx);\n };\n});\nfunction handlePipeResult(left, def, ctx) {\n if (util.aborted(left)) {\n return left;\n }\n return def.out._zod.run({ value: left.value, issues: left.issues }, ctx);\n}\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (part instanceof $ZodType) {\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"template_literal\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"innerType\", () => def.getter());\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType._zod.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType._zod.optout);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n","export const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new Map();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n if (this._idmap.has(meta.id)) {\n throw new Error(`ID ${meta.id} already exists in the registry`);\n }\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new Map();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n return { ...pm, ...this._map.get(schema) };\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\nexport const globalRegistry = /*@__PURE__*/ registry();\n","import * as checks from \"./checks.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass<schemas.$ZodTuple>,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// export function _refine<T>(\n// Class: util.SchemaClass<schemas.$ZodCustom>,\n// fn: (arg: NoInfer<T>) => util.MaybeAsync<unknown>,\n// _params: string | $ZodCustomParams = {}\n// ): checks.$ZodCheck<T> {\n// return _custom(Class, fn, _params);\n// }\n// same as _custom but defaults to abort:false\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Pipe = Classes.Pipe ?? schemas.$ZodPipe;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const _Transform = Classes.Transform ?? schemas.$ZodTransform;\n const tx = new _Transform({\n type: \"transform\",\n transform: (input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: tx,\n });\n return {};\n }\n },\n error: params.error,\n });\n // params.error;\n const innerPipe = new _Pipe({\n type: \"pipe\",\n in: new _String({ type: \"string\", error: params.error }),\n out: tx,\n error: params.error,\n });\n const outerPipe = new _Pipe({\n type: \"pipe\",\n in: innerPipe,\n out: new _Boolean({\n type: \"boolean\",\n error: params.error,\n }),\n error: params.error,\n });\n return outerPipe;\n}\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n","import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n","import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => inst.issues.push(issue),\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => inst.issues.push(...issues),\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n","import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n","import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n inst.def = def;\n Object.defineProperty(inst, \"_def\", { value: def });\n // base methods\n inst.check = (...checks) => {\n return inst.clone({\n ...def,\n checks: [\n ...(def.checks ?? []),\n ...checks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }\n // { parent: true }\n );\n };\n inst.clone = (def, params) => core.clone(inst, def, params);\n inst.brand = () => inst;\n inst.register = ((reg, meta) => {\n reg.add(inst, meta);\n return inst;\n });\n // parsing\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n // refinements\n inst.refine = (check, params) => inst.check(refine(check, params));\n inst.superRefine = (refinement) => inst.check(superRefine(refinement));\n inst.overwrite = (fn) => inst.check(checks.overwrite(fn));\n // wrappers\n inst.optional = () => optional(inst);\n inst.nullable = () => nullable(inst);\n inst.nullish = () => optional(nullable(inst));\n inst.nonoptional = (params) => nonoptional(inst, params);\n inst.array = () => array(inst);\n inst.or = (arg) => union([inst, arg]);\n inst.and = (arg) => intersection(inst, arg);\n inst.transform = (tx) => pipe(inst, transform(tx));\n inst.default = (def) => _default(inst, def);\n inst.prefault = (def) => prefault(inst, def);\n // inst.coalesce = (def, params) => coalesce(inst, def, params);\n inst.catch = (params) => _catch(inst, params);\n inst.pipe = (target) => pipe(inst, target);\n inst.readonly = () => readonly(inst);\n // meta\n inst.describe = (description) => {\n const cl = inst.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n };\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n inst.meta = (...args) => {\n if (args.length === 0) {\n return core.globalRegistry.get(inst);\n }\n const cl = inst.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n };\n // helpers\n inst.isOptional = () => inst.safeParse(undefined).success;\n inst.isNullable = () => inst.safeParse(null).success;\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n // validations\n inst.regex = (...args) => inst.check(checks.regex(...args));\n inst.includes = (...args) => inst.check(checks.includes(...args));\n inst.startsWith = (...args) => inst.check(checks.startsWith(...args));\n inst.endsWith = (...args) => inst.check(checks.endsWith(...args));\n inst.min = (...args) => inst.check(checks.minLength(...args));\n inst.max = (...args) => inst.check(checks.maxLength(...args));\n inst.length = (...args) => inst.check(checks.length(...args));\n inst.nonempty = (...args) => inst.check(checks.minLength(1, ...args));\n inst.lowercase = (params) => inst.check(checks.lowercase(params));\n inst.uppercase = (params) => inst.check(checks.uppercase(params));\n // transforms\n inst.trim = () => inst.check(checks.trim());\n inst.normalize = (...args) => inst.check(checks.normalize(...args));\n inst.toLowerCase = () => inst.check(checks.toLowerCase());\n inst.toUpperCase = () => inst.check(checks.toUpperCase());\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.int = (params) => inst.check(int(params));\n inst.safe = (params) => inst.check(int(params));\n inst.positive = (params) => inst.check(checks.gt(0, params));\n inst.nonnegative = (params) => inst.check(checks.gte(0, params));\n inst.negative = (params) => inst.check(checks.lt(0, params));\n inst.nonpositive = (params) => inst.check(checks.lte(0, params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n inst.step = (value, params) => inst.check(checks.multipleOf(value, params));\n // inst.finite = (params) => inst.check(core.finite(params));\n inst.finite = () => inst;\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst.element = def.element;\n inst.min = (minLength, params) => inst.check(checks.minLength(minLength, params));\n inst.nonempty = (params) => inst.check(checks.minLength(1, params));\n inst.max = (maxLength, params) => inst.check(checks.maxLength(maxLength, params));\n inst.length = (len, params) => inst.check(checks.length(len, params));\n inst.unwrap = () => inst.element;\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return literal(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObject.init(inst, def);\n ZodType.init(inst, def);\n util.defineLazy(inst, \"shape\", () => def.shape);\n inst.keyof = () => _enum(Object.keys(inst._zod.def.shape));\n inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });\n inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n // inst.nonstrict = () => inst.clone({ ...inst._zod.def, catchall: api.unknown() });\n inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });\n inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });\n inst.extend = (incoming) => {\n return util.extend(inst, incoming);\n };\n inst.merge = (other) => util.merge(inst, other);\n inst.pick = (mask) => util.pick(inst, mask);\n inst.omit = (mask) => util.omit(inst, mask);\n inst.partial = (...args) => util.partial(ZodOptional, inst, args[0]);\n inst.required = (...args) => util.required(ZodNonOptional, inst, args[0]);\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output<core.$ZodRecordKey>;\nexport function partialRecord(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType: union([keyType, never()]),\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n _issue.continue ?? (_issue.continue = true);\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n payload.value = output;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn) {\n const ch = check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort);\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n });\n return ch;\n}\nfunction _instanceof(cls, params = {\n error: `Input not instance of ${cls.name}`,\n}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Pipe: ZodPipe,\n Boolean: ZodBoolean,\n String: ZodString,\n Transform: ZodTransform,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\n// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */\nexport function preprocess(fn, schema) {\n return pipe(transform(fn), schema);\n}\n","const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","/* eslint-env browser */\n\nconst level = (() => {\n\tif (!('navigator' in globalThis)) {\n\t\treturn 0;\n\t}\n\n\tif (globalThis.navigator.userAgentData) {\n\t\tconst brand = navigator.userAgentData.brands.find(({brand}) => brand === 'Chromium');\n\t\tif (brand && brand.version > 93) {\n\t\t\treturn 3;\n\t\t}\n\t}\n\n\tif (/\\b(Chrome|Chromium)\\//.test(globalThis.navigator.userAgent)) {\n\t\treturn 1;\n\t}\n\n\treturn 0;\n})();\n\nconst colorSupport = level !== 0 && {\n\tlevel,\n\thasBasic: true,\n\thas256: level >= 2,\n\thas16m: level >= 3,\n};\n\nconst supportsColor = {\n\tstdout: colorSupport,\n\tstderr: colorSupport,\n};\n\nexport default supportsColor;\n","// TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.\nexport function stringReplaceAll(string, substring, replacer) {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.slice(endIndex, index) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n\nexport function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n","import ansiStyles from '#ansi-styles';\nimport supportsColor from '#supports-color';\nimport { // eslint-disable-line import/order\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex,\n} from './utilities.js';\n\nconst {stdout: stdoutColor, stderr: stderrColor} = supportsColor;\n\nconst GENERATOR = Symbol('GENERATOR');\nconst STYLER = Symbol('STYLER');\nconst IS_EMPTY = Symbol('IS_EMPTY');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m',\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nexport class Chalk {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = (...strings) => strings.join(' ');\n\tapplyOptions(chalk, options);\n\n\tObject.setPrototypeOf(chalk, createChalk.prototype);\n\n\treturn chalk;\n};\n\nfunction createChalk(options) {\n\treturn chalkFactory(options);\n}\n\nObject.setPrototypeOf(createChalk.prototype, Function.prototype);\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t},\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this[STYLER], true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t},\n};\n\nconst getModelAnsi = (model, level, type, ...arguments_) => {\n\tif (model === 'rgb') {\n\t\tif (level === 'ansi16m') {\n\t\t\treturn ansiStyles[type].ansi16m(...arguments_);\n\t\t}\n\n\t\tif (level === 'ansi256') {\n\t\t\treturn ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));\n\t\t}\n\n\t\treturn ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));\n\t}\n\n\tif (model === 'hex') {\n\t\treturn getModelAnsi('rgb', level, type, ...ansiStyles.hexToRgb(...arguments_));\n\t}\n\n\treturn ansiStyles[type][model](...arguments_);\n};\n\nconst usedModels = ['rgb', 'hex', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansiStyles.color.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansiStyles.bgColor.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this[GENERATOR].level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis[GENERATOR].level = level;\n\t\t},\n\t},\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent,\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\t// Single argument is hot path, implicit coercion is faster than anything\n\t// eslint-disable-next-line no-implicit-coercion\n\tconst builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder[GENERATOR] = self;\n\tbuilder[STYLER] = _styler;\n\tbuilder[IS_EMPTY] = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self[IS_EMPTY] ? '' : string;\n\t}\n\n\tlet styler = self[STYLER];\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.includes('\\u001B')) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nObject.defineProperties(createChalk.prototype, styles);\n\nconst chalk = createChalk();\nexport const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});\n\nexport {\n\tmodifierNames,\n\tforegroundColorNames,\n\tbackgroundColorNames,\n\tcolorNames,\n\n\t// TODO: Remove these aliases in the next major version\n\tmodifierNames as modifiers,\n\tforegroundColorNames as foregroundColors,\n\tbackgroundColorNames as backgroundColors,\n\tcolorNames as colors,\n} from './vendor/ansi-styles/index.js';\n\nexport {\n\tstdoutColor as supportsColor,\n\tstderrColor as supportsColorStderr,\n};\n\nexport default chalk;\n","/* eslint-disable no-console */\nimport chalk from \"chalk\";\n\nexport const logger = {\n info(...args: unknown[]) {\n console.log(chalk.cyan(\"ℹ\"), chalk.blue.bold(\"info\"), ...args);\n },\n warn(...args: unknown[]) {\n console.log(chalk.yellow(\"⚠\"), chalk.yellow.bold(\"warn\"), ...args);\n },\n error(...args: unknown[]) {\n console.log(chalk.red(\"✖\"), chalk.red.bold(\"error\"), ...args);\n },\n success(...args: unknown[]) {\n console.log(chalk.green(\"✔\"), chalk.green.bold(\"success\"), ...args);\n },\n break() {\n console.log(\"\");\n },\n};\n","import chalk from \"chalk\";\nimport { z } from \"zod\";\n\nimport { logger } from \"utils/logger\";\n\nexport function handleError(error: unknown) {\n logger.break();\n logger.error(`Something went wrong. Please check the error below for more details.`);\n logger.error(`If the problem persists, please open an issue on GitHub.`);\n logger.break();\n if (typeof error === \"string\") {\n logger.error(error);\n logger.break();\n process.exit(1);\n }\n\n if (error instanceof z.ZodError) {\n logger.error(\"Validation failed:\");\n // eslint-disable-next-line no-restricted-syntax\n for (const [key, value] of Object.entries(error.flatten().fieldErrors)) {\n logger.error(`- ${chalk.cyan(key)}: ${value}`);\n }\n logger.break();\n process.exit(1);\n }\n\n if (error instanceof Error) {\n logger.error(error.message);\n logger.break();\n process.exit(1);\n }\n\n logger.error(JSON.stringify({ error }));\n\n logger.break();\n process.exit(1);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.removeExtension = exports.fileExistsAsync = exports.readJsonFromDiskAsync = exports.readJsonFromDiskSync = exports.fileExistsSync = void 0;\nvar fs = require(\"fs\");\nfunction fileExistsSync(path) {\n // If the file doesn't exist, avoid throwing an exception over the native barrier for every miss\n if (!fs.existsSync(path)) {\n return false;\n }\n try {\n var stats = fs.statSync(path);\n return stats.isFile();\n }\n catch (err) {\n // If error, assume file did not exist\n return false;\n }\n}\nexports.fileExistsSync = fileExistsSync;\n/**\n * Reads package.json from disk\n *\n * @param file Path to package.json\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction readJsonFromDiskSync(packageJsonPath) {\n if (!fs.existsSync(packageJsonPath)) {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n return require(packageJsonPath);\n}\nexports.readJsonFromDiskSync = readJsonFromDiskSync;\nfunction readJsonFromDiskAsync(path, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ncallback) {\n fs.readFile(path, \"utf8\", function (err, result) {\n // If error, assume file did not exist\n if (err || !result) {\n return callback();\n }\n var json = JSON.parse(result);\n return callback(undefined, json);\n });\n}\nexports.readJsonFromDiskAsync = readJsonFromDiskAsync;\nfunction fileExistsAsync(path2, callback2) {\n fs.stat(path2, function (err, stats) {\n if (err) {\n // If error assume file does not exist\n return callback2(undefined, false);\n }\n callback2(undefined, stats ? stats.isFile() : false);\n });\n}\nexports.fileExistsAsync = fileExistsAsync;\nfunction removeExtension(path) {\n return path.substring(0, path.lastIndexOf(\".\")) || path;\n}\nexports.removeExtension = removeExtension;\n//# sourceMappingURL=filesystem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAbsoluteMappingEntries = void 0;\nvar path = require(\"path\");\n/**\n * Converts an absolute baseUrl and paths to an array of absolute mapping entries.\n * The array is sorted by longest prefix.\n * Having an array with entries allows us to keep a sorting order rather than\n * sort by keys each time we use the mappings.\n *\n * @param absoluteBaseUrl\n * @param paths\n * @param addMatchAll\n */\nfunction getAbsoluteMappingEntries(absoluteBaseUrl, paths, addMatchAll) {\n // Resolve all paths to absolute form once here, and sort them by\n // longest prefix once here, this saves time on each request later.\n // We need to put them in an array to preserve the sorting order.\n var sortedKeys = sortByLongestPrefix(Object.keys(paths));\n var absolutePaths = [];\n for (var _i = 0, sortedKeys_1 = sortedKeys; _i < sortedKeys_1.length; _i++) {\n var key = sortedKeys_1[_i];\n absolutePaths.push({\n pattern: key,\n paths: paths[key].map(function (pathToResolve) {\n return path.resolve(absoluteBaseUrl, pathToResolve);\n }),\n });\n }\n // If there is no match-all path specified in the paths section of tsconfig, then try to match\n // all paths relative to baseUrl, this is how typescript works.\n if (!paths[\"*\"] && addMatchAll) {\n absolutePaths.push({\n pattern: \"*\",\n paths: [\"\".concat(absoluteBaseUrl.replace(/\\/$/, \"\"), \"/*\")],\n });\n }\n return absolutePaths;\n}\nexports.getAbsoluteMappingEntries = getAbsoluteMappingEntries;\n/**\n * Sort path patterns.\n * If a module name can be matched with multiple patterns then pattern with the longest prefix will be picked.\n */\nfunction sortByLongestPrefix(arr) {\n return arr\n .concat()\n .sort(function (a, b) { return getPrefixLength(b) - getPrefixLength(a); });\n}\nfunction getPrefixLength(pattern) {\n var prefixLength = pattern.indexOf(\"*\");\n return pattern.substr(0, prefixLength).length;\n}\n//# sourceMappingURL=mapping-entry.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.exhaustiveTypeException = exports.getStrippedPath = exports.getPathsToTry = void 0;\nvar path = require(\"path\");\nvar path_1 = require(\"path\");\nvar filesystem_1 = require(\"./filesystem\");\n/**\n * Builds a list of all physical paths to try by:\n * 1. Check for file named exactly as request.\n * 2. Check for files named as request ending in any of the extensions.\n * 3. Check for file specified in package.json's main property.\n * 4. Check for files named as request ending in \"index\" with any of the extensions.\n */\nfunction getPathsToTry(extensions, absolutePathMappings, requestedModule) {\n if (!absolutePathMappings || !requestedModule || requestedModule[0] === \".\") {\n return undefined;\n }\n var pathsToTry = [];\n for (var _i = 0, absolutePathMappings_1 = absolutePathMappings; _i < absolutePathMappings_1.length; _i++) {\n var entry = absolutePathMappings_1[_i];\n var starMatch = entry.pattern === requestedModule\n ? \"\"\n : matchStar(entry.pattern, requestedModule);\n if (starMatch !== undefined) {\n var _loop_1 = function (physicalPathPattern) {\n var physicalPath = physicalPathPattern.replace(\"*\", starMatch);\n pathsToTry.push({ type: \"file\", path: physicalPath });\n pathsToTry.push.apply(pathsToTry, extensions.map(function (e) { return ({ type: \"extension\", path: physicalPath + e }); }));\n pathsToTry.push({\n type: \"package\",\n path: path.join(physicalPath, \"/package.json\"),\n });\n var indexPath = path.join(physicalPath, \"/index\");\n pathsToTry.push.apply(pathsToTry, extensions.map(function (e) { return ({ type: \"index\", path: indexPath + e }); }));\n };\n for (var _a = 0, _b = entry.paths; _a < _b.length; _a++) {\n var physicalPathPattern = _b[_a];\n _loop_1(physicalPathPattern);\n }\n }\n }\n return pathsToTry.length === 0 ? undefined : pathsToTry;\n}\nexports.getPathsToTry = getPathsToTry;\n// Not sure why we don't just return the full found path?\nfunction getStrippedPath(tryPath) {\n return tryPath.type === \"index\"\n ? (0, path_1.dirname)(tryPath.path)\n : tryPath.type === \"file\"\n ? tryPath.path\n : tryPath.type === \"extension\"\n ? (0, filesystem_1.removeExtension)(tryPath.path)\n : tryPath.type === \"package\"\n ? tryPath.path\n : exhaustiveTypeException(tryPath.type);\n}\nexports.getStrippedPath = getStrippedPath;\nfunction exhaustiveTypeException(check) {\n throw new Error(\"Unknown type \".concat(check));\n}\nexports.exhaustiveTypeException = exhaustiveTypeException;\n/**\n * Matches pattern with a single star against search.\n * Star must match at least one character to be considered a match.\n *\n * @param patttern for example \"foo*\"\n * @param search for example \"fooawesomebar\"\n * @returns the part of search that * matches, or undefined if no match.\n */\nfunction matchStar(pattern, search) {\n if (search.length < pattern.length) {\n return undefined;\n }\n if (pattern === \"*\") {\n return search;\n }\n var star = pattern.indexOf(\"*\");\n if (star === -1) {\n return undefined;\n }\n var part1 = pattern.substring(0, star);\n var part2 = pattern.substring(star + 1);\n if (search.substr(0, star) !== part1) {\n return undefined;\n }\n if (search.substr(search.length - part2.length) !== part2) {\n return undefined;\n }\n return search.substr(star, search.length - part2.length);\n}\n//# sourceMappingURL=try-path.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.matchFromAbsolutePaths = exports.createMatchPath = void 0;\nvar path = require(\"path\");\nvar Filesystem = require(\"./filesystem\");\nvar MappingEntry = require(\"./mapping-entry\");\nvar TryPath = require(\"./try-path\");\n/**\n * Creates a function that can resolve paths according to tsconfig paths property.\n *\n * @param absoluteBaseUrl Absolute version of baseUrl as specified in tsconfig.\n * @param paths The paths as specified in tsconfig.\n * @param mainFields A list of package.json field names to try when resolving module files. Select a nested field using an array of field names.\n * @param addMatchAll Add a match-all \"*\" rule if none is present\n * @returns a function that can resolve paths.\n */\nfunction createMatchPath(absoluteBaseUrl, paths, mainFields, addMatchAll) {\n if (mainFields === void 0) { mainFields = [\"main\"]; }\n if (addMatchAll === void 0) { addMatchAll = true; }\n var absolutePaths = MappingEntry.getAbsoluteMappingEntries(absoluteBaseUrl, paths, addMatchAll);\n return function (requestedModule, readJson, fileExists, extensions) {\n return matchFromAbsolutePaths(absolutePaths, requestedModule, readJson, fileExists, extensions, mainFields);\n };\n}\nexports.createMatchPath = createMatchPath;\n/**\n * Finds a path from tsconfig that matches a module load request.\n *\n * @param absolutePathMappings The paths to try as specified in tsconfig but resolved to absolute form.\n * @param requestedModule The required module name.\n * @param readJson Function that can read json from a path (useful for testing).\n * @param fileExists Function that checks for existence of a file at a path (useful for testing).\n * @param extensions File extensions to probe for (useful for testing).\n * @param mainFields A list of package.json field names to try when resolving module files. Select a nested field using an array of field names.\n * @returns the found path, or undefined if no path was found.\n */\nfunction matchFromAbsolutePaths(absolutePathMappings, requestedModule, readJson, fileExists, extensions, mainFields) {\n if (readJson === void 0) { readJson = Filesystem.readJsonFromDiskSync; }\n if (fileExists === void 0) { fileExists = Filesystem.fileExistsSync; }\n if (extensions === void 0) { extensions = Object.keys(require.extensions); }\n if (mainFields === void 0) { mainFields = [\"main\"]; }\n var tryPaths = TryPath.getPathsToTry(extensions, absolutePathMappings, requestedModule);\n if (!tryPaths) {\n return undefined;\n }\n return findFirstExistingPath(tryPaths, readJson, fileExists, mainFields);\n}\nexports.matchFromAbsolutePaths = matchFromAbsolutePaths;\nfunction findFirstExistingMainFieldMappedFile(packageJson, mainFields, packageJsonPath, fileExists) {\n for (var index = 0; index < mainFields.length; index++) {\n var mainFieldSelector = mainFields[index];\n var candidateMapping = typeof mainFieldSelector === \"string\"\n ? packageJson[mainFieldSelector]\n : mainFieldSelector.reduce(function (obj, key) { return obj[key]; }, packageJson);\n if (candidateMapping && typeof candidateMapping === \"string\") {\n var candidateFilePath = path.join(path.dirname(packageJsonPath), candidateMapping);\n if (fileExists(candidateFilePath)) {\n return candidateFilePath;\n }\n }\n }\n return undefined;\n}\nfunction findFirstExistingPath(tryPaths, readJson, fileExists, mainFields) {\n if (readJson === void 0) { readJson = Filesystem.readJsonFromDiskSync; }\n if (mainFields === void 0) { mainFields = [\"main\"]; }\n for (var _i = 0, tryPaths_1 = tryPaths; _i < tryPaths_1.length; _i++) {\n var tryPath = tryPaths_1[_i];\n if (tryPath.type === \"file\" ||\n tryPath.type === \"extension\" ||\n tryPath.type === \"index\") {\n if (fileExists(tryPath.path)) {\n return TryPath.getStrippedPath(tryPath);\n }\n }\n else if (tryPath.type === \"package\") {\n var packageJson = readJson(tryPath.path);\n if (packageJson) {\n var mainFieldMappedFile = findFirstExistingMainFieldMappedFile(packageJson, mainFields, tryPath.path, fileExists);\n if (mainFieldMappedFile) {\n return mainFieldMappedFile;\n }\n }\n }\n else {\n TryPath.exhaustiveTypeException(tryPath.type);\n }\n }\n return undefined;\n}\n//# sourceMappingURL=match-path-sync.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.matchFromAbsolutePathsAsync = exports.createMatchPathAsync = void 0;\nvar path = require(\"path\");\nvar TryPath = require(\"./try-path\");\nvar MappingEntry = require(\"./mapping-entry\");\nvar Filesystem = require(\"./filesystem\");\n/**\n * See the sync version for docs.\n */\nfunction createMatchPathAsync(absoluteBaseUrl, paths, mainFields, addMatchAll) {\n if (mainFields === void 0) { mainFields = [\"main\"]; }\n if (addMatchAll === void 0) { addMatchAll = true; }\n var absolutePaths = MappingEntry.getAbsoluteMappingEntries(absoluteBaseUrl, paths, addMatchAll);\n return function (requestedModule, readJson, fileExists, extensions, callback) {\n return matchFromAbsolutePathsAsync(absolutePaths, requestedModule, readJson, fileExists, extensions, callback, mainFields);\n };\n}\nexports.createMatchPathAsync = createMatchPathAsync;\n/**\n * See the sync version for docs.\n */\nfunction matchFromAbsolutePathsAsync(absolutePathMappings, requestedModule, readJson, fileExists, extensions, callback, mainFields) {\n if (readJson === void 0) { readJson = Filesystem.readJsonFromDiskAsync; }\n if (fileExists === void 0) { fileExists = Filesystem.fileExistsAsync; }\n if (extensions === void 0) { extensions = Object.keys(require.extensions); }\n if (mainFields === void 0) { mainFields = [\"main\"]; }\n var tryPaths = TryPath.getPathsToTry(extensions, absolutePathMappings, requestedModule);\n if (!tryPaths) {\n return callback();\n }\n findFirstExistingPath(tryPaths, readJson, fileExists, callback, 0, mainFields);\n}\nexports.matchFromAbsolutePathsAsync = matchFromAbsolutePathsAsync;\nfunction findFirstExistingMainFieldMappedFile(packageJson, mainFields, packageJsonPath, fileExistsAsync, doneCallback, index) {\n if (index === void 0) { index = 0; }\n if (index >= mainFields.length) {\n return doneCallback(undefined, undefined);\n }\n var tryNext = function () {\n return findFirstExistingMainFieldMappedFile(packageJson, mainFields, packageJsonPath, fileExistsAsync, doneCallback, index + 1);\n };\n var mainFieldSelector = mainFields[index];\n var mainFieldMapping = typeof mainFieldSelector === \"string\"\n ? packageJson[mainFieldSelector]\n : mainFieldSelector.reduce(function (obj, key) { return obj[key]; }, packageJson);\n if (typeof mainFieldMapping !== \"string\") {\n // Skip mappings that are not pointers to replacement files\n return tryNext();\n }\n var mappedFilePath = path.join(path.dirname(packageJsonPath), mainFieldMapping);\n fileExistsAsync(mappedFilePath, function (err, exists) {\n if (err) {\n return doneCallback(err);\n }\n if (exists) {\n return doneCallback(undefined, mappedFilePath);\n }\n return tryNext();\n });\n}\n// Recursive loop to probe for physical files\nfunction findFirstExistingPath(tryPaths, readJson, fileExists, doneCallback, index, mainFields) {\n if (index === void 0) { index = 0; }\n if (mainFields === void 0) { mainFields = [\"main\"]; }\n var tryPath = tryPaths[index];\n if (tryPath.type === \"file\" ||\n tryPath.type === \"extension\" ||\n tryPath.type === \"index\") {\n fileExists(tryPath.path, function (err, exists) {\n if (err) {\n return doneCallback(err);\n }\n if (exists) {\n return doneCallback(undefined, TryPath.getStrippedPath(tryPath));\n }\n if (index === tryPaths.length - 1) {\n return doneCallback();\n }\n // Continue with the next path\n return findFirstExistingPath(tryPaths, readJson, fileExists, doneCallback, index + 1, mainFields);\n });\n }\n else if (tryPath.type === \"package\") {\n readJson(tryPath.path, function (err, packageJson) {\n if (err) {\n return doneCallback(err);\n }\n if (packageJson) {\n return findFirstExistingMainFieldMappedFile(packageJson, mainFields, tryPath.path, fileExists, function (mainFieldErr, mainFieldMappedFile) {\n if (mainFieldErr) {\n return doneCallback(mainFieldErr);\n }\n if (mainFieldMappedFile) {\n return doneCallback(undefined, mainFieldMappedFile);\n }\n // No field in package json was a valid option. Continue with the next path.\n return findFirstExistingPath(tryPaths, readJson, fileExists, doneCallback, index + 1, mainFields);\n });\n }\n // This is async code, we need to return unconditionally, otherwise the code still falls\n // through and keeps recursing. While this might work in general, libraries that use neo-async\n // like Webpack will actually not allow you to call the same callback twice.\n //\n // An example of where this caused issues:\n // https://github.com/dividab/tsconfig-paths-webpack-plugin/issues/11\n //\n // Continue with the next path\n return findFirstExistingPath(tryPaths, readJson, fileExists, doneCallback, index + 1, mainFields);\n });\n }\n else {\n TryPath.exhaustiveTypeException(tryPath.type);\n }\n}\n//# sourceMappingURL=match-path-async.js.map","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.JSON5 = factory());\n}(this, (function () { 'use strict';\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\tvar _global = createCommonjsModule(function (module) {\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self\n\t // eslint-disable-next-line no-new-func\n\t : Function('return this')();\n\tif (typeof __g == 'number') { __g = global; } // eslint-disable-line no-undef\n\t});\n\n\tvar _core = createCommonjsModule(function (module) {\n\tvar core = module.exports = { version: '2.6.5' };\n\tif (typeof __e == 'number') { __e = core; } // eslint-disable-line no-undef\n\t});\n\tvar _core_1 = _core.version;\n\n\tvar _isObject = function (it) {\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n\tvar _anObject = function (it) {\n\t if (!_isObject(it)) { throw TypeError(it + ' is not an object!'); }\n\t return it;\n\t};\n\n\tvar _fails = function (exec) {\n\t try {\n\t return !!exec();\n\t } catch (e) {\n\t return true;\n\t }\n\t};\n\n\t// Thank's IE8 for his funny defineProperty\n\tvar _descriptors = !_fails(function () {\n\t return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\tvar document = _global.document;\n\t// typeof document.createElement is 'object' in old IE\n\tvar is = _isObject(document) && _isObject(document.createElement);\n\tvar _domCreate = function (it) {\n\t return is ? document.createElement(it) : {};\n\t};\n\n\tvar _ie8DomDefine = !_descriptors && !_fails(function () {\n\t return Object.defineProperty(_domCreate('div'), 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tvar _toPrimitive = function (it, S) {\n\t if (!_isObject(it)) { return it; }\n\t var fn, val;\n\t if (S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; }\n\t if (typeof (fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it))) { return val; }\n\t if (!S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; }\n\t throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n\tvar dP = Object.defineProperty;\n\n\tvar f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n\t _anObject(O);\n\t P = _toPrimitive(P, true);\n\t _anObject(Attributes);\n\t if (_ie8DomDefine) { try {\n\t return dP(O, P, Attributes);\n\t } catch (e) { /* empty */ } }\n\t if ('get' in Attributes || 'set' in Attributes) { throw TypeError('Accessors not supported!'); }\n\t if ('value' in Attributes) { O[P] = Attributes.value; }\n\t return O;\n\t};\n\n\tvar _objectDp = {\n\t\tf: f\n\t};\n\n\tvar _propertyDesc = function (bitmap, value) {\n\t return {\n\t enumerable: !(bitmap & 1),\n\t configurable: !(bitmap & 2),\n\t writable: !(bitmap & 4),\n\t value: value\n\t };\n\t};\n\n\tvar _hide = _descriptors ? function (object, key, value) {\n\t return _objectDp.f(object, key, _propertyDesc(1, value));\n\t} : function (object, key, value) {\n\t object[key] = value;\n\t return object;\n\t};\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tvar _has = function (it, key) {\n\t return hasOwnProperty.call(it, key);\n\t};\n\n\tvar id = 0;\n\tvar px = Math.random();\n\tvar _uid = function (key) {\n\t return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n\tvar _library = false;\n\n\tvar _shared = createCommonjsModule(function (module) {\n\tvar SHARED = '__core-js_shared__';\n\tvar store = _global[SHARED] || (_global[SHARED] = {});\n\n\t(module.exports = function (key, value) {\n\t return store[key] || (store[key] = value !== undefined ? value : {});\n\t})('versions', []).push({\n\t version: _core.version,\n\t mode: _library ? 'pure' : 'global',\n\t copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n\t});\n\t});\n\n\tvar _functionToString = _shared('native-function-to-string', Function.toString);\n\n\tvar _redefine = createCommonjsModule(function (module) {\n\tvar SRC = _uid('src');\n\n\tvar TO_STRING = 'toString';\n\tvar TPL = ('' + _functionToString).split(TO_STRING);\n\n\t_core.inspectSource = function (it) {\n\t return _functionToString.call(it);\n\t};\n\n\t(module.exports = function (O, key, val, safe) {\n\t var isFunction = typeof val == 'function';\n\t if (isFunction) { _has(val, 'name') || _hide(val, 'name', key); }\n\t if (O[key] === val) { return; }\n\t if (isFunction) { _has(val, SRC) || _hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); }\n\t if (O === _global) {\n\t O[key] = val;\n\t } else if (!safe) {\n\t delete O[key];\n\t _hide(O, key, val);\n\t } else if (O[key]) {\n\t O[key] = val;\n\t } else {\n\t _hide(O, key, val);\n\t }\n\t// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n\t})(Function.prototype, TO_STRING, function toString() {\n\t return typeof this == 'function' && this[SRC] || _functionToString.call(this);\n\t});\n\t});\n\n\tvar _aFunction = function (it) {\n\t if (typeof it != 'function') { throw TypeError(it + ' is not a function!'); }\n\t return it;\n\t};\n\n\t// optional / simple context binding\n\n\tvar _ctx = function (fn, that, length) {\n\t _aFunction(fn);\n\t if (that === undefined) { return fn; }\n\t switch (length) {\n\t case 1: return function (a) {\n\t return fn.call(that, a);\n\t };\n\t case 2: return function (a, b) {\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function (a, b, c) {\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function (/* ...args */) {\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n\tvar PROTOTYPE = 'prototype';\n\n\tvar $export = function (type, name, source) {\n\t var IS_FORCED = type & $export.F;\n\t var IS_GLOBAL = type & $export.G;\n\t var IS_STATIC = type & $export.S;\n\t var IS_PROTO = type & $export.P;\n\t var IS_BIND = type & $export.B;\n\t var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] || (_global[name] = {}) : (_global[name] || {})[PROTOTYPE];\n\t var exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {});\n\t var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n\t var key, own, out, exp;\n\t if (IS_GLOBAL) { source = name; }\n\t for (key in source) {\n\t // contains in native\n\t own = !IS_FORCED && target && target[key] !== undefined;\n\t // export native or passed\n\t out = (own ? target : source)[key];\n\t // bind timers to global for call from export context\n\t exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out;\n\t // extend global\n\t if (target) { _redefine(target, key, out, type & $export.U); }\n\t // export\n\t if (exports[key] != out) { _hide(exports, key, exp); }\n\t if (IS_PROTO && expProto[key] != out) { expProto[key] = out; }\n\t }\n\t};\n\t_global.core = _core;\n\t// type bitmap\n\t$export.F = 1; // forced\n\t$export.G = 2; // global\n\t$export.S = 4; // static\n\t$export.P = 8; // proto\n\t$export.B = 16; // bind\n\t$export.W = 32; // wrap\n\t$export.U = 64; // safe\n\t$export.R = 128; // real proto method for `library`\n\tvar _export = $export;\n\n\t// 7.1.4 ToInteger\n\tvar ceil = Math.ceil;\n\tvar floor = Math.floor;\n\tvar _toInteger = function (it) {\n\t return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n\t};\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tvar _defined = function (it) {\n\t if (it == undefined) { throw TypeError(\"Can't call method on \" + it); }\n\t return it;\n\t};\n\n\t// true -> String#at\n\t// false -> String#codePointAt\n\tvar _stringAt = function (TO_STRING) {\n\t return function (that, pos) {\n\t var s = String(_defined(that));\n\t var i = _toInteger(pos);\n\t var l = s.length;\n\t var a, b;\n\t if (i < 0 || i >= l) { return TO_STRING ? '' : undefined; }\n\t a = s.charCodeAt(i);\n\t return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t ? TO_STRING ? s.charAt(i) : a\n\t : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t };\n\t};\n\n\tvar $at = _stringAt(false);\n\t_export(_export.P, 'String', {\n\t // 21.1.3.3 String.prototype.codePointAt(pos)\n\t codePointAt: function codePointAt(pos) {\n\t return $at(this, pos);\n\t }\n\t});\n\n\tvar codePointAt = _core.String.codePointAt;\n\n\tvar max = Math.max;\n\tvar min = Math.min;\n\tvar _toAbsoluteIndex = function (index, length) {\n\t index = _toInteger(index);\n\t return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n\tvar fromCharCode = String.fromCharCode;\n\tvar $fromCodePoint = String.fromCodePoint;\n\n\t// length should be 1, old FF problem\n\t_export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n\t // 21.1.2.2 String.fromCodePoint(...codePoints)\n\t fromCodePoint: function fromCodePoint(x) {\n\t var arguments$1 = arguments;\n\t // eslint-disable-line no-unused-vars\n\t var res = [];\n\t var aLen = arguments.length;\n\t var i = 0;\n\t var code;\n\t while (aLen > i) {\n\t code = +arguments$1[i++];\n\t if (_toAbsoluteIndex(code, 0x10ffff) !== code) { throw RangeError(code + ' is not a valid code point'); }\n\t res.push(code < 0x10000\n\t ? fromCharCode(code)\n\t : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n\t );\n\t } return res.join('');\n\t }\n\t});\n\n\tvar fromCodePoint = _core.String.fromCodePoint;\n\n\t// This is a generated file. Do not edit.\n\tvar Space_Separator = /[\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\n\tvar ID_Start = /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]/;\n\tvar ID_Continue = /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF9\\u1D00-\\u1DF9\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE83\\uDE86-\\uDE99\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/;\n\n\tvar unicode = {\n\t\tSpace_Separator: Space_Separator,\n\t\tID_Start: ID_Start,\n\t\tID_Continue: ID_Continue\n\t};\n\n\tvar util = {\n\t isSpaceSeparator: function isSpaceSeparator (c) {\n\t return typeof c === 'string' && unicode.Space_Separator.test(c)\n\t },\n\n\t isIdStartChar: function isIdStartChar (c) {\n\t return typeof c === 'string' && (\n\t (c >= 'a' && c <= 'z') ||\n\t (c >= 'A' && c <= 'Z') ||\n\t (c === '$') || (c === '_') ||\n\t unicode.ID_Start.test(c)\n\t )\n\t },\n\n\t isIdContinueChar: function isIdContinueChar (c) {\n\t return typeof c === 'string' && (\n\t (c >= 'a' && c <= 'z') ||\n\t (c >= 'A' && c <= 'Z') ||\n\t (c >= '0' && c <= '9') ||\n\t (c === '$') || (c === '_') ||\n\t (c === '\\u200C') || (c === '\\u200D') ||\n\t unicode.ID_Continue.test(c)\n\t )\n\t },\n\n\t isDigit: function isDigit (c) {\n\t return typeof c === 'string' && /[0-9]/.test(c)\n\t },\n\n\t isHexDigit: function isHexDigit (c) {\n\t return typeof c === 'string' && /[0-9A-Fa-f]/.test(c)\n\t },\n\t};\n\n\tvar source;\n\tvar parseState;\n\tvar stack;\n\tvar pos;\n\tvar line;\n\tvar column;\n\tvar token;\n\tvar key;\n\tvar root;\n\n\tvar parse = function parse (text, reviver) {\n\t source = String(text);\n\t parseState = 'start';\n\t stack = [];\n\t pos = 0;\n\t line = 1;\n\t column = 0;\n\t token = undefined;\n\t key = undefined;\n\t root = undefined;\n\n\t do {\n\t token = lex();\n\n\t // This code is unreachable.\n\t // if (!parseStates[parseState]) {\n\t // throw invalidParseState()\n\t // }\n\n\t parseStates[parseState]();\n\t } while (token.type !== 'eof')\n\n\t if (typeof reviver === 'function') {\n\t return internalize({'': root}, '', reviver)\n\t }\n\n\t return root\n\t};\n\n\tfunction internalize (holder, name, reviver) {\n\t var value = holder[name];\n\t if (value != null && typeof value === 'object') {\n\t if (Array.isArray(value)) {\n\t for (var i = 0; i < value.length; i++) {\n\t var key = String(i);\n\t var replacement = internalize(value, key, reviver);\n\t if (replacement === undefined) {\n\t delete value[key];\n\t } else {\n\t Object.defineProperty(value, key, {\n\t value: replacement,\n\t writable: true,\n\t enumerable: true,\n\t configurable: true,\n\t });\n\t }\n\t }\n\t } else {\n\t for (var key$1 in value) {\n\t var replacement$1 = internalize(value, key$1, reviver);\n\t if (replacement$1 === undefined) {\n\t delete value[key$1];\n\t } else {\n\t Object.defineProperty(value, key$1, {\n\t value: replacement$1,\n\t writable: true,\n\t enumerable: true,\n\t configurable: true,\n\t });\n\t }\n\t }\n\t }\n\t }\n\n\t return reviver.call(holder, name, value)\n\t}\n\n\tvar lexState;\n\tvar buffer;\n\tvar doubleQuote;\n\tvar sign;\n\tvar c;\n\n\tfunction lex () {\n\t lexState = 'default';\n\t buffer = '';\n\t doubleQuote = false;\n\t sign = 1;\n\n\t for (;;) {\n\t c = peek();\n\n\t // This code is unreachable.\n\t // if (!lexStates[lexState]) {\n\t // throw invalidLexState(lexState)\n\t // }\n\n\t var token = lexStates[lexState]();\n\t if (token) {\n\t return token\n\t }\n\t }\n\t}\n\n\tfunction peek () {\n\t if (source[pos]) {\n\t return String.fromCodePoint(source.codePointAt(pos))\n\t }\n\t}\n\n\tfunction read () {\n\t var c = peek();\n\n\t if (c === '\\n') {\n\t line++;\n\t column = 0;\n\t } else if (c) {\n\t column += c.length;\n\t } else {\n\t column++;\n\t }\n\n\t if (c) {\n\t pos += c.length;\n\t }\n\n\t return c\n\t}\n\n\tvar lexStates = {\n\t default: function default$1 () {\n\t switch (c) {\n\t case '\\t':\n\t case '\\v':\n\t case '\\f':\n\t case ' ':\n\t case '\\u00A0':\n\t case '\\uFEFF':\n\t case '\\n':\n\t case '\\r':\n\t case '\\u2028':\n\t case '\\u2029':\n\t read();\n\t return\n\n\t case '/':\n\t read();\n\t lexState = 'comment';\n\t return\n\n\t case undefined:\n\t read();\n\t return newToken('eof')\n\t }\n\n\t if (util.isSpaceSeparator(c)) {\n\t read();\n\t return\n\t }\n\n\t // This code is unreachable.\n\t // if (!lexStates[parseState]) {\n\t // throw invalidLexState(parseState)\n\t // }\n\n\t return lexStates[parseState]()\n\t },\n\n\t comment: function comment () {\n\t switch (c) {\n\t case '*':\n\t read();\n\t lexState = 'multiLineComment';\n\t return\n\n\t case '/':\n\t read();\n\t lexState = 'singleLineComment';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t multiLineComment: function multiLineComment () {\n\t switch (c) {\n\t case '*':\n\t read();\n\t lexState = 'multiLineCommentAsterisk';\n\t return\n\n\t case undefined:\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t },\n\n\t multiLineCommentAsterisk: function multiLineCommentAsterisk () {\n\t switch (c) {\n\t case '*':\n\t read();\n\t return\n\n\t case '/':\n\t read();\n\t lexState = 'default';\n\t return\n\n\t case undefined:\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t lexState = 'multiLineComment';\n\t },\n\n\t singleLineComment: function singleLineComment () {\n\t switch (c) {\n\t case '\\n':\n\t case '\\r':\n\t case '\\u2028':\n\t case '\\u2029':\n\t read();\n\t lexState = 'default';\n\t return\n\n\t case undefined:\n\t read();\n\t return newToken('eof')\n\t }\n\n\t read();\n\t },\n\n\t value: function value () {\n\t switch (c) {\n\t case '{':\n\t case '[':\n\t return newToken('punctuator', read())\n\n\t case 'n':\n\t read();\n\t literal('ull');\n\t return newToken('null', null)\n\n\t case 't':\n\t read();\n\t literal('rue');\n\t return newToken('boolean', true)\n\n\t case 'f':\n\t read();\n\t literal('alse');\n\t return newToken('boolean', false)\n\n\t case '-':\n\t case '+':\n\t if (read() === '-') {\n\t sign = -1;\n\t }\n\n\t lexState = 'sign';\n\t return\n\n\t case '.':\n\t buffer = read();\n\t lexState = 'decimalPointLeading';\n\t return\n\n\t case '0':\n\t buffer = read();\n\t lexState = 'zero';\n\t return\n\n\t case '1':\n\t case '2':\n\t case '3':\n\t case '4':\n\t case '5':\n\t case '6':\n\t case '7':\n\t case '8':\n\t case '9':\n\t buffer = read();\n\t lexState = 'decimalInteger';\n\t return\n\n\t case 'I':\n\t read();\n\t literal('nfinity');\n\t return newToken('numeric', Infinity)\n\n\t case 'N':\n\t read();\n\t literal('aN');\n\t return newToken('numeric', NaN)\n\n\t case '\"':\n\t case \"'\":\n\t doubleQuote = (read() === '\"');\n\t buffer = '';\n\t lexState = 'string';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t identifierNameStartEscape: function identifierNameStartEscape () {\n\t if (c !== 'u') {\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t var u = unicodeEscape();\n\t switch (u) {\n\t case '$':\n\t case '_':\n\t break\n\n\t default:\n\t if (!util.isIdStartChar(u)) {\n\t throw invalidIdentifier()\n\t }\n\n\t break\n\t }\n\n\t buffer += u;\n\t lexState = 'identifierName';\n\t },\n\n\t identifierName: function identifierName () {\n\t switch (c) {\n\t case '$':\n\t case '_':\n\t case '\\u200C':\n\t case '\\u200D':\n\t buffer += read();\n\t return\n\n\t case '\\\\':\n\t read();\n\t lexState = 'identifierNameEscape';\n\t return\n\t }\n\n\t if (util.isIdContinueChar(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('identifier', buffer)\n\t },\n\n\t identifierNameEscape: function identifierNameEscape () {\n\t if (c !== 'u') {\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t var u = unicodeEscape();\n\t switch (u) {\n\t case '$':\n\t case '_':\n\t case '\\u200C':\n\t case '\\u200D':\n\t break\n\n\t default:\n\t if (!util.isIdContinueChar(u)) {\n\t throw invalidIdentifier()\n\t }\n\n\t break\n\t }\n\n\t buffer += u;\n\t lexState = 'identifierName';\n\t },\n\n\t sign: function sign$1 () {\n\t switch (c) {\n\t case '.':\n\t buffer = read();\n\t lexState = 'decimalPointLeading';\n\t return\n\n\t case '0':\n\t buffer = read();\n\t lexState = 'zero';\n\t return\n\n\t case '1':\n\t case '2':\n\t case '3':\n\t case '4':\n\t case '5':\n\t case '6':\n\t case '7':\n\t case '8':\n\t case '9':\n\t buffer = read();\n\t lexState = 'decimalInteger';\n\t return\n\n\t case 'I':\n\t read();\n\t literal('nfinity');\n\t return newToken('numeric', sign * Infinity)\n\n\t case 'N':\n\t read();\n\t literal('aN');\n\t return newToken('numeric', NaN)\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t zero: function zero () {\n\t switch (c) {\n\t case '.':\n\t buffer += read();\n\t lexState = 'decimalPoint';\n\t return\n\n\t case 'e':\n\t case 'E':\n\t buffer += read();\n\t lexState = 'decimalExponent';\n\t return\n\n\t case 'x':\n\t case 'X':\n\t buffer += read();\n\t lexState = 'hexadecimal';\n\t return\n\t }\n\n\t return newToken('numeric', sign * 0)\n\t },\n\n\t decimalInteger: function decimalInteger () {\n\t switch (c) {\n\t case '.':\n\t buffer += read();\n\t lexState = 'decimalPoint';\n\t return\n\n\t case 'e':\n\t case 'E':\n\t buffer += read();\n\t lexState = 'decimalExponent';\n\t return\n\t }\n\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t decimalPointLeading: function decimalPointLeading () {\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t lexState = 'decimalFraction';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t decimalPoint: function decimalPoint () {\n\t switch (c) {\n\t case 'e':\n\t case 'E':\n\t buffer += read();\n\t lexState = 'decimalExponent';\n\t return\n\t }\n\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t lexState = 'decimalFraction';\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t decimalFraction: function decimalFraction () {\n\t switch (c) {\n\t case 'e':\n\t case 'E':\n\t buffer += read();\n\t lexState = 'decimalExponent';\n\t return\n\t }\n\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t decimalExponent: function decimalExponent () {\n\t switch (c) {\n\t case '+':\n\t case '-':\n\t buffer += read();\n\t lexState = 'decimalExponentSign';\n\t return\n\t }\n\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t lexState = 'decimalExponentInteger';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t decimalExponentSign: function decimalExponentSign () {\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t lexState = 'decimalExponentInteger';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t decimalExponentInteger: function decimalExponentInteger () {\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t hexadecimal: function hexadecimal () {\n\t if (util.isHexDigit(c)) {\n\t buffer += read();\n\t lexState = 'hexadecimalInteger';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t hexadecimalInteger: function hexadecimalInteger () {\n\t if (util.isHexDigit(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t string: function string () {\n\t switch (c) {\n\t case '\\\\':\n\t read();\n\t buffer += escape();\n\t return\n\n\t case '\"':\n\t if (doubleQuote) {\n\t read();\n\t return newToken('string', buffer)\n\t }\n\n\t buffer += read();\n\t return\n\n\t case \"'\":\n\t if (!doubleQuote) {\n\t read();\n\t return newToken('string', buffer)\n\t }\n\n\t buffer += read();\n\t return\n\n\t case '\\n':\n\t case '\\r':\n\t throw invalidChar(read())\n\n\t case '\\u2028':\n\t case '\\u2029':\n\t separatorChar(c);\n\t break\n\n\t case undefined:\n\t throw invalidChar(read())\n\t }\n\n\t buffer += read();\n\t },\n\n\t start: function start () {\n\t switch (c) {\n\t case '{':\n\t case '[':\n\t return newToken('punctuator', read())\n\n\t // This code is unreachable since the default lexState handles eof.\n\t // case undefined:\n\t // return newToken('eof')\n\t }\n\n\t lexState = 'value';\n\t },\n\n\t beforePropertyName: function beforePropertyName () {\n\t switch (c) {\n\t case '$':\n\t case '_':\n\t buffer = read();\n\t lexState = 'identifierName';\n\t return\n\n\t case '\\\\':\n\t read();\n\t lexState = 'identifierNameStartEscape';\n\t return\n\n\t case '}':\n\t return newToken('punctuator', read())\n\n\t case '\"':\n\t case \"'\":\n\t doubleQuote = (read() === '\"');\n\t lexState = 'string';\n\t return\n\t }\n\n\t if (util.isIdStartChar(c)) {\n\t buffer += read();\n\t lexState = 'identifierName';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t afterPropertyName: function afterPropertyName () {\n\t if (c === ':') {\n\t return newToken('punctuator', read())\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t beforePropertyValue: function beforePropertyValue () {\n\t lexState = 'value';\n\t },\n\n\t afterPropertyValue: function afterPropertyValue () {\n\t switch (c) {\n\t case ',':\n\t case '}':\n\t return newToken('punctuator', read())\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t beforeArrayValue: function beforeArrayValue () {\n\t if (c === ']') {\n\t return newToken('punctuator', read())\n\t }\n\n\t lexState = 'value';\n\t },\n\n\t afterArrayValue: function afterArrayValue () {\n\t switch (c) {\n\t case ',':\n\t case ']':\n\t return newToken('punctuator', read())\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t end: function end () {\n\t // This code is unreachable since it's handled by the default lexState.\n\t // if (c === undefined) {\n\t // read()\n\t // return newToken('eof')\n\t // }\n\n\t throw invalidChar(read())\n\t },\n\t};\n\n\tfunction newToken (type, value) {\n\t return {\n\t type: type,\n\t value: value,\n\t line: line,\n\t column: column,\n\t }\n\t}\n\n\tfunction literal (s) {\n\t for (var i = 0, list = s; i < list.length; i += 1) {\n\t var c = list[i];\n\n\t var p = peek();\n\n\t if (p !== c) {\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t }\n\t}\n\n\tfunction escape () {\n\t var c = peek();\n\t switch (c) {\n\t case 'b':\n\t read();\n\t return '\\b'\n\n\t case 'f':\n\t read();\n\t return '\\f'\n\n\t case 'n':\n\t read();\n\t return '\\n'\n\n\t case 'r':\n\t read();\n\t return '\\r'\n\n\t case 't':\n\t read();\n\t return '\\t'\n\n\t case 'v':\n\t read();\n\t return '\\v'\n\n\t case '0':\n\t read();\n\t if (util.isDigit(peek())) {\n\t throw invalidChar(read())\n\t }\n\n\t return '\\0'\n\n\t case 'x':\n\t read();\n\t return hexEscape()\n\n\t case 'u':\n\t read();\n\t return unicodeEscape()\n\n\t case '\\n':\n\t case '\\u2028':\n\t case '\\u2029':\n\t read();\n\t return ''\n\n\t case '\\r':\n\t read();\n\t if (peek() === '\\n') {\n\t read();\n\t }\n\n\t return ''\n\n\t case '1':\n\t case '2':\n\t case '3':\n\t case '4':\n\t case '5':\n\t case '6':\n\t case '7':\n\t case '8':\n\t case '9':\n\t throw invalidChar(read())\n\n\t case undefined:\n\t throw invalidChar(read())\n\t }\n\n\t return read()\n\t}\n\n\tfunction hexEscape () {\n\t var buffer = '';\n\t var c = peek();\n\n\t if (!util.isHexDigit(c)) {\n\t throw invalidChar(read())\n\t }\n\n\t buffer += read();\n\n\t c = peek();\n\t if (!util.isHexDigit(c)) {\n\t throw invalidChar(read())\n\t }\n\n\t buffer += read();\n\n\t return String.fromCodePoint(parseInt(buffer, 16))\n\t}\n\n\tfunction unicodeEscape () {\n\t var buffer = '';\n\t var count = 4;\n\n\t while (count-- > 0) {\n\t var c = peek();\n\t if (!util.isHexDigit(c)) {\n\t throw invalidChar(read())\n\t }\n\n\t buffer += read();\n\t }\n\n\t return String.fromCodePoint(parseInt(buffer, 16))\n\t}\n\n\tvar parseStates = {\n\t start: function start () {\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t push();\n\t },\n\n\t beforePropertyName: function beforePropertyName () {\n\t switch (token.type) {\n\t case 'identifier':\n\t case 'string':\n\t key = token.value;\n\t parseState = 'afterPropertyName';\n\t return\n\n\t case 'punctuator':\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.value !== '}') {\n\t // throw invalidToken()\n\t // }\n\n\t pop();\n\t return\n\n\t case 'eof':\n\t throw invalidEOF()\n\t }\n\n\t // This code is unreachable since it's handled by the lexState.\n\t // throw invalidToken()\n\t },\n\n\t afterPropertyName: function afterPropertyName () {\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.type !== 'punctuator' || token.value !== ':') {\n\t // throw invalidToken()\n\t // }\n\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t parseState = 'beforePropertyValue';\n\t },\n\n\t beforePropertyValue: function beforePropertyValue () {\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t push();\n\t },\n\n\t beforeArrayValue: function beforeArrayValue () {\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t if (token.type === 'punctuator' && token.value === ']') {\n\t pop();\n\t return\n\t }\n\n\t push();\n\t },\n\n\t afterPropertyValue: function afterPropertyValue () {\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.type !== 'punctuator') {\n\t // throw invalidToken()\n\t // }\n\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t switch (token.value) {\n\t case ',':\n\t parseState = 'beforePropertyName';\n\t return\n\n\t case '}':\n\t pop();\n\t }\n\n\t // This code is unreachable since it's handled by the lexState.\n\t // throw invalidToken()\n\t },\n\n\t afterArrayValue: function afterArrayValue () {\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.type !== 'punctuator') {\n\t // throw invalidToken()\n\t // }\n\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t switch (token.value) {\n\t case ',':\n\t parseState = 'beforeArrayValue';\n\t return\n\n\t case ']':\n\t pop();\n\t }\n\n\t // This code is unreachable since it's handled by the lexState.\n\t // throw invalidToken()\n\t },\n\n\t end: function end () {\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.type !== 'eof') {\n\t // throw invalidToken()\n\t // }\n\t },\n\t};\n\n\tfunction push () {\n\t var value;\n\n\t switch (token.type) {\n\t case 'punctuator':\n\t switch (token.value) {\n\t case '{':\n\t value = {};\n\t break\n\n\t case '[':\n\t value = [];\n\t break\n\t }\n\n\t break\n\n\t case 'null':\n\t case 'boolean':\n\t case 'numeric':\n\t case 'string':\n\t value = token.value;\n\t break\n\n\t // This code is unreachable.\n\t // default:\n\t // throw invalidToken()\n\t }\n\n\t if (root === undefined) {\n\t root = value;\n\t } else {\n\t var parent = stack[stack.length - 1];\n\t if (Array.isArray(parent)) {\n\t parent.push(value);\n\t } else {\n\t Object.defineProperty(parent, key, {\n\t value: value,\n\t writable: true,\n\t enumerable: true,\n\t configurable: true,\n\t });\n\t }\n\t }\n\n\t if (value !== null && typeof value === 'object') {\n\t stack.push(value);\n\n\t if (Array.isArray(value)) {\n\t parseState = 'beforeArrayValue';\n\t } else {\n\t parseState = 'beforePropertyName';\n\t }\n\t } else {\n\t var current = stack[stack.length - 1];\n\t if (current == null) {\n\t parseState = 'end';\n\t } else if (Array.isArray(current)) {\n\t parseState = 'afterArrayValue';\n\t } else {\n\t parseState = 'afterPropertyValue';\n\t }\n\t }\n\t}\n\n\tfunction pop () {\n\t stack.pop();\n\n\t var current = stack[stack.length - 1];\n\t if (current == null) {\n\t parseState = 'end';\n\t } else if (Array.isArray(current)) {\n\t parseState = 'afterArrayValue';\n\t } else {\n\t parseState = 'afterPropertyValue';\n\t }\n\t}\n\n\t// This code is unreachable.\n\t// function invalidParseState () {\n\t// return new Error(`JSON5: invalid parse state '${parseState}'`)\n\t// }\n\n\t// This code is unreachable.\n\t// function invalidLexState (state) {\n\t// return new Error(`JSON5: invalid lex state '${state}'`)\n\t// }\n\n\tfunction invalidChar (c) {\n\t if (c === undefined) {\n\t return syntaxError((\"JSON5: invalid end of input at \" + line + \":\" + column))\n\t }\n\n\t return syntaxError((\"JSON5: invalid character '\" + (formatChar(c)) + \"' at \" + line + \":\" + column))\n\t}\n\n\tfunction invalidEOF () {\n\t return syntaxError((\"JSON5: invalid end of input at \" + line + \":\" + column))\n\t}\n\n\t// This code is unreachable.\n\t// function invalidToken () {\n\t// if (token.type === 'eof') {\n\t// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)\n\t// }\n\n\t// const c = String.fromCodePoint(token.value.codePointAt(0))\n\t// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`)\n\t// }\n\n\tfunction invalidIdentifier () {\n\t column -= 5;\n\t return syntaxError((\"JSON5: invalid identifier character at \" + line + \":\" + column))\n\t}\n\n\tfunction separatorChar (c) {\n\t console.warn((\"JSON5: '\" + (formatChar(c)) + \"' in strings is not valid ECMAScript; consider escaping\"));\n\t}\n\n\tfunction formatChar (c) {\n\t var replacements = {\n\t \"'\": \"\\\\'\",\n\t '\"': '\\\\\"',\n\t '\\\\': '\\\\\\\\',\n\t '\\b': '\\\\b',\n\t '\\f': '\\\\f',\n\t '\\n': '\\\\n',\n\t '\\r': '\\\\r',\n\t '\\t': '\\\\t',\n\t '\\v': '\\\\v',\n\t '\\0': '\\\\0',\n\t '\\u2028': '\\\\u2028',\n\t '\\u2029': '\\\\u2029',\n\t };\n\n\t if (replacements[c]) {\n\t return replacements[c]\n\t }\n\n\t if (c < ' ') {\n\t var hexString = c.charCodeAt(0).toString(16);\n\t return '\\\\x' + ('00' + hexString).substring(hexString.length)\n\t }\n\n\t return c\n\t}\n\n\tfunction syntaxError (message) {\n\t var err = new SyntaxError(message);\n\t err.lineNumber = line;\n\t err.columnNumber = column;\n\t return err\n\t}\n\n\tvar stringify = function stringify (value, replacer, space) {\n\t var stack = [];\n\t var indent = '';\n\t var propertyList;\n\t var replacerFunc;\n\t var gap = '';\n\t var quote;\n\n\t if (\n\t replacer != null &&\n\t typeof replacer === 'object' &&\n\t !Array.isArray(replacer)\n\t ) {\n\t space = replacer.space;\n\t quote = replacer.quote;\n\t replacer = replacer.replacer;\n\t }\n\n\t if (typeof replacer === 'function') {\n\t replacerFunc = replacer;\n\t } else if (Array.isArray(replacer)) {\n\t propertyList = [];\n\t for (var i = 0, list = replacer; i < list.length; i += 1) {\n\t var v = list[i];\n\n\t var item = (void 0);\n\n\t if (typeof v === 'string') {\n\t item = v;\n\t } else if (\n\t typeof v === 'number' ||\n\t v instanceof String ||\n\t v instanceof Number\n\t ) {\n\t item = String(v);\n\t }\n\n\t if (item !== undefined && propertyList.indexOf(item) < 0) {\n\t propertyList.push(item);\n\t }\n\t }\n\t }\n\n\t if (space instanceof Number) {\n\t space = Number(space);\n\t } else if (space instanceof String) {\n\t space = String(space);\n\t }\n\n\t if (typeof space === 'number') {\n\t if (space > 0) {\n\t space = Math.min(10, Math.floor(space));\n\t gap = ' '.substr(0, space);\n\t }\n\t } else if (typeof space === 'string') {\n\t gap = space.substr(0, 10);\n\t }\n\n\t return serializeProperty('', {'': value})\n\n\t function serializeProperty (key, holder) {\n\t var value = holder[key];\n\t if (value != null) {\n\t if (typeof value.toJSON5 === 'function') {\n\t value = value.toJSON5(key);\n\t } else if (typeof value.toJSON === 'function') {\n\t value = value.toJSON(key);\n\t }\n\t }\n\n\t if (replacerFunc) {\n\t value = replacerFunc.call(holder, key, value);\n\t }\n\n\t if (value instanceof Number) {\n\t value = Number(value);\n\t } else if (value instanceof String) {\n\t value = String(value);\n\t } else if (value instanceof Boolean) {\n\t value = value.valueOf();\n\t }\n\n\t switch (value) {\n\t case null: return 'null'\n\t case true: return 'true'\n\t case false: return 'false'\n\t }\n\n\t if (typeof value === 'string') {\n\t return quoteString(value, false)\n\t }\n\n\t if (typeof value === 'number') {\n\t return String(value)\n\t }\n\n\t if (typeof value === 'object') {\n\t return Array.isArray(value) ? serializeArray(value) : serializeObject(value)\n\t }\n\n\t return undefined\n\t }\n\n\t function quoteString (value) {\n\t var quotes = {\n\t \"'\": 0.1,\n\t '\"': 0.2,\n\t };\n\n\t var replacements = {\n\t \"'\": \"\\\\'\",\n\t '\"': '\\\\\"',\n\t '\\\\': '\\\\\\\\',\n\t '\\b': '\\\\b',\n\t '\\f': '\\\\f',\n\t '\\n': '\\\\n',\n\t '\\r': '\\\\r',\n\t '\\t': '\\\\t',\n\t '\\v': '\\\\v',\n\t '\\0': '\\\\0',\n\t '\\u2028': '\\\\u2028',\n\t '\\u2029': '\\\\u2029',\n\t };\n\n\t var product = '';\n\n\t for (var i = 0; i < value.length; i++) {\n\t var c = value[i];\n\t switch (c) {\n\t case \"'\":\n\t case '\"':\n\t quotes[c]++;\n\t product += c;\n\t continue\n\n\t case '\\0':\n\t if (util.isDigit(value[i + 1])) {\n\t product += '\\\\x00';\n\t continue\n\t }\n\t }\n\n\t if (replacements[c]) {\n\t product += replacements[c];\n\t continue\n\t }\n\n\t if (c < ' ') {\n\t var hexString = c.charCodeAt(0).toString(16);\n\t product += '\\\\x' + ('00' + hexString).substring(hexString.length);\n\t continue\n\t }\n\n\t product += c;\n\t }\n\n\t var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { return (quotes[a] < quotes[b]) ? a : b; });\n\n\t product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]);\n\n\t return quoteChar + product + quoteChar\n\t }\n\n\t function serializeObject (value) {\n\t if (stack.indexOf(value) >= 0) {\n\t throw TypeError('Converting circular structure to JSON5')\n\t }\n\n\t stack.push(value);\n\n\t var stepback = indent;\n\t indent = indent + gap;\n\n\t var keys = propertyList || Object.keys(value);\n\t var partial = [];\n\t for (var i = 0, list = keys; i < list.length; i += 1) {\n\t var key = list[i];\n\n\t var propertyString = serializeProperty(key, value);\n\t if (propertyString !== undefined) {\n\t var member = serializeKey(key) + ':';\n\t if (gap !== '') {\n\t member += ' ';\n\t }\n\t member += propertyString;\n\t partial.push(member);\n\t }\n\t }\n\n\t var final;\n\t if (partial.length === 0) {\n\t final = '{}';\n\t } else {\n\t var properties;\n\t if (gap === '') {\n\t properties = partial.join(',');\n\t final = '{' + properties + '}';\n\t } else {\n\t var separator = ',\\n' + indent;\n\t properties = partial.join(separator);\n\t final = '{\\n' + indent + properties + ',\\n' + stepback + '}';\n\t }\n\t }\n\n\t stack.pop();\n\t indent = stepback;\n\t return final\n\t }\n\n\t function serializeKey (key) {\n\t if (key.length === 0) {\n\t return quoteString(key, true)\n\t }\n\n\t var firstChar = String.fromCodePoint(key.codePointAt(0));\n\t if (!util.isIdStartChar(firstChar)) {\n\t return quoteString(key, true)\n\t }\n\n\t for (var i = firstChar.length; i < key.length; i++) {\n\t if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {\n\t return quoteString(key, true)\n\t }\n\t }\n\n\t return key\n\t }\n\n\t function serializeArray (value) {\n\t if (stack.indexOf(value) >= 0) {\n\t throw TypeError('Converting circular structure to JSON5')\n\t }\n\n\t stack.push(value);\n\n\t var stepback = indent;\n\t indent = indent + gap;\n\n\t var partial = [];\n\t for (var i = 0; i < value.length; i++) {\n\t var propertyString = serializeProperty(String(i), value);\n\t partial.push((propertyString !== undefined) ? propertyString : 'null');\n\t }\n\n\t var final;\n\t if (partial.length === 0) {\n\t final = '[]';\n\t } else {\n\t if (gap === '') {\n\t var properties = partial.join(',');\n\t final = '[' + properties + ']';\n\t } else {\n\t var separator = ',\\n' + indent;\n\t var properties$1 = partial.join(separator);\n\t final = '[\\n' + indent + properties$1 + ',\\n' + stepback + ']';\n\t }\n\t }\n\n\t stack.pop();\n\t indent = stepback;\n\t return final\n\t }\n\t};\n\n\tvar JSON5 = {\n\t parse: parse,\n\t stringify: stringify,\n\t};\n\n\tvar lib = JSON5;\n\n\tvar es5 = lib;\n\n\treturn es5;\n\n})));\n","'use strict';\nmodule.exports = x => {\n\tif (typeof x !== 'string') {\n\t\tthrow new TypeError('Expected a string, got ' + typeof x);\n\t}\n\n\t// Catches EFBBBF (UTF-8 BOM) because the buffer-to-string\n\t// conversion translates it to FEFF (UTF-16 BOM)\n\tif (x.charCodeAt(0) === 0xFEFF) {\n\t\treturn x.slice(1);\n\t}\n\n\treturn x;\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadTsconfig = exports.walkForTsConfig = exports.tsConfigLoader = void 0;\nvar path = require(\"path\");\nvar fs = require(\"fs\");\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nvar JSON5 = require(\"json5\");\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nvar StripBom = require(\"strip-bom\");\nfunction tsConfigLoader(_a) {\n var getEnv = _a.getEnv, cwd = _a.cwd, _b = _a.loadSync, loadSync = _b === void 0 ? loadSyncDefault : _b;\n var TS_NODE_PROJECT = getEnv(\"TS_NODE_PROJECT\");\n var TS_NODE_BASEURL = getEnv(\"TS_NODE_BASEURL\");\n // tsconfig.loadSync handles if TS_NODE_PROJECT is a file or directory\n // and also overrides baseURL if TS_NODE_BASEURL is available.\n var loadResult = loadSync(cwd, TS_NODE_PROJECT, TS_NODE_BASEURL);\n return loadResult;\n}\nexports.tsConfigLoader = tsConfigLoader;\nfunction loadSyncDefault(cwd, filename, baseUrl) {\n // Tsconfig.loadSync uses path.resolve. This is why we can use an absolute path as filename\n var configPath = resolveConfigPath(cwd, filename);\n if (!configPath) {\n return {\n tsConfigPath: undefined,\n baseUrl: undefined,\n paths: undefined,\n };\n }\n var config = loadTsconfig(configPath);\n return {\n tsConfigPath: configPath,\n baseUrl: baseUrl ||\n (config && config.compilerOptions && config.compilerOptions.baseUrl),\n paths: config && config.compilerOptions && config.compilerOptions.paths,\n };\n}\nfunction resolveConfigPath(cwd, filename) {\n if (filename) {\n var absolutePath = fs.lstatSync(filename).isDirectory()\n ? path.resolve(filename, \"./tsconfig.json\")\n : path.resolve(cwd, filename);\n return absolutePath;\n }\n if (fs.statSync(cwd).isFile()) {\n return path.resolve(cwd);\n }\n var configAbsolutePath = walkForTsConfig(cwd);\n return configAbsolutePath ? path.resolve(configAbsolutePath) : undefined;\n}\nfunction walkForTsConfig(directory, readdirSync) {\n if (readdirSync === void 0) { readdirSync = fs.readdirSync; }\n var files = readdirSync(directory);\n var filesToCheck = [\"tsconfig.json\", \"jsconfig.json\"];\n for (var _i = 0, filesToCheck_1 = filesToCheck; _i < filesToCheck_1.length; _i++) {\n var fileToCheck = filesToCheck_1[_i];\n if (files.indexOf(fileToCheck) !== -1) {\n return path.join(directory, fileToCheck);\n }\n }\n var parentDirectory = path.dirname(directory);\n // If we reached the top\n if (directory === parentDirectory) {\n return undefined;\n }\n return walkForTsConfig(parentDirectory, readdirSync);\n}\nexports.walkForTsConfig = walkForTsConfig;\nfunction loadTsconfig(configFilePath, \n// eslint-disable-next-line no-shadow\nexistsSync, readFileSync) {\n if (existsSync === void 0) { existsSync = fs.existsSync; }\n if (readFileSync === void 0) { readFileSync = function (filename) {\n return fs.readFileSync(filename, \"utf8\");\n }; }\n if (!existsSync(configFilePath)) {\n return undefined;\n }\n var configString = readFileSync(configFilePath);\n var cleanedJson = StripBom(configString);\n var config;\n try {\n config = JSON5.parse(cleanedJson);\n }\n catch (e) {\n throw new Error(\"\".concat(configFilePath, \" is malformed \").concat(e.message));\n }\n var extendedConfig = config.extends;\n if (extendedConfig) {\n var base = void 0;\n if (Array.isArray(extendedConfig)) {\n base = extendedConfig.reduce(function (currBase, extendedConfigElement) {\n return mergeTsconfigs(currBase, loadTsconfigFromExtends(configFilePath, extendedConfigElement, existsSync, readFileSync));\n }, {});\n }\n else {\n base = loadTsconfigFromExtends(configFilePath, extendedConfig, existsSync, readFileSync);\n }\n return mergeTsconfigs(base, config);\n }\n return config;\n}\nexports.loadTsconfig = loadTsconfig;\n/**\n * Intended to be called only from loadTsconfig.\n * Parameters don't have defaults because they should use the same as loadTsconfig.\n */\nfunction loadTsconfigFromExtends(configFilePath, extendedConfigValue, \n// eslint-disable-next-line no-shadow\nexistsSync, readFileSync) {\n var _a;\n if (typeof extendedConfigValue === \"string\" &&\n extendedConfigValue.indexOf(\".json\") === -1) {\n extendedConfigValue += \".json\";\n }\n var currentDir = path.dirname(configFilePath);\n var extendedConfigPath = path.join(currentDir, extendedConfigValue);\n if (extendedConfigValue.indexOf(\"/\") !== -1 &&\n extendedConfigValue.indexOf(\".\") !== -1 &&\n !existsSync(extendedConfigPath)) {\n extendedConfigPath = path.join(currentDir, \"node_modules\", extendedConfigValue);\n }\n var config = loadTsconfig(extendedConfigPath, existsSync, readFileSync) || {};\n // baseUrl should be interpreted as relative to extendedConfigPath,\n // but we need to update it so it is relative to the original tsconfig being loaded\n if ((_a = config.compilerOptions) === null || _a === void 0 ? void 0 : _a.baseUrl) {\n var extendsDir = path.dirname(extendedConfigValue);\n config.compilerOptions.baseUrl = path.join(extendsDir, config.compilerOptions.baseUrl);\n }\n return config;\n}\nfunction mergeTsconfigs(base, config) {\n base = base || {};\n config = config || {};\n return __assign(__assign(__assign({}, base), config), { compilerOptions: __assign(__assign({}, base.compilerOptions), config.compilerOptions) });\n}\n//# sourceMappingURL=tsconfig-loader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.configLoader = exports.loadConfig = void 0;\nvar TsConfigLoader2 = require(\"./tsconfig-loader\");\nvar path = require(\"path\");\nfunction loadConfig(cwd) {\n if (cwd === void 0) { cwd = process.cwd(); }\n return configLoader({ cwd: cwd });\n}\nexports.loadConfig = loadConfig;\nfunction configLoader(_a) {\n var cwd = _a.cwd, explicitParams = _a.explicitParams, _b = _a.tsConfigLoader, tsConfigLoader = _b === void 0 ? TsConfigLoader2.tsConfigLoader : _b;\n if (explicitParams) {\n var absoluteBaseUrl = path.isAbsolute(explicitParams.baseUrl)\n ? explicitParams.baseUrl\n : path.join(cwd, explicitParams.baseUrl);\n return {\n resultType: \"success\",\n configFileAbsolutePath: \"\",\n baseUrl: explicitParams.baseUrl,\n absoluteBaseUrl: absoluteBaseUrl,\n paths: explicitParams.paths,\n mainFields: explicitParams.mainFields,\n addMatchAll: explicitParams.addMatchAll,\n };\n }\n // Load tsconfig and create path matching function\n var loadResult = tsConfigLoader({\n cwd: cwd,\n getEnv: function (key) { return process.env[key]; },\n });\n if (!loadResult.tsConfigPath) {\n return {\n resultType: \"failed\",\n message: \"Couldn't find tsconfig.json\",\n };\n }\n return {\n resultType: \"success\",\n configFileAbsolutePath: loadResult.tsConfigPath,\n baseUrl: loadResult.baseUrl,\n absoluteBaseUrl: path.resolve(path.dirname(loadResult.tsConfigPath), loadResult.baseUrl || \"\"),\n paths: loadResult.paths || {},\n addMatchAll: loadResult.baseUrl !== undefined,\n };\n}\nexports.configLoader = configLoader;\n//# sourceMappingURL=config-loader.js.map","'use strict';\n\nfunction hasKey(obj, keys) {\n\tvar o = obj;\n\tkeys.slice(0, -1).forEach(function (key) {\n\t\to = o[key] || {};\n\t});\n\n\tvar key = keys[keys.length - 1];\n\treturn key in o;\n}\n\nfunction isNumber(x) {\n\tif (typeof x === 'number') { return true; }\n\tif ((/^0x[0-9a-f]+$/i).test(x)) { return true; }\n\treturn (/^[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/).test(x);\n}\n\nfunction isConstructorOrProto(obj, key) {\n\treturn (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';\n}\n\nmodule.exports = function (args, opts) {\n\tif (!opts) { opts = {}; }\n\n\tvar flags = {\n\t\tbools: {},\n\t\tstrings: {},\n\t\tunknownFn: null,\n\t};\n\n\tif (typeof opts.unknown === 'function') {\n\t\tflags.unknownFn = opts.unknown;\n\t}\n\n\tif (typeof opts.boolean === 'boolean' && opts.boolean) {\n\t\tflags.allBools = true;\n\t} else {\n\t\t[].concat(opts.boolean).filter(Boolean).forEach(function (key) {\n\t\t\tflags.bools[key] = true;\n\t\t});\n\t}\n\n\tvar aliases = {};\n\n\tfunction aliasIsBoolean(key) {\n\t\treturn aliases[key].some(function (x) {\n\t\t\treturn flags.bools[x];\n\t\t});\n\t}\n\n\tObject.keys(opts.alias || {}).forEach(function (key) {\n\t\taliases[key] = [].concat(opts.alias[key]);\n\t\taliases[key].forEach(function (x) {\n\t\t\taliases[x] = [key].concat(aliases[key].filter(function (y) {\n\t\t\t\treturn x !== y;\n\t\t\t}));\n\t\t});\n\t});\n\n\t[].concat(opts.string).filter(Boolean).forEach(function (key) {\n\t\tflags.strings[key] = true;\n\t\tif (aliases[key]) {\n\t\t\t[].concat(aliases[key]).forEach(function (k) {\n\t\t\t\tflags.strings[k] = true;\n\t\t\t});\n\t\t}\n\t});\n\n\tvar defaults = opts.default || {};\n\n\tvar argv = { _: [] };\n\n\tfunction argDefined(key, arg) {\n\t\treturn (flags.allBools && (/^--[^=]+$/).test(arg))\n\t\t\t|| flags.strings[key]\n\t\t\t|| flags.bools[key]\n\t\t\t|| aliases[key];\n\t}\n\n\tfunction setKey(obj, keys, value) {\n\t\tvar o = obj;\n\t\tfor (var i = 0; i < keys.length - 1; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tif (isConstructorOrProto(o, key)) { return; }\n\t\t\tif (o[key] === undefined) { o[key] = {}; }\n\t\t\tif (\n\t\t\t\to[key] === Object.prototype\n\t\t\t\t|| o[key] === Number.prototype\n\t\t\t\t|| o[key] === String.prototype\n\t\t\t) {\n\t\t\t\to[key] = {};\n\t\t\t}\n\t\t\tif (o[key] === Array.prototype) { o[key] = []; }\n\t\t\to = o[key];\n\t\t}\n\n\t\tvar lastKey = keys[keys.length - 1];\n\t\tif (isConstructorOrProto(o, lastKey)) { return; }\n\t\tif (\n\t\t\to === Object.prototype\n\t\t\t|| o === Number.prototype\n\t\t\t|| o === String.prototype\n\t\t) {\n\t\t\to = {};\n\t\t}\n\t\tif (o === Array.prototype) { o = []; }\n\t\tif (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {\n\t\t\to[lastKey] = value;\n\t\t} else if (Array.isArray(o[lastKey])) {\n\t\t\to[lastKey].push(value);\n\t\t} else {\n\t\t\to[lastKey] = [o[lastKey], value];\n\t\t}\n\t}\n\n\tfunction setArg(key, val, arg) {\n\t\tif (arg && flags.unknownFn && !argDefined(key, arg)) {\n\t\t\tif (flags.unknownFn(arg) === false) { return; }\n\t\t}\n\n\t\tvar value = !flags.strings[key] && isNumber(val)\n\t\t\t? Number(val)\n\t\t\t: val;\n\t\tsetKey(argv, key.split('.'), value);\n\n\t\t(aliases[key] || []).forEach(function (x) {\n\t\t\tsetKey(argv, x.split('.'), value);\n\t\t});\n\t}\n\n\tObject.keys(flags.bools).forEach(function (key) {\n\t\tsetArg(key, defaults[key] === undefined ? false : defaults[key]);\n\t});\n\n\tvar notFlags = [];\n\n\tif (args.indexOf('--') !== -1) {\n\t\tnotFlags = args.slice(args.indexOf('--') + 1);\n\t\targs = args.slice(0, args.indexOf('--'));\n\t}\n\n\tfor (var i = 0; i < args.length; i++) {\n\t\tvar arg = args[i];\n\t\tvar key;\n\t\tvar next;\n\n\t\tif ((/^--.+=/).test(arg)) {\n\t\t\t// Using [\\s\\S] instead of . because js doesn't support the\n\t\t\t// 'dotall' regex modifier. See:\n\t\t\t// http://stackoverflow.com/a/1068308/13216\n\t\t\tvar m = arg.match(/^--([^=]+)=([\\s\\S]*)$/);\n\t\t\tkey = m[1];\n\t\t\tvar value = m[2];\n\t\t\tif (flags.bools[key]) {\n\t\t\t\tvalue = value !== 'false';\n\t\t\t}\n\t\t\tsetArg(key, value, arg);\n\t\t} else if ((/^--no-.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--no-(.+)/)[1];\n\t\t\tsetArg(key, false, arg);\n\t\t} else if ((/^--.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--(.+)/)[1];\n\t\t\tnext = args[i + 1];\n\t\t\tif (\n\t\t\t\tnext !== undefined\n\t\t\t\t&& !(/^(-|--)[^-]/).test(next)\n\t\t\t\t&& !flags.bools[key]\n\t\t\t\t&& !flags.allBools\n\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t) {\n\t\t\t\tsetArg(key, next, arg);\n\t\t\t\ti += 1;\n\t\t\t} else if ((/^(true|false)$/).test(next)) {\n\t\t\t\tsetArg(key, next === 'true', arg);\n\t\t\t\ti += 1;\n\t\t\t} else {\n\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t}\n\t\t} else if ((/^-[^-]+/).test(arg)) {\n\t\t\tvar letters = arg.slice(1, -1).split('');\n\n\t\t\tvar broken = false;\n\t\t\tfor (var j = 0; j < letters.length; j++) {\n\t\t\t\tnext = arg.slice(j + 2);\n\n\t\t\t\tif (next === '-') {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {\n\t\t\t\t\tsetArg(letters[j], next.slice(1), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(/[A-Za-z]/).test(letters[j])\n\t\t\t\t\t&& (/-?\\d+(\\.\\d*)?(e-?\\d+)?$/).test(next)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n\t\t\t\t\tsetArg(letters[j], arg.slice(j + 2), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tkey = arg.slice(-1)[0];\n\t\t\tif (!broken && key !== '-') {\n\t\t\t\tif (\n\t\t\t\t\targs[i + 1]\n\t\t\t\t\t&& !(/^(-|--)[^-]/).test(args[i + 1])\n\t\t\t\t\t&& !flags.bools[key]\n\t\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(key, args[i + 1], arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {\n\t\t\t\t\tsetArg(key, args[i + 1] === 'true', arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (!flags.unknownFn || flags.unknownFn(arg) !== false) {\n\t\t\t\targv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));\n\t\t\t}\n\t\t\tif (opts.stopEarly) {\n\t\t\t\targv._.push.apply(argv._, args.slice(i + 1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tObject.keys(defaults).forEach(function (k) {\n\t\tif (!hasKey(argv, k.split('.'))) {\n\t\t\tsetKey(argv, k.split('.'), defaults[k]);\n\n\t\t\t(aliases[k] || []).forEach(function (x) {\n\t\t\t\tsetKey(argv, x.split('.'), defaults[k]);\n\t\t\t});\n\t\t}\n\t});\n\n\tif (opts['--']) {\n\t\targv['--'] = notFlags.slice();\n\t} else {\n\t\tnotFlags.forEach(function (k) {\n\t\t\targv._.push(k);\n\t\t});\n\t}\n\n\treturn argv;\n};\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.register = void 0;\nvar match_path_sync_1 = require(\"./match-path-sync\");\nvar config_loader_1 = require(\"./config-loader\");\nvar noOp = function () { return void 0; };\nfunction getCoreModules(builtinModules) {\n builtinModules = builtinModules || [\n \"assert\",\n \"buffer\",\n \"child_process\",\n \"cluster\",\n \"crypto\",\n \"dgram\",\n \"dns\",\n \"domain\",\n \"events\",\n \"fs\",\n \"http\",\n \"https\",\n \"net\",\n \"os\",\n \"path\",\n \"punycode\",\n \"querystring\",\n \"readline\",\n \"stream\",\n \"string_decoder\",\n \"tls\",\n \"tty\",\n \"url\",\n \"util\",\n \"v8\",\n \"vm\",\n \"zlib\",\n ];\n var coreModules = {};\n for (var _i = 0, builtinModules_1 = builtinModules; _i < builtinModules_1.length; _i++) {\n var module_1 = builtinModules_1[_i];\n coreModules[module_1] = true;\n }\n return coreModules;\n}\n/**\n * Installs a custom module load function that can adhere to paths in tsconfig.\n * Returns a function to undo paths registration.\n */\nfunction register(params) {\n var cwd;\n var explicitParams;\n if (params) {\n cwd = params.cwd;\n if (params.baseUrl || params.paths) {\n explicitParams = params;\n }\n }\n else {\n // eslint-disable-next-line\n var minimist = require(\"minimist\");\n var argv = minimist(process.argv.slice(2), {\n // eslint-disable-next-line id-denylist\n string: [\"project\"],\n alias: {\n project: [\"P\"],\n },\n });\n cwd = argv.project;\n }\n var configLoaderResult = (0, config_loader_1.configLoader)({\n cwd: cwd !== null && cwd !== void 0 ? cwd : process.cwd(),\n explicitParams: explicitParams,\n });\n if (configLoaderResult.resultType === \"failed\") {\n console.warn(\"\".concat(configLoaderResult.message, \". tsconfig-paths will be skipped\"));\n return noOp;\n }\n var matchPath = (0, match_path_sync_1.createMatchPath)(configLoaderResult.absoluteBaseUrl, configLoaderResult.paths, configLoaderResult.mainFields, configLoaderResult.addMatchAll);\n // Patch node's module loading\n // eslint-disable-next-line @typescript-eslint/no-require-imports,@typescript-eslint/no-var-requires\n var Module = require(\"module\");\n // eslint-disable-next-line no-underscore-dangle\n var originalResolveFilename = Module._resolveFilename;\n var coreModules = getCoreModules(Module.builtinModules);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any,no-underscore-dangle\n Module._resolveFilename = function (request, _parent) {\n var isCoreModule = coreModules.hasOwnProperty(request);\n if (!isCoreModule) {\n var found = matchPath(request);\n if (found) {\n var modifiedArguments = __spreadArray([found], [].slice.call(arguments, 1), true); // Passes all arguments. Even those that is not specified above.\n return originalResolveFilename.apply(this, modifiedArguments);\n }\n }\n return originalResolveFilename.apply(this, arguments);\n };\n return function () {\n // Return node's module loading to original state.\n // eslint-disable-next-line no-underscore-dangle\n Module._resolveFilename = originalResolveFilename;\n };\n}\nexports.register = register;\n//# sourceMappingURL=register.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadConfig = exports.register = exports.matchFromAbsolutePathsAsync = exports.createMatchPathAsync = exports.matchFromAbsolutePaths = exports.createMatchPath = void 0;\n// register is used from register.js in root dir\nvar match_path_sync_1 = require(\"./match-path-sync\");\nObject.defineProperty(exports, \"createMatchPath\", { enumerable: true, get: function () { return match_path_sync_1.createMatchPath; } });\nObject.defineProperty(exports, \"matchFromAbsolutePaths\", { enumerable: true, get: function () { return match_path_sync_1.matchFromAbsolutePaths; } });\nvar match_path_async_1 = require(\"./match-path-async\");\nObject.defineProperty(exports, \"createMatchPathAsync\", { enumerable: true, get: function () { return match_path_async_1.createMatchPathAsync; } });\nObject.defineProperty(exports, \"matchFromAbsolutePathsAsync\", { enumerable: true, get: function () { return match_path_async_1.matchFromAbsolutePathsAsync; } });\nvar register_1 = require(\"./register\");\nObject.defineProperty(exports, \"register\", { enumerable: true, get: function () { return register_1.register; } });\nvar config_loader_1 = require(\"./config-loader\");\nObject.defineProperty(exports, \"loadConfig\", { enumerable: true, get: function () { return config_loader_1.loadConfig; } });\n//# sourceMappingURL=index.js.map","let FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;\nif (typeof process !== 'undefined') {\n\t({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {});\n\tisTTY = process.stdout && process.stdout.isTTY;\n}\n\nexport const $ = {\n\tenabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (\n\t\tFORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY\n\t)\n}\n\nfunction init(x, y) {\n\tlet rgx = new RegExp(`\\\\x1b\\\\[${y}m`, 'g');\n\tlet open = `\\x1b[${x}m`, close = `\\x1b[${y}m`;\n\n\treturn function (txt) {\n\t\tif (!$.enabled || txt == null) return txt;\n\t\treturn open + (!!~(''+txt).indexOf(close) ? txt.replace(rgx, close + open) : txt) + close;\n\t};\n}\n\n// modifiers\nexport const reset = init(0, 0);\nexport const bold = init(1, 22);\nexport const dim = init(2, 22);\nexport const italic = init(3, 23);\nexport const underline = init(4, 24);\nexport const inverse = init(7, 27);\nexport const hidden = init(8, 28);\nexport const strikethrough = init(9, 29);\n\n// colors\nexport const black = init(30, 39);\nexport const red = init(31, 39);\nexport const green = init(32, 39);\nexport const yellow = init(33, 39);\nexport const blue = init(34, 39);\nexport const magenta = init(35, 39);\nexport const cyan = init(36, 39);\nexport const white = init(37, 39);\nexport const gray = init(90, 39);\nexport const grey = init(90, 39);\n\n// background colors\nexport const bgBlack = init(40, 49);\nexport const bgRed = init(41, 49);\nexport const bgGreen = init(42, 49);\nexport const bgYellow = init(43, 49);\nexport const bgBlue = init(44, 49);\nexport const bgMagenta = init(45, 49);\nexport const bgCyan = init(46, 49);\nexport const bgWhite = init(47, 49);\n","import { cyan, green, red, yellow } from \"kleur/colors\";\n\nexport const highlighter = {\n error: red,\n warn: yellow,\n info: cyan,\n success: green,\n};\n","import { createMatchPath, type ConfigLoaderSuccessResult } from \"tsconfig-paths\";\n\nexport async function resolveImport(\n importPath: string,\n config: Pick<ConfigLoaderSuccessResult, \"absoluteBaseUrl\" | \"paths\">,\n) {\n return createMatchPath(config.absoluteBaseUrl, config.paths)(importPath, undefined, () => true, [\n \".ts\",\n \".tsx\",\n \".jsx\",\n \".js\",\n \".css\",\n ]);\n}\n","import { z } from \"zod\";\n\nexport const configSchema = z.object({\n tsx: z.boolean(),\n aliases: z.object({\n api: z.string(),\n hooks: z.string(),\n ui: z.string(),\n components: z.string(),\n lib: z.string(),\n }),\n resolvedPaths: z.object({\n cwd: z.string(),\n api: z.string(),\n hooks: z.string(),\n ui: z.string(),\n components: z.string(),\n lib: z.string(),\n }),\n});\n\nexport type Config = z.infer<typeof configSchema>;\n","import { loadConfig } from \"tsconfig-paths\";\n\nexport async function getTsConfigAliasPrefix(cwd: string) {\n const tsConfig = await loadConfig(cwd);\n\n if (tsConfig?.resultType === \"failed\" || !Object.entries(tsConfig?.paths).length) {\n return null;\n }\n\n // This assume that the first alias is the prefix.\n // eslint-disable-next-line no-restricted-syntax\n for (const [alias, paths] of Object.entries(tsConfig.paths)) {\n if (\n paths.includes(\"./*\") ||\n paths.includes(\"./src/*\") ||\n paths.includes(\"./app/*\") ||\n paths.includes(\"./resources/js/*\") // Laravel.\n ) {\n return alias.replace(/\\/\\*$/, \"\") ?? null;\n }\n }\n\n // Use the first alias as the prefix.\n return Object.keys(tsConfig?.paths)?.[0].replace(/\\/\\*$/, \"\") ?? null;\n}\n","const copyProperty = (to, from, property, ignoreNonConfigurable) => {\n\t// `Function#length` should reflect the parameters of `to` not `from` since we keep its body.\n\t// `Function#prototype` is non-writable and non-configurable so can never be modified.\n\tif (property === 'length' || property === 'prototype') {\n\t\treturn;\n\t}\n\n\t// `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here.\n\tif (property === 'arguments' || property === 'caller') {\n\t\treturn;\n\t}\n\n\tconst toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n\tconst fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n\n\tif (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n\t\treturn;\n\t}\n\n\tObject.defineProperty(to, property, fromDescriptor);\n};\n\n// `Object.defineProperty()` throws if the property exists, is not configurable and either:\n// - one its descriptors is changed\n// - it is non-writable and its value is changed\nconst canCopyProperty = function (toDescriptor, fromDescriptor) {\n\treturn toDescriptor === undefined || toDescriptor.configurable || (\n\t\ttoDescriptor.writable === fromDescriptor.writable\n\t\t&& toDescriptor.enumerable === fromDescriptor.enumerable\n\t\t&& toDescriptor.configurable === fromDescriptor.configurable\n\t\t&& (toDescriptor.writable || toDescriptor.value === fromDescriptor.value)\n\t);\n};\n\nconst changePrototype = (to, from) => {\n\tconst fromPrototype = Object.getPrototypeOf(from);\n\tif (fromPrototype === Object.getPrototypeOf(to)) {\n\t\treturn;\n\t}\n\n\tObject.setPrototypeOf(to, fromPrototype);\n};\n\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\\n${fromBody}`;\n\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, 'toString');\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, 'name');\n\n// We call `from.toString()` early (not lazily) to ensure `from` can be garbage collected.\n// We use `bind()` instead of a closure for the same reason.\n// Calling `from.toString()` early also allows caching it in case `to.toString()` is called several times.\nconst changeToString = (to, from, name) => {\n\tconst withName = name === '' ? '' : `with ${name.trim()}() `;\n\tconst newToString = wrappedToString.bind(null, withName, from.toString());\n\t// Ensure `to.toString.toString` is non-enumerable and has the same `same`\n\tObject.defineProperty(newToString, 'name', toStringName);\n\tconst {writable, enumerable, configurable} = toStringDescriptor; // We destructue to avoid a potential `get` descriptor.\n\tObject.defineProperty(to, 'toString', {value: newToString, writable, enumerable, configurable});\n};\n\nexport default function mimicFunction(to, from, {ignoreNonConfigurable = false} = {}) {\n\tconst {name} = to;\n\n\tfor (const property of Reflect.ownKeys(from)) {\n\t\tcopyProperty(to, from, property, ignoreNonConfigurable);\n\t}\n\n\tchangePrototype(to, from);\n\tchangeToString(to, from, name);\n\n\treturn to;\n}\n","import mimicFunction from 'mimic-function';\n\nconst calledFunctions = new WeakMap();\n\nconst onetime = (function_, options = {}) => {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError('Expected a function');\n\t}\n\n\tlet returnValue;\n\tlet callCount = 0;\n\tconst functionName = function_.displayName || function_.name || '<anonymous>';\n\n\tconst onetime = function (...arguments_) {\n\t\tcalledFunctions.set(onetime, ++callCount);\n\n\t\tif (callCount === 1) {\n\t\t\treturnValue = function_.apply(this, arguments_);\n\t\t\tfunction_ = undefined;\n\t\t} else if (options.throw === true) {\n\t\t\tthrow new Error(`Function \\`${functionName}\\` can only be called once`);\n\t\t}\n\n\t\treturn returnValue;\n\t};\n\n\tmimicFunction(onetime, function_);\n\tcalledFunctions.set(onetime, callCount);\n\n\treturn onetime;\n};\n\nonetime.callCount = function_ => {\n\tif (!calledFunctions.has(function_)) {\n\t\tthrow new Error(`The given function \\`${function_.name}\\` is not wrapped by the \\`onetime\\` package`);\n\t}\n\n\treturn calledFunctions.get(function_);\n};\n\nexport default onetime;\n","/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals = [];\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM');\nif (process.platform !== 'win32') {\n signals.push('SIGALRM', 'SIGABRT', 'SIGVTALRM', 'SIGXCPU', 'SIGXFSZ', 'SIGUSR2', 'SIGTRAP', 'SIGSYS', 'SIGQUIT', 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n );\n}\nif (process.platform === 'linux') {\n signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT');\n}\n//# sourceMappingURL=signals.js.map","// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js';\nexport { signals };\nconst processOk = (process) => !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function';\nconst kExitEmitter = Symbol.for('signal-exit emitter');\nconst global = globalThis;\nconst ObjectDefineProperty = Object.defineProperty.bind(Object);\n// teeny special purpose ee\nclass Emitter {\n emitted = {\n afterExit: false,\n exit: false,\n };\n listeners = {\n afterExit: [],\n exit: [],\n };\n count = 0;\n id = Math.random();\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter];\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n });\n }\n on(ev, fn) {\n this.listeners[ev].push(fn);\n }\n removeListener(ev, fn) {\n const list = this.listeners[ev];\n const i = list.indexOf(fn);\n /* c8 ignore start */\n if (i === -1) {\n return;\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0;\n }\n else {\n list.splice(i, 1);\n }\n }\n emit(ev, code, signal) {\n if (this.emitted[ev]) {\n return false;\n }\n this.emitted[ev] = true;\n let ret = false;\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret;\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret;\n }\n return ret;\n }\n}\nclass SignalExitBase {\n}\nconst signalExitWrap = (handler) => {\n return {\n onExit(cb, opts) {\n return handler.onExit(cb, opts);\n },\n load() {\n return handler.load();\n },\n unload() {\n return handler.unload();\n },\n };\n};\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => { };\n }\n load() { }\n unload() { }\n}\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP';\n /* c8 ignore stop */\n #emitter = new Emitter();\n #process;\n #originalProcessEmit;\n #originalProcessReallyExit;\n #sigListeners = {};\n #loaded = false;\n constructor(process) {\n super();\n this.#process = process;\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {};\n for (const sig of signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig);\n let { count } = this.#emitter;\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process;\n if (typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number') {\n count += p.__signal_exit_emitter__.count;\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload();\n const ret = this.#emitter.emit('exit', null, sig);\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig;\n if (!ret)\n process.kill(process.pid, s);\n /* c8 ignore stop */\n }\n };\n }\n this.#originalProcessReallyExit = process.reallyExit;\n this.#originalProcessEmit = process.emit;\n }\n onExit(cb, opts) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => { };\n }\n /* c8 ignore stop */\n if (this.#loaded === false) {\n this.load();\n }\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit';\n this.#emitter.on(ev, cb);\n return () => {\n this.#emitter.removeListener(ev, cb);\n if (this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0) {\n this.unload();\n }\n };\n }\n load() {\n if (this.#loaded) {\n return;\n }\n this.#loaded = true;\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1;\n for (const sig of signals) {\n try {\n const fn = this.#sigListeners[sig];\n if (fn)\n this.#process.on(sig, fn);\n }\n catch (_) { }\n }\n this.#process.emit = (ev, ...a) => {\n return this.#processEmit(ev, ...a);\n };\n this.#process.reallyExit = (code) => {\n return this.#processReallyExit(code);\n };\n }\n unload() {\n if (!this.#loaded) {\n return;\n }\n this.#loaded = false;\n signals.forEach(sig => {\n const listener = this.#sigListeners[sig];\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig);\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener);\n /* c8 ignore start */\n }\n catch (_) { }\n /* c8 ignore stop */\n });\n this.#process.emit = this.#originalProcessEmit;\n this.#process.reallyExit = this.#originalProcessReallyExit;\n this.#emitter.count -= 1;\n }\n #processReallyExit(code) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0;\n }\n this.#process.exitCode = code || 0;\n /* c8 ignore stop */\n this.#emitter.emit('exit', this.#process.exitCode, null);\n return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);\n }\n #processEmit(ev, ...args) {\n const og = this.#originalProcessEmit;\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0];\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args);\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null);\n /* c8 ignore stop */\n return ret;\n }\n else {\n return og.call(this.#process, ev, ...args);\n }\n }\n}\nconst process = globalThis.process;\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const { \n/**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\nonExit, \n/**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\nload, \n/**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\nunload, } = signalExitWrap(processOk(process) ? new SignalExit(process) : new SignalExitFallback());\n//# sourceMappingURL=index.js.map","import process from 'node:process';\nimport onetime from 'onetime';\nimport {onExit} from 'signal-exit';\n\nconst terminal = process.stderr.isTTY\n\t? process.stderr\n\t: (process.stdout.isTTY ? process.stdout : undefined);\n\nconst restoreCursor = terminal ? onetime(() => {\n\tonExit(() => {\n\t\tterminal.write('\\u001B[?25h');\n\t}, {alwaysLast: true});\n}) : () => {};\n\nexport default restoreCursor;\n","import process from 'node:process';\nimport restoreCursor from 'restore-cursor';\n\nlet isHidden = false;\n\nconst cliCursor = {};\n\ncliCursor.show = (writableStream = process.stderr) => {\n\tif (!writableStream.isTTY) {\n\t\treturn;\n\t}\n\n\tisHidden = false;\n\twritableStream.write('\\u001B[?25h');\n};\n\ncliCursor.hide = (writableStream = process.stderr) => {\n\tif (!writableStream.isTTY) {\n\t\treturn;\n\t}\n\n\trestoreCursor();\n\tisHidden = true;\n\twritableStream.write('\\u001B[?25l');\n};\n\ncliCursor.toggle = (force, writableStream) => {\n\tif (force !== undefined) {\n\t\tisHidden = force;\n\t}\n\n\tif (isHidden) {\n\t\tcliCursor.show(writableStream);\n\t} else {\n\t\tcliCursor.hide(writableStream);\n\t}\n};\n\nexport default cliCursor;\n","{\n\t\"dots\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠋\",\n\t\t\t\"⠙\",\n\t\t\t\"⠹\",\n\t\t\t\"⠸\",\n\t\t\t\"⠼\",\n\t\t\t\"⠴\",\n\t\t\t\"⠦\",\n\t\t\t\"⠧\",\n\t\t\t\"⠇\",\n\t\t\t\"⠏\"\n\t\t]\n\t},\n\t\"dots2\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⣾\",\n\t\t\t\"⣽\",\n\t\t\t\"⣻\",\n\t\t\t\"⢿\",\n\t\t\t\"⡿\",\n\t\t\t\"⣟\",\n\t\t\t\"⣯\",\n\t\t\t\"⣷\"\n\t\t]\n\t},\n\t\"dots3\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠋\",\n\t\t\t\"⠙\",\n\t\t\t\"⠚\",\n\t\t\t\"⠞\",\n\t\t\t\"⠖\",\n\t\t\t\"⠦\",\n\t\t\t\"⠴\",\n\t\t\t\"⠲\",\n\t\t\t\"⠳\",\n\t\t\t\"⠓\"\n\t\t]\n\t},\n\t\"dots4\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠄\",\n\t\t\t\"⠆\",\n\t\t\t\"⠇\",\n\t\t\t\"⠋\",\n\t\t\t\"⠙\",\n\t\t\t\"⠸\",\n\t\t\t\"⠰\",\n\t\t\t\"⠠\",\n\t\t\t\"⠰\",\n\t\t\t\"⠸\",\n\t\t\t\"⠙\",\n\t\t\t\"⠋\",\n\t\t\t\"⠇\",\n\t\t\t\"⠆\"\n\t\t]\n\t},\n\t\"dots5\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠋\",\n\t\t\t\"⠙\",\n\t\t\t\"⠚\",\n\t\t\t\"⠒\",\n\t\t\t\"⠂\",\n\t\t\t\"⠂\",\n\t\t\t\"⠒\",\n\t\t\t\"⠲\",\n\t\t\t\"⠴\",\n\t\t\t\"⠦\",\n\t\t\t\"⠖\",\n\t\t\t\"⠒\",\n\t\t\t\"⠐\",\n\t\t\t\"⠐\",\n\t\t\t\"⠒\",\n\t\t\t\"⠓\",\n\t\t\t\"⠋\"\n\t\t]\n\t},\n\t\"dots6\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠁\",\n\t\t\t\"⠉\",\n\t\t\t\"⠙\",\n\t\t\t\"⠚\",\n\t\t\t\"⠒\",\n\t\t\t\"⠂\",\n\t\t\t\"⠂\",\n\t\t\t\"⠒\",\n\t\t\t\"⠲\",\n\t\t\t\"⠴\",\n\t\t\t\"⠤\",\n\t\t\t\"⠄\",\n\t\t\t\"⠄\",\n\t\t\t\"⠤\",\n\t\t\t\"⠴\",\n\t\t\t\"⠲\",\n\t\t\t\"⠒\",\n\t\t\t\"⠂\",\n\t\t\t\"⠂\",\n\t\t\t\"⠒\",\n\t\t\t\"⠚\",\n\t\t\t\"⠙\",\n\t\t\t\"⠉\",\n\t\t\t\"⠁\"\n\t\t]\n\t},\n\t\"dots7\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠈\",\n\t\t\t\"⠉\",\n\t\t\t\"⠋\",\n\t\t\t\"⠓\",\n\t\t\t\"⠒\",\n\t\t\t\"⠐\",\n\t\t\t\"⠐\",\n\t\t\t\"⠒\",\n\t\t\t\"⠖\",\n\t\t\t\"⠦\",\n\t\t\t\"⠤\",\n\t\t\t\"⠠\",\n\t\t\t\"⠠\",\n\t\t\t\"⠤\",\n\t\t\t\"⠦\",\n\t\t\t\"⠖\",\n\t\t\t\"⠒\",\n\t\t\t\"⠐\",\n\t\t\t\"⠐\",\n\t\t\t\"⠒\",\n\t\t\t\"⠓\",\n\t\t\t\"⠋\",\n\t\t\t\"⠉\",\n\t\t\t\"⠈\"\n\t\t]\n\t},\n\t\"dots8\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠁\",\n\t\t\t\"⠁\",\n\t\t\t\"⠉\",\n\t\t\t\"⠙\",\n\t\t\t\"⠚\",\n\t\t\t\"⠒\",\n\t\t\t\"⠂\",\n\t\t\t\"⠂\",\n\t\t\t\"⠒\",\n\t\t\t\"⠲\",\n\t\t\t\"⠴\",\n\t\t\t\"⠤\",\n\t\t\t\"⠄\",\n\t\t\t\"⠄\",\n\t\t\t\"⠤\",\n\t\t\t\"⠠\",\n\t\t\t\"⠠\",\n\t\t\t\"⠤\",\n\t\t\t\"⠦\",\n\t\t\t\"⠖\",\n\t\t\t\"⠒\",\n\t\t\t\"⠐\",\n\t\t\t\"⠐\",\n\t\t\t\"⠒\",\n\t\t\t\"⠓\",\n\t\t\t\"⠋\",\n\t\t\t\"⠉\",\n\t\t\t\"⠈\",\n\t\t\t\"⠈\"\n\t\t]\n\t},\n\t\"dots9\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⢹\",\n\t\t\t\"⢺\",\n\t\t\t\"⢼\",\n\t\t\t\"⣸\",\n\t\t\t\"⣇\",\n\t\t\t\"⡧\",\n\t\t\t\"⡗\",\n\t\t\t\"⡏\"\n\t\t]\n\t},\n\t\"dots10\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⢄\",\n\t\t\t\"⢂\",\n\t\t\t\"⢁\",\n\t\t\t\"⡁\",\n\t\t\t\"⡈\",\n\t\t\t\"⡐\",\n\t\t\t\"⡠\"\n\t\t]\n\t},\n\t\"dots11\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"⠁\",\n\t\t\t\"⠂\",\n\t\t\t\"⠄\",\n\t\t\t\"⡀\",\n\t\t\t\"⢀\",\n\t\t\t\"⠠\",\n\t\t\t\"⠐\",\n\t\t\t\"⠈\"\n\t\t]\n\t},\n\t\"dots12\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⢀⠀\",\n\t\t\t\"⡀⠀\",\n\t\t\t\"⠄⠀\",\n\t\t\t\"⢂⠀\",\n\t\t\t\"⡂⠀\",\n\t\t\t\"⠅⠀\",\n\t\t\t\"⢃⠀\",\n\t\t\t\"⡃⠀\",\n\t\t\t\"⠍⠀\",\n\t\t\t\"⢋⠀\",\n\t\t\t\"⡋⠀\",\n\t\t\t\"⠍⠁\",\n\t\t\t\"⢋⠁\",\n\t\t\t\"⡋⠁\",\n\t\t\t\"⠍⠉\",\n\t\t\t\"⠋⠉\",\n\t\t\t\"⠋⠉\",\n\t\t\t\"⠉⠙\",\n\t\t\t\"⠉⠙\",\n\t\t\t\"⠉⠩\",\n\t\t\t\"⠈⢙\",\n\t\t\t\"⠈⡙\",\n\t\t\t\"⢈⠩\",\n\t\t\t\"⡀⢙\",\n\t\t\t\"⠄⡙\",\n\t\t\t\"⢂⠩\",\n\t\t\t\"⡂⢘\",\n\t\t\t\"⠅⡘\",\n\t\t\t\"⢃⠨\",\n\t\t\t\"⡃⢐\",\n\t\t\t\"⠍⡐\",\n\t\t\t\"⢋⠠\",\n\t\t\t\"⡋⢀\",\n\t\t\t\"⠍⡁\",\n\t\t\t\"⢋⠁\",\n\t\t\t\"⡋⠁\",\n\t\t\t\"⠍⠉\",\n\t\t\t\"⠋⠉\",\n\t\t\t\"⠋⠉\",\n\t\t\t\"⠉⠙\",\n\t\t\t\"⠉⠙\",\n\t\t\t\"⠉⠩\",\n\t\t\t\"⠈⢙\",\n\t\t\t\"⠈⡙\",\n\t\t\t\"⠈⠩\",\n\t\t\t\"⠀⢙\",\n\t\t\t\"⠀⡙\",\n\t\t\t\"⠀⠩\",\n\t\t\t\"⠀⢘\",\n\t\t\t\"⠀⡘\",\n\t\t\t\"⠀⠨\",\n\t\t\t\"⠀⢐\",\n\t\t\t\"⠀⡐\",\n\t\t\t\"⠀⠠\",\n\t\t\t\"⠀⢀\",\n\t\t\t\"⠀⡀\"\n\t\t]\n\t},\n\t\"dots13\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⣼\",\n\t\t\t\"⣹\",\n\t\t\t\"⢻\",\n\t\t\t\"⠿\",\n\t\t\t\"⡟\",\n\t\t\t\"⣏\",\n\t\t\t\"⣧\",\n\t\t\t\"⣶\"\n\t\t]\n\t},\n\t\"dots8Bit\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠀\",\n\t\t\t\"⠁\",\n\t\t\t\"⠂\",\n\t\t\t\"⠃\",\n\t\t\t\"⠄\",\n\t\t\t\"⠅\",\n\t\t\t\"⠆\",\n\t\t\t\"⠇\",\n\t\t\t\"⡀\",\n\t\t\t\"⡁\",\n\t\t\t\"⡂\",\n\t\t\t\"⡃\",\n\t\t\t\"⡄\",\n\t\t\t\"⡅\",\n\t\t\t\"⡆\",\n\t\t\t\"⡇\",\n\t\t\t\"⠈\",\n\t\t\t\"⠉\",\n\t\t\t\"⠊\",\n\t\t\t\"⠋\",\n\t\t\t\"⠌\",\n\t\t\t\"⠍\",\n\t\t\t\"⠎\",\n\t\t\t\"⠏\",\n\t\t\t\"⡈\",\n\t\t\t\"⡉\",\n\t\t\t\"⡊\",\n\t\t\t\"⡋\",\n\t\t\t\"⡌\",\n\t\t\t\"⡍\",\n\t\t\t\"⡎\",\n\t\t\t\"⡏\",\n\t\t\t\"⠐\",\n\t\t\t\"⠑\",\n\t\t\t\"⠒\",\n\t\t\t\"⠓\",\n\t\t\t\"⠔\",\n\t\t\t\"⠕\",\n\t\t\t\"⠖\",\n\t\t\t\"⠗\",\n\t\t\t\"⡐\",\n\t\t\t\"⡑\",\n\t\t\t\"⡒\",\n\t\t\t\"⡓\",\n\t\t\t\"⡔\",\n\t\t\t\"⡕\",\n\t\t\t\"⡖\",\n\t\t\t\"⡗\",\n\t\t\t\"⠘\",\n\t\t\t\"⠙\",\n\t\t\t\"⠚\",\n\t\t\t\"⠛\",\n\t\t\t\"⠜\",\n\t\t\t\"⠝\",\n\t\t\t\"⠞\",\n\t\t\t\"⠟\",\n\t\t\t\"⡘\",\n\t\t\t\"⡙\",\n\t\t\t\"⡚\",\n\t\t\t\"⡛\",\n\t\t\t\"⡜\",\n\t\t\t\"⡝\",\n\t\t\t\"⡞\",\n\t\t\t\"⡟\",\n\t\t\t\"⠠\",\n\t\t\t\"⠡\",\n\t\t\t\"⠢\",\n\t\t\t\"⠣\",\n\t\t\t\"⠤\",\n\t\t\t\"⠥\",\n\t\t\t\"⠦\",\n\t\t\t\"⠧\",\n\t\t\t\"⡠\",\n\t\t\t\"⡡\",\n\t\t\t\"⡢\",\n\t\t\t\"⡣\",\n\t\t\t\"⡤\",\n\t\t\t\"⡥\",\n\t\t\t\"⡦\",\n\t\t\t\"⡧\",\n\t\t\t\"⠨\",\n\t\t\t\"⠩\",\n\t\t\t\"⠪\",\n\t\t\t\"⠫\",\n\t\t\t\"⠬\",\n\t\t\t\"⠭\",\n\t\t\t\"⠮\",\n\t\t\t\"⠯\",\n\t\t\t\"⡨\",\n\t\t\t\"⡩\",\n\t\t\t\"⡪\",\n\t\t\t\"⡫\",\n\t\t\t\"⡬\",\n\t\t\t\"⡭\",\n\t\t\t\"⡮\",\n\t\t\t\"⡯\",\n\t\t\t\"⠰\",\n\t\t\t\"⠱\",\n\t\t\t\"⠲\",\n\t\t\t\"⠳\",\n\t\t\t\"⠴\",\n\t\t\t\"⠵\",\n\t\t\t\"⠶\",\n\t\t\t\"⠷\",\n\t\t\t\"⡰\",\n\t\t\t\"⡱\",\n\t\t\t\"⡲\",\n\t\t\t\"⡳\",\n\t\t\t\"⡴\",\n\t\t\t\"⡵\",\n\t\t\t\"⡶\",\n\t\t\t\"⡷\",\n\t\t\t\"⠸\",\n\t\t\t\"⠹\",\n\t\t\t\"⠺\",\n\t\t\t\"⠻\",\n\t\t\t\"⠼\",\n\t\t\t\"⠽\",\n\t\t\t\"⠾\",\n\t\t\t\"⠿\",\n\t\t\t\"⡸\",\n\t\t\t\"⡹\",\n\t\t\t\"⡺\",\n\t\t\t\"⡻\",\n\t\t\t\"⡼\",\n\t\t\t\"⡽\",\n\t\t\t\"⡾\",\n\t\t\t\"⡿\",\n\t\t\t\"⢀\",\n\t\t\t\"⢁\",\n\t\t\t\"⢂\",\n\t\t\t\"⢃\",\n\t\t\t\"⢄\",\n\t\t\t\"⢅\",\n\t\t\t\"⢆\",\n\t\t\t\"⢇\",\n\t\t\t\"⣀\",\n\t\t\t\"⣁\",\n\t\t\t\"⣂\",\n\t\t\t\"⣃\",\n\t\t\t\"⣄\",\n\t\t\t\"⣅\",\n\t\t\t\"⣆\",\n\t\t\t\"⣇\",\n\t\t\t\"⢈\",\n\t\t\t\"⢉\",\n\t\t\t\"⢊\",\n\t\t\t\"⢋\",\n\t\t\t\"⢌\",\n\t\t\t\"⢍\",\n\t\t\t\"⢎\",\n\t\t\t\"⢏\",\n\t\t\t\"⣈\",\n\t\t\t\"⣉\",\n\t\t\t\"⣊\",\n\t\t\t\"⣋\",\n\t\t\t\"⣌\",\n\t\t\t\"⣍\",\n\t\t\t\"⣎\",\n\t\t\t\"⣏\",\n\t\t\t\"⢐\",\n\t\t\t\"⢑\",\n\t\t\t\"⢒\",\n\t\t\t\"⢓\",\n\t\t\t\"⢔\",\n\t\t\t\"⢕\",\n\t\t\t\"⢖\",\n\t\t\t\"⢗\",\n\t\t\t\"⣐\",\n\t\t\t\"⣑\",\n\t\t\t\"⣒\",\n\t\t\t\"⣓\",\n\t\t\t\"⣔\",\n\t\t\t\"⣕\",\n\t\t\t\"⣖\",\n\t\t\t\"⣗\",\n\t\t\t\"⢘\",\n\t\t\t\"⢙\",\n\t\t\t\"⢚\",\n\t\t\t\"⢛\",\n\t\t\t\"⢜\",\n\t\t\t\"⢝\",\n\t\t\t\"⢞\",\n\t\t\t\"⢟\",\n\t\t\t\"⣘\",\n\t\t\t\"⣙\",\n\t\t\t\"⣚\",\n\t\t\t\"⣛\",\n\t\t\t\"⣜\",\n\t\t\t\"⣝\",\n\t\t\t\"⣞\",\n\t\t\t\"⣟\",\n\t\t\t\"⢠\",\n\t\t\t\"⢡\",\n\t\t\t\"⢢\",\n\t\t\t\"⢣\",\n\t\t\t\"⢤\",\n\t\t\t\"⢥\",\n\t\t\t\"⢦\",\n\t\t\t\"⢧\",\n\t\t\t\"⣠\",\n\t\t\t\"⣡\",\n\t\t\t\"⣢\",\n\t\t\t\"⣣\",\n\t\t\t\"⣤\",\n\t\t\t\"⣥\",\n\t\t\t\"⣦\",\n\t\t\t\"⣧\",\n\t\t\t\"⢨\",\n\t\t\t\"⢩\",\n\t\t\t\"⢪\",\n\t\t\t\"⢫\",\n\t\t\t\"⢬\",\n\t\t\t\"⢭\",\n\t\t\t\"⢮\",\n\t\t\t\"⢯\",\n\t\t\t\"⣨\",\n\t\t\t\"⣩\",\n\t\t\t\"⣪\",\n\t\t\t\"⣫\",\n\t\t\t\"⣬\",\n\t\t\t\"⣭\",\n\t\t\t\"⣮\",\n\t\t\t\"⣯\",\n\t\t\t\"⢰\",\n\t\t\t\"⢱\",\n\t\t\t\"⢲\",\n\t\t\t\"⢳\",\n\t\t\t\"⢴\",\n\t\t\t\"⢵\",\n\t\t\t\"⢶\",\n\t\t\t\"⢷\",\n\t\t\t\"⣰\",\n\t\t\t\"⣱\",\n\t\t\t\"⣲\",\n\t\t\t\"⣳\",\n\t\t\t\"⣴\",\n\t\t\t\"⣵\",\n\t\t\t\"⣶\",\n\t\t\t\"⣷\",\n\t\t\t\"⢸\",\n\t\t\t\"⢹\",\n\t\t\t\"⢺\",\n\t\t\t\"⢻\",\n\t\t\t\"⢼\",\n\t\t\t\"⢽\",\n\t\t\t\"⢾\",\n\t\t\t\"⢿\",\n\t\t\t\"⣸\",\n\t\t\t\"⣹\",\n\t\t\t\"⣺\",\n\t\t\t\"⣻\",\n\t\t\t\"⣼\",\n\t\t\t\"⣽\",\n\t\t\t\"⣾\",\n\t\t\t\"⣿\"\n\t\t]\n\t},\n\t\"sand\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⠁\",\n\t\t\t\"⠂\",\n\t\t\t\"⠄\",\n\t\t\t\"⡀\",\n\t\t\t\"⡈\",\n\t\t\t\"⡐\",\n\t\t\t\"⡠\",\n\t\t\t\"⣀\",\n\t\t\t\"⣁\",\n\t\t\t\"⣂\",\n\t\t\t\"⣄\",\n\t\t\t\"⣌\",\n\t\t\t\"⣔\",\n\t\t\t\"⣤\",\n\t\t\t\"⣥\",\n\t\t\t\"⣦\",\n\t\t\t\"⣮\",\n\t\t\t\"⣶\",\n\t\t\t\"⣷\",\n\t\t\t\"⣿\",\n\t\t\t\"⡿\",\n\t\t\t\"⠿\",\n\t\t\t\"⢟\",\n\t\t\t\"⠟\",\n\t\t\t\"⡛\",\n\t\t\t\"⠛\",\n\t\t\t\"⠫\",\n\t\t\t\"⢋\",\n\t\t\t\"⠋\",\n\t\t\t\"⠍\",\n\t\t\t\"⡉\",\n\t\t\t\"⠉\",\n\t\t\t\"⠑\",\n\t\t\t\"⠡\",\n\t\t\t\"⢁\"\n\t\t]\n\t},\n\t\"line\": {\n\t\t\"interval\": 130,\n\t\t\"frames\": [\n\t\t\t\"-\",\n\t\t\t\"\\\\\",\n\t\t\t\"|\",\n\t\t\t\"/\"\n\t\t]\n\t},\n\t\"line2\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"⠂\",\n\t\t\t\"-\",\n\t\t\t\"–\",\n\t\t\t\"—\",\n\t\t\t\"–\",\n\t\t\t\"-\"\n\t\t]\n\t},\n\t\"pipe\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"┤\",\n\t\t\t\"┘\",\n\t\t\t\"┴\",\n\t\t\t\"└\",\n\t\t\t\"├\",\n\t\t\t\"┌\",\n\t\t\t\"┬\",\n\t\t\t\"┐\"\n\t\t]\n\t},\n\t\"simpleDots\": {\n\t\t\"interval\": 400,\n\t\t\"frames\": [\n\t\t\t\". \",\n\t\t\t\".. \",\n\t\t\t\"...\",\n\t\t\t\" \"\n\t\t]\n\t},\n\t\"simpleDotsScrolling\": {\n\t\t\"interval\": 200,\n\t\t\"frames\": [\n\t\t\t\". \",\n\t\t\t\".. \",\n\t\t\t\"...\",\n\t\t\t\" ..\",\n\t\t\t\" .\",\n\t\t\t\" \"\n\t\t]\n\t},\n\t\"star\": {\n\t\t\"interval\": 70,\n\t\t\"frames\": [\n\t\t\t\"✶\",\n\t\t\t\"✸\",\n\t\t\t\"✹\",\n\t\t\t\"✺\",\n\t\t\t\"✹\",\n\t\t\t\"✷\"\n\t\t]\n\t},\n\t\"star2\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"+\",\n\t\t\t\"x\",\n\t\t\t\"*\"\n\t\t]\n\t},\n\t\"flip\": {\n\t\t\"interval\": 70,\n\t\t\"frames\": [\n\t\t\t\"_\",\n\t\t\t\"_\",\n\t\t\t\"_\",\n\t\t\t\"-\",\n\t\t\t\"`\",\n\t\t\t\"`\",\n\t\t\t\"'\",\n\t\t\t\"´\",\n\t\t\t\"-\",\n\t\t\t\"_\",\n\t\t\t\"_\",\n\t\t\t\"_\"\n\t\t]\n\t},\n\t\"hamburger\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"☱\",\n\t\t\t\"☲\",\n\t\t\t\"☴\"\n\t\t]\n\t},\n\t\"growVertical\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"▁\",\n\t\t\t\"▃\",\n\t\t\t\"▄\",\n\t\t\t\"▅\",\n\t\t\t\"▆\",\n\t\t\t\"▇\",\n\t\t\t\"▆\",\n\t\t\t\"▅\",\n\t\t\t\"▄\",\n\t\t\t\"▃\"\n\t\t]\n\t},\n\t\"growHorizontal\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"▏\",\n\t\t\t\"▎\",\n\t\t\t\"▍\",\n\t\t\t\"▌\",\n\t\t\t\"▋\",\n\t\t\t\"▊\",\n\t\t\t\"▉\",\n\t\t\t\"▊\",\n\t\t\t\"▋\",\n\t\t\t\"▌\",\n\t\t\t\"▍\",\n\t\t\t\"▎\"\n\t\t]\n\t},\n\t\"balloon\": {\n\t\t\"interval\": 140,\n\t\t\"frames\": [\n\t\t\t\" \",\n\t\t\t\".\",\n\t\t\t\"o\",\n\t\t\t\"O\",\n\t\t\t\"@\",\n\t\t\t\"*\",\n\t\t\t\" \"\n\t\t]\n\t},\n\t\"balloon2\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\".\",\n\t\t\t\"o\",\n\t\t\t\"O\",\n\t\t\t\"°\",\n\t\t\t\"O\",\n\t\t\t\"o\",\n\t\t\t\".\"\n\t\t]\n\t},\n\t\"noise\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"▓\",\n\t\t\t\"▒\",\n\t\t\t\"░\"\n\t\t]\n\t},\n\t\"bounce\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"⠁\",\n\t\t\t\"⠂\",\n\t\t\t\"⠄\",\n\t\t\t\"⠂\"\n\t\t]\n\t},\n\t\"boxBounce\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"▖\",\n\t\t\t\"▘\",\n\t\t\t\"▝\",\n\t\t\t\"▗\"\n\t\t]\n\t},\n\t\"boxBounce2\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"▌\",\n\t\t\t\"▀\",\n\t\t\t\"▐\",\n\t\t\t\"▄\"\n\t\t]\n\t},\n\t\"triangle\": {\n\t\t\"interval\": 50,\n\t\t\"frames\": [\n\t\t\t\"◢\",\n\t\t\t\"◣\",\n\t\t\t\"◤\",\n\t\t\t\"◥\"\n\t\t]\n\t},\n\t\"binary\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"010010\",\n \"001100\",\n \"100101\",\n \"111010\",\n \"111101\",\n \"010111\",\n\t\t\t\"101011\",\n\t\t\t\"111000\",\n\t\t\t\"110011\",\n\t\t\t\"110101\"\n\t\t]\n\t},\n\t\"arc\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"◜\",\n\t\t\t\"◠\",\n\t\t\t\"◝\",\n\t\t\t\"◞\",\n\t\t\t\"◡\",\n\t\t\t\"◟\"\n\t\t]\n\t},\n\t\"circle\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"◡\",\n\t\t\t\"⊙\",\n\t\t\t\"◠\"\n\t\t]\n\t},\n\t\"squareCorners\": {\n\t\t\"interval\": 180,\n\t\t\"frames\": [\n\t\t\t\"◰\",\n\t\t\t\"◳\",\n\t\t\t\"◲\",\n\t\t\t\"◱\"\n\t\t]\n\t},\n\t\"circleQuarters\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"◴\",\n\t\t\t\"◷\",\n\t\t\t\"◶\",\n\t\t\t\"◵\"\n\t\t]\n\t},\n\t\"circleHalves\": {\n\t\t\"interval\": 50,\n\t\t\"frames\": [\n\t\t\t\"◐\",\n\t\t\t\"◓\",\n\t\t\t\"◑\",\n\t\t\t\"◒\"\n\t\t]\n\t},\n\t\"squish\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"╫\",\n\t\t\t\"╪\"\n\t\t]\n\t},\n\t\"toggle\": {\n\t\t\"interval\": 250,\n\t\t\"frames\": [\n\t\t\t\"⊶\",\n\t\t\t\"⊷\"\n\t\t]\n\t},\n\t\"toggle2\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"▫\",\n\t\t\t\"▪\"\n\t\t]\n\t},\n\t\"toggle3\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"□\",\n\t\t\t\"■\"\n\t\t]\n\t},\n\t\"toggle4\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"■\",\n\t\t\t\"□\",\n\t\t\t\"▪\",\n\t\t\t\"▫\"\n\t\t]\n\t},\n\t\"toggle5\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"▮\",\n\t\t\t\"▯\"\n\t\t]\n\t},\n\t\"toggle6\": {\n\t\t\"interval\": 300,\n\t\t\"frames\": [\n\t\t\t\"ဝ\",\n\t\t\t\"၀\"\n\t\t]\n\t},\n\t\"toggle7\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⦾\",\n\t\t\t\"⦿\"\n\t\t]\n\t},\n\t\"toggle8\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"◍\",\n\t\t\t\"◌\"\n\t\t]\n\t},\n\t\"toggle9\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"◉\",\n\t\t\t\"◎\"\n\t\t]\n\t},\n\t\"toggle10\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"㊂\",\n\t\t\t\"㊀\",\n\t\t\t\"㊁\"\n\t\t]\n\t},\n\t\"toggle11\": {\n\t\t\"interval\": 50,\n\t\t\"frames\": [\n\t\t\t\"⧇\",\n\t\t\t\"⧆\"\n\t\t]\n\t},\n\t\"toggle12\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"☗\",\n\t\t\t\"☖\"\n\t\t]\n\t},\n\t\"toggle13\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"=\",\n\t\t\t\"*\",\n\t\t\t\"-\"\n\t\t]\n\t},\n\t\"arrow\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"←\",\n\t\t\t\"↖\",\n\t\t\t\"↑\",\n\t\t\t\"↗\",\n\t\t\t\"→\",\n\t\t\t\"↘\",\n\t\t\t\"↓\",\n\t\t\t\"↙\"\n\t\t]\n\t},\n\t\"arrow2\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"⬆️ \",\n\t\t\t\"↗️ \",\n\t\t\t\"➡️ \",\n\t\t\t\"↘️ \",\n\t\t\t\"⬇️ \",\n\t\t\t\"↙️ \",\n\t\t\t\"⬅️ \",\n\t\t\t\"↖️ \"\n\t\t]\n\t},\n\t\"arrow3\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"▹▹▹▹▹\",\n\t\t\t\"▸▹▹▹▹\",\n\t\t\t\"▹▸▹▹▹\",\n\t\t\t\"▹▹▸▹▹\",\n\t\t\t\"▹▹▹▸▹\",\n\t\t\t\"▹▹▹▹▸\"\n\t\t]\n\t},\n\t\"bouncingBar\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"[ ]\",\n\t\t\t\"[= ]\",\n\t\t\t\"[== ]\",\n\t\t\t\"[=== ]\",\n\t\t\t\"[====]\",\n\t\t\t\"[ ===]\",\n\t\t\t\"[ ==]\",\n\t\t\t\"[ =]\",\n\t\t\t\"[ ]\",\n\t\t\t\"[ =]\",\n\t\t\t\"[ ==]\",\n\t\t\t\"[ ===]\",\n\t\t\t\"[====]\",\n\t\t\t\"[=== ]\",\n\t\t\t\"[== ]\",\n\t\t\t\"[= ]\"\n\t\t]\n\t},\n\t\"bouncingBall\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"( ● )\",\n\t\t\t\"( ● )\",\n\t\t\t\"( ● )\",\n\t\t\t\"( ● )\",\n\t\t\t\"( ●)\",\n\t\t\t\"( ● )\",\n\t\t\t\"( ● )\",\n\t\t\t\"( ● )\",\n\t\t\t\"( ● )\",\n\t\t\t\"(● )\"\n\t\t]\n\t},\n\t\"smiley\": {\n\t\t\"interval\": 200,\n\t\t\"frames\": [\n\t\t\t\"😄 \",\n\t\t\t\"😝 \"\n\t\t]\n\t},\n\t\"monkey\": {\n\t\t\"interval\": 300,\n\t\t\"frames\": [\n\t\t\t\"🙈 \",\n\t\t\t\"🙈 \",\n\t\t\t\"🙉 \",\n\t\t\t\"🙊 \"\n\t\t]\n\t},\n\t\"hearts\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"💛 \",\n\t\t\t\"💙 \",\n\t\t\t\"💜 \",\n\t\t\t\"💚 \",\n\t\t\t\"❤️ \"\n\t\t]\n\t},\n\t\"clock\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"🕛 \",\n\t\t\t\"🕐 \",\n\t\t\t\"🕑 \",\n\t\t\t\"🕒 \",\n\t\t\t\"🕓 \",\n\t\t\t\"🕔 \",\n\t\t\t\"🕕 \",\n\t\t\t\"🕖 \",\n\t\t\t\"🕗 \",\n\t\t\t\"🕘 \",\n\t\t\t\"🕙 \",\n\t\t\t\"🕚 \"\n\t\t]\n\t},\n\t\"earth\": {\n\t\t\"interval\": 180,\n\t\t\"frames\": [\n\t\t\t\"🌍 \",\n\t\t\t\"🌎 \",\n\t\t\t\"🌏 \"\n\t\t]\n\t},\n\t\"material\": {\n\t\t\"interval\": 17,\n\t\t\"frames\": [\n\t\t\t\"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"███████▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"████████▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"██████████▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"███████████▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"█████████████▁▁▁▁▁▁▁\",\n\t\t\t\"██████████████▁▁▁▁▁▁\",\n\t\t\t\"██████████████▁▁▁▁▁▁\",\n\t\t\t\"▁██████████████▁▁▁▁▁\",\n\t\t\t\"▁██████████████▁▁▁▁▁\",\n\t\t\t\"▁██████████████▁▁▁▁▁\",\n\t\t\t\"▁▁██████████████▁▁▁▁\",\n\t\t\t\"▁▁▁██████████████▁▁▁\",\n\t\t\t\"▁▁▁▁█████████████▁▁▁\",\n\t\t\t\"▁▁▁▁██████████████▁▁\",\n\t\t\t\"▁▁▁▁██████████████▁▁\",\n\t\t\t\"▁▁▁▁▁██████████████▁\",\n\t\t\t\"▁▁▁▁▁██████████████▁\",\n\t\t\t\"▁▁▁▁▁██████████████▁\",\n\t\t\t\"▁▁▁▁▁▁██████████████\",\n\t\t\t\"▁▁▁▁▁▁██████████████\",\n\t\t\t\"▁▁▁▁▁▁▁█████████████\",\n\t\t\t\"▁▁▁▁▁▁▁█████████████\",\n\t\t\t\"▁▁▁▁▁▁▁▁████████████\",\n\t\t\t\"▁▁▁▁▁▁▁▁████████████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁███████████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁███████████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁██████████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁██████████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁████████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\n\t\t\t\"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\n\t\t\t\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\n\t\t\t\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\n\t\t\t\"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\n\t\t\t\"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\n\t\t\t\"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\n\t\t\t\"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\n\t\t\t\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\n\t\t\t\"████████▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"███████████▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"████████████▁▁▁▁▁▁▁▁\",\n\t\t\t\"████████████▁▁▁▁▁▁▁▁\",\n\t\t\t\"██████████████▁▁▁▁▁▁\",\n\t\t\t\"██████████████▁▁▁▁▁▁\",\n\t\t\t\"▁██████████████▁▁▁▁▁\",\n\t\t\t\"▁██████████████▁▁▁▁▁\",\n\t\t\t\"▁▁▁█████████████▁▁▁▁\",\n\t\t\t\"▁▁▁▁▁████████████▁▁▁\",\n\t\t\t\"▁▁▁▁▁████████████▁▁▁\",\n\t\t\t\"▁▁▁▁▁▁███████████▁▁▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁█████████▁▁▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁█████████▁▁▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁█████████▁▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁█████████▁▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁█████████▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁████████▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁████████▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁███████▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁███████▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n\t\t\t\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\"\n\t\t]\n\t},\n\t\"moon\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"🌑 \",\n\t\t\t\"🌒 \",\n\t\t\t\"🌓 \",\n\t\t\t\"🌔 \",\n\t\t\t\"🌕 \",\n\t\t\t\"🌖 \",\n\t\t\t\"🌗 \",\n\t\t\t\"🌘 \"\n\t\t]\n\t},\n\t\"runner\": {\n\t\t\"interval\": 140,\n\t\t\"frames\": [\n\t\t\t\"🚶 \",\n\t\t\t\"🏃 \"\n\t\t]\n\t},\n\t\"pong\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"▐⠂ ▌\",\n\t\t\t\"▐⠈ ▌\",\n\t\t\t\"▐ ⠂ ▌\",\n\t\t\t\"▐ ⠠ ▌\",\n\t\t\t\"▐ ⡀ ▌\",\n\t\t\t\"▐ ⠠ ▌\",\n\t\t\t\"▐ ⠂ ▌\",\n\t\t\t\"▐ ⠈ ▌\",\n\t\t\t\"▐ ⠂ ▌\",\n\t\t\t\"▐ ⠠ ▌\",\n\t\t\t\"▐ ⡀ ▌\",\n\t\t\t\"▐ ⠠ ▌\",\n\t\t\t\"▐ ⠂ ▌\",\n\t\t\t\"▐ ⠈ ▌\",\n\t\t\t\"▐ ⠂▌\",\n\t\t\t\"▐ ⠠▌\",\n\t\t\t\"▐ ⡀▌\",\n\t\t\t\"▐ ⠠ ▌\",\n\t\t\t\"▐ ⠂ ▌\",\n\t\t\t\"▐ ⠈ ▌\",\n\t\t\t\"▐ ⠂ ▌\",\n\t\t\t\"▐ ⠠ ▌\",\n\t\t\t\"▐ ⡀ ▌\",\n\t\t\t\"▐ ⠠ ▌\",\n\t\t\t\"▐ ⠂ ▌\",\n\t\t\t\"▐ ⠈ ▌\",\n\t\t\t\"▐ ⠂ ▌\",\n\t\t\t\"▐ ⠠ ▌\",\n\t\t\t\"▐ ⡀ ▌\",\n\t\t\t\"▐⠠ ▌\"\n\t\t]\n\t},\n\t\"shark\": {\n\t\t\"interval\": 120,\n\t\t\"frames\": [\n\t\t\t\"▐|\\\\____________▌\",\n\t\t\t\"▐_|\\\\___________▌\",\n\t\t\t\"▐__|\\\\__________▌\",\n\t\t\t\"▐___|\\\\_________▌\",\n\t\t\t\"▐____|\\\\________▌\",\n\t\t\t\"▐_____|\\\\_______▌\",\n\t\t\t\"▐______|\\\\______▌\",\n\t\t\t\"▐_______|\\\\_____▌\",\n\t\t\t\"▐________|\\\\____▌\",\n\t\t\t\"▐_________|\\\\___▌\",\n\t\t\t\"▐__________|\\\\__▌\",\n\t\t\t\"▐___________|\\\\_▌\",\n\t\t\t\"▐____________|\\\\▌\",\n\t\t\t\"▐____________/|▌\",\n\t\t\t\"▐___________/|_▌\",\n\t\t\t\"▐__________/|__▌\",\n\t\t\t\"▐_________/|___▌\",\n\t\t\t\"▐________/|____▌\",\n\t\t\t\"▐_______/|_____▌\",\n\t\t\t\"▐______/|______▌\",\n\t\t\t\"▐_____/|_______▌\",\n\t\t\t\"▐____/|________▌\",\n\t\t\t\"▐___/|_________▌\",\n\t\t\t\"▐__/|__________▌\",\n\t\t\t\"▐_/|___________▌\",\n\t\t\t\"▐/|____________▌\"\n\t\t]\n\t},\n\t\"dqpb\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"d\",\n\t\t\t\"q\",\n\t\t\t\"p\",\n\t\t\t\"b\"\n\t\t]\n\t},\n\t\"weather\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"☀️ \",\n\t\t\t\"☀️ \",\n\t\t\t\"☀️ \",\n\t\t\t\"🌤 \",\n\t\t\t\"⛅️ \",\n\t\t\t\"🌥 \",\n\t\t\t\"☁️ \",\n\t\t\t\"🌧 \",\n\t\t\t\"🌨 \",\n\t\t\t\"🌧 \",\n\t\t\t\"🌨 \",\n\t\t\t\"🌧 \",\n\t\t\t\"🌨 \",\n\t\t\t\"⛈ \",\n\t\t\t\"🌨 \",\n\t\t\t\"🌧 \",\n\t\t\t\"🌨 \",\n\t\t\t\"☁️ \",\n\t\t\t\"🌥 \",\n\t\t\t\"⛅️ \",\n\t\t\t\"🌤 \",\n\t\t\t\"☀️ \",\n\t\t\t\"☀️ \"\n\t\t]\n\t},\n\t\"christmas\": {\n\t\t\"interval\": 400,\n\t\t\"frames\": [\n\t\t\t\"🌲\",\n\t\t\t\"🎄\"\n\t\t]\n\t},\n\t\"grenade\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"، \",\n\t\t\t\"′ \",\n\t\t\t\" ´ \",\n\t\t\t\" ‾ \",\n\t\t\t\" ⸌\",\n\t\t\t\" ⸊\",\n\t\t\t\" |\",\n\t\t\t\" ⁎\",\n\t\t\t\" ⁕\",\n\t\t\t\" ෴ \",\n\t\t\t\" ⁓\",\n\t\t\t\" \",\n\t\t\t\" \",\n\t\t\t\" \"\n\t\t]\n\t},\n\t\"point\": {\n\t\t\"interval\": 125,\n\t\t\"frames\": [\n\t\t\t\"∙∙∙\",\n\t\t\t\"●∙∙\",\n\t\t\t\"∙●∙\",\n\t\t\t\"∙∙●\",\n\t\t\t\"∙∙∙\"\n\t\t]\n\t},\n\t\"layer\": {\n\t\t\"interval\": 150,\n\t\t\"frames\": [\n\t\t\t\"-\",\n\t\t\t\"=\",\n\t\t\t\"≡\"\n\t\t]\n\t},\n\t\"betaWave\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"ρββββββ\",\n\t\t\t\"βρβββββ\",\n\t\t\t\"ββρββββ\",\n\t\t\t\"βββρβββ\",\n\t\t\t\"ββββρββ\",\n\t\t\t\"βββββρβ\",\n\t\t\t\"ββββββρ\"\n\t\t]\n\t},\n\t\"fingerDance\": {\n\t\t\"interval\": 160,\n\t\t\"frames\": [\n\t\t\t\"🤘 \",\n\t\t\t\"🤟 \",\n\t\t\t\"🖖 \",\n\t\t\t\"✋ \",\n\t\t\t\"🤚 \",\n\t\t\t\"👆 \"\n\t\t]\n\t},\n\t\"fistBump\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"🤜\\u3000\\u3000\\u3000\\u3000🤛 \",\n\t\t\t\"🤜\\u3000\\u3000\\u3000\\u3000🤛 \",\n\t\t\t\"🤜\\u3000\\u3000\\u3000\\u3000🤛 \",\n\t\t\t\"\\u3000🤜\\u3000\\u3000🤛\\u3000 \",\n\t\t\t\"\\u3000\\u3000🤜🤛\\u3000\\u3000 \",\n\t\t\t\"\\u3000🤜✨🤛\\u3000\\u3000 \",\n\t\t\t\"🤜\\u3000✨\\u3000🤛\\u3000 \"\n\t\t]\n\t},\n\t\"soccerHeader\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\" 🧑⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \",\n\t\t\t\"🧑 ⚽️ 🧑 \"\n\t\t]\n\t},\n\t\"mindblown\": {\n\t\t\"interval\": 160,\n\t\t\"frames\": [\n\t\t\t\"😐 \",\n\t\t\t\"😐 \",\n\t\t\t\"😮 \",\n\t\t\t\"😮 \",\n\t\t\t\"😦 \",\n\t\t\t\"😦 \",\n\t\t\t\"😧 \",\n\t\t\t\"😧 \",\n\t\t\t\"🤯 \",\n\t\t\t\"💥 \",\n\t\t\t\"✨ \",\n\t\t\t\"\\u3000 \",\n\t\t\t\"\\u3000 \",\n\t\t\t\"\\u3000 \"\n\t\t]\n\t},\n\t\"speaker\": {\n\t\t\"interval\": 160,\n\t\t\"frames\": [\n\t\t\t\"🔈 \",\n\t\t\t\"🔉 \",\n\t\t\t\"🔊 \",\n\t\t\t\"🔉 \"\n\t\t]\n\t},\n\t\"orangePulse\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"🔸 \",\n\t\t\t\"🔶 \",\n\t\t\t\"🟠 \",\n\t\t\t\"🟠 \",\n\t\t\t\"🔶 \"\n\t\t]\n\t},\n\t\"bluePulse\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"🔹 \",\n\t\t\t\"🔷 \",\n\t\t\t\"🔵 \",\n\t\t\t\"🔵 \",\n\t\t\t\"🔷 \"\n\t\t]\n\t},\n\t\"orangeBluePulse\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"🔸 \",\n\t\t\t\"🔶 \",\n\t\t\t\"🟠 \",\n\t\t\t\"🟠 \",\n\t\t\t\"🔶 \",\n\t\t\t\"🔹 \",\n\t\t\t\"🔷 \",\n\t\t\t\"🔵 \",\n\t\t\t\"🔵 \",\n\t\t\t\"🔷 \"\n\t\t]\n\t},\n\t\"timeTravel\": {\n\t\t\"interval\": 100,\n\t\t\"frames\": [\n\t\t\t\"🕛 \",\n\t\t\t\"🕚 \",\n\t\t\t\"🕙 \",\n\t\t\t\"🕘 \",\n\t\t\t\"🕗 \",\n\t\t\t\"🕖 \",\n\t\t\t\"🕕 \",\n\t\t\t\"🕔 \",\n\t\t\t\"🕓 \",\n\t\t\t\"🕒 \",\n\t\t\t\"🕑 \",\n\t\t\t\"🕐 \"\n\t\t]\n\t},\n\t\"aesthetic\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\"▰▱▱▱▱▱▱\",\n\t\t\t\"▰▰▱▱▱▱▱\",\n\t\t\t\"▰▰▰▱▱▱▱\",\n\t\t\t\"▰▰▰▰▱▱▱\",\n\t\t\t\"▰▰▰▰▰▱▱\",\n\t\t\t\"▰▰▰▰▰▰▱\",\n\t\t\t\"▰▰▰▰▰▰▰\",\n\t\t\t\"▰▱▱▱▱▱▱\"\n\t\t]\n\t},\n\t\"dwarfFortress\": {\n\t\t\"interval\": 80,\n\t\t\"frames\": [\n\t\t\t\" ██████£££ \",\n\t\t\t\"☺██████£££ \",\n\t\t\t\"☺██████£££ \",\n\t\t\t\"☺▓█████£££ \",\n\t\t\t\"☺▓█████£££ \",\n\t\t\t\"☺▒█████£££ \",\n\t\t\t\"☺▒█████£££ \",\n\t\t\t\"☺░█████£££ \",\n\t\t\t\"☺░█████£££ \",\n\t\t\t\"☺ █████£££ \",\n\t\t\t\" ☺█████£££ \",\n\t\t\t\" ☺█████£££ \",\n\t\t\t\" ☺▓████£££ \",\n\t\t\t\" ☺▓████£££ \",\n\t\t\t\" ☺▒████£££ \",\n\t\t\t\" ☺▒████£££ \",\n\t\t\t\" ☺░████£££ \",\n\t\t\t\" ☺░████£££ \",\n\t\t\t\" ☺ ████£££ \",\n\t\t\t\" ☺████£££ \",\n\t\t\t\" ☺████£££ \",\n\t\t\t\" ☺▓███£££ \",\n\t\t\t\" ☺▓███£££ \",\n\t\t\t\" ☺▒███£££ \",\n\t\t\t\" ☺▒███£££ \",\n\t\t\t\" ☺░███£££ \",\n\t\t\t\" ☺░███£££ \",\n\t\t\t\" ☺ ███£££ \",\n\t\t\t\" ☺███£££ \",\n\t\t\t\" ☺███£££ \",\n\t\t\t\" ☺▓██£££ \",\n\t\t\t\" ☺▓██£££ \",\n\t\t\t\" ☺▒██£££ \",\n\t\t\t\" ☺▒██£££ \",\n\t\t\t\" ☺░██£££ \",\n\t\t\t\" ☺░██£££ \",\n\t\t\t\" ☺ ██£££ \",\n\t\t\t\" ☺██£££ \",\n\t\t\t\" ☺██£££ \",\n\t\t\t\" ☺▓█£££ \",\n\t\t\t\" ☺▓█£££ \",\n\t\t\t\" ☺▒█£££ \",\n\t\t\t\" ☺▒█£££ \",\n\t\t\t\" ☺░█£££ \",\n\t\t\t\" ☺░█£££ \",\n\t\t\t\" ☺ █£££ \",\n\t\t\t\" ☺█£££ \",\n\t\t\t\" ☺█£££ \",\n\t\t\t\" ☺▓£££ \",\n\t\t\t\" ☺▓£££ \",\n\t\t\t\" ☺▒£££ \",\n\t\t\t\" ☺▒£££ \",\n\t\t\t\" ☺░£££ \",\n\t\t\t\" ☺░£££ \",\n\t\t\t\" ☺ £££ \",\n\t\t\t\" ☺£££ \",\n\t\t\t\" ☺£££ \",\n\t\t\t\" ☺▓££ \",\n\t\t\t\" ☺▓££ \",\n\t\t\t\" ☺▒££ \",\n\t\t\t\" ☺▒££ \",\n\t\t\t\" ☺░££ \",\n\t\t\t\" ☺░££ \",\n\t\t\t\" ☺ ££ \",\n\t\t\t\" ☺££ \",\n\t\t\t\" ☺££ \",\n\t\t\t\" ☺▓£ \",\n\t\t\t\" ☺▓£ \",\n\t\t\t\" ☺▒£ \",\n\t\t\t\" ☺▒£ \",\n\t\t\t\" ☺░£ \",\n\t\t\t\" ☺░£ \",\n\t\t\t\" ☺ £ \",\n\t\t\t\" ☺£ \",\n\t\t\t\" ☺£ \",\n\t\t\t\" ☺▓ \",\n\t\t\t\" ☺▓ \",\n\t\t\t\" ☺▒ \",\n\t\t\t\" ☺▒ \",\n\t\t\t\" ☺░ \",\n\t\t\t\" ☺░ \",\n\t\t\t\" ☺ \",\n\t\t\t\" ☺ &\",\n\t\t\t\" ☺ ☼&\",\n\t\t\t\" ☺ ☼ &\",\n\t\t\t\" ☺☼ &\",\n\t\t\t\" ☺☼ & \",\n\t\t\t\" ‼ & \",\n\t\t\t\" ☺ & \",\n\t\t\t\" ‼ & \",\n\t\t\t\" ☺ & \",\n\t\t\t\" ‼ & \",\n\t\t\t\" ☺ & \",\n\t\t\t\"‼ & \",\n\t\t\t\" & \",\n\t\t\t\" & \",\n\t\t\t\" & ░ \",\n\t\t\t\" & ▒ \",\n\t\t\t\" & ▓ \",\n\t\t\t\" & £ \",\n\t\t\t\" & ░£ \",\n\t\t\t\" & ▒£ \",\n\t\t\t\" & ▓£ \",\n\t\t\t\" & ££ \",\n\t\t\t\" & ░££ \",\n\t\t\t\" & ▒££ \",\n\t\t\t\"& ▓££ \",\n\t\t\t\"& £££ \",\n\t\t\t\" ░£££ \",\n\t\t\t\" ▒£££ \",\n\t\t\t\" ▓£££ \",\n\t\t\t\" █£££ \",\n\t\t\t\" ░█£££ \",\n\t\t\t\" ▒█£££ \",\n\t\t\t\" ▓█£££ \",\n\t\t\t\" ██£££ \",\n\t\t\t\" ░██£££ \",\n\t\t\t\" ▒██£££ \",\n\t\t\t\" ▓██£££ \",\n\t\t\t\" ███£££ \",\n\t\t\t\" ░███£££ \",\n\t\t\t\" ▒███£££ \",\n\t\t\t\" ▓███£££ \",\n\t\t\t\" ████£££ \",\n\t\t\t\" ░████£££ \",\n\t\t\t\" ▒████£££ \",\n\t\t\t\" ▓████£££ \",\n\t\t\t\" █████£££ \",\n\t\t\t\" ░█████£££ \",\n\t\t\t\" ▒█████£££ \",\n\t\t\t\" ▓█████£££ \",\n\t\t\t\" ██████£££ \",\n\t\t\t\" ██████£££ \"\n\t\t]\n\t}\n}\n","'use strict';\n\nconst spinners = Object.assign({}, require('./spinners.json')); // eslint-disable-line import/extensions\n\nconst spinnersList = Object.keys(spinners);\n\nObject.defineProperty(spinners, 'random', {\n\tget() {\n\t\tconst randomIndex = Math.floor(Math.random() * spinnersList.length);\n\t\tconst spinnerName = spinnersList[randomIndex];\n\t\treturn spinners[spinnerName];\n\t}\n});\n\nmodule.exports = spinners;\n","const logSymbols = {\n\tinfo: 'ℹ️',\n\tsuccess: '✅',\n\twarning: '⚠️',\n\terror: '❌️',\n};\n\nexport default logSymbols;\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\tconst pattern = [\n\t\t`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`,\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))',\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n","// Generated code.\n\nfunction isAmbiguous(x) {\n\treturn x === 0xA1\n\t\t|| x === 0xA4\n\t\t|| x === 0xA7\n\t\t|| x === 0xA8\n\t\t|| x === 0xAA\n\t\t|| x === 0xAD\n\t\t|| x === 0xAE\n\t\t|| x >= 0xB0 && x <= 0xB4\n\t\t|| x >= 0xB6 && x <= 0xBA\n\t\t|| x >= 0xBC && x <= 0xBF\n\t\t|| x === 0xC6\n\t\t|| x === 0xD0\n\t\t|| x === 0xD7\n\t\t|| x === 0xD8\n\t\t|| x >= 0xDE && x <= 0xE1\n\t\t|| x === 0xE6\n\t\t|| x >= 0xE8 && x <= 0xEA\n\t\t|| x === 0xEC\n\t\t|| x === 0xED\n\t\t|| x === 0xF0\n\t\t|| x === 0xF2\n\t\t|| x === 0xF3\n\t\t|| x >= 0xF7 && x <= 0xFA\n\t\t|| x === 0xFC\n\t\t|| x === 0xFE\n\t\t|| x === 0x101\n\t\t|| x === 0x111\n\t\t|| x === 0x113\n\t\t|| x === 0x11B\n\t\t|| x === 0x126\n\t\t|| x === 0x127\n\t\t|| x === 0x12B\n\t\t|| x >= 0x131 && x <= 0x133\n\t\t|| x === 0x138\n\t\t|| x >= 0x13F && x <= 0x142\n\t\t|| x === 0x144\n\t\t|| x >= 0x148 && x <= 0x14B\n\t\t|| x === 0x14D\n\t\t|| x === 0x152\n\t\t|| x === 0x153\n\t\t|| x === 0x166\n\t\t|| x === 0x167\n\t\t|| x === 0x16B\n\t\t|| x === 0x1CE\n\t\t|| x === 0x1D0\n\t\t|| x === 0x1D2\n\t\t|| x === 0x1D4\n\t\t|| x === 0x1D6\n\t\t|| x === 0x1D8\n\t\t|| x === 0x1DA\n\t\t|| x === 0x1DC\n\t\t|| x === 0x251\n\t\t|| x === 0x261\n\t\t|| x === 0x2C4\n\t\t|| x === 0x2C7\n\t\t|| x >= 0x2C9 && x <= 0x2CB\n\t\t|| x === 0x2CD\n\t\t|| x === 0x2D0\n\t\t|| x >= 0x2D8 && x <= 0x2DB\n\t\t|| x === 0x2DD\n\t\t|| x === 0x2DF\n\t\t|| x >= 0x300 && x <= 0x36F\n\t\t|| x >= 0x391 && x <= 0x3A1\n\t\t|| x >= 0x3A3 && x <= 0x3A9\n\t\t|| x >= 0x3B1 && x <= 0x3C1\n\t\t|| x >= 0x3C3 && x <= 0x3C9\n\t\t|| x === 0x401\n\t\t|| x >= 0x410 && x <= 0x44F\n\t\t|| x === 0x451\n\t\t|| x === 0x2010\n\t\t|| x >= 0x2013 && x <= 0x2016\n\t\t|| x === 0x2018\n\t\t|| x === 0x2019\n\t\t|| x === 0x201C\n\t\t|| x === 0x201D\n\t\t|| x >= 0x2020 && x <= 0x2022\n\t\t|| x >= 0x2024 && x <= 0x2027\n\t\t|| x === 0x2030\n\t\t|| x === 0x2032\n\t\t|| x === 0x2033\n\t\t|| x === 0x2035\n\t\t|| x === 0x203B\n\t\t|| x === 0x203E\n\t\t|| x === 0x2074\n\t\t|| x === 0x207F\n\t\t|| x >= 0x2081 && x <= 0x2084\n\t\t|| x === 0x20AC\n\t\t|| x === 0x2103\n\t\t|| x === 0x2105\n\t\t|| x === 0x2109\n\t\t|| x === 0x2113\n\t\t|| x === 0x2116\n\t\t|| x === 0x2121\n\t\t|| x === 0x2122\n\t\t|| x === 0x2126\n\t\t|| x === 0x212B\n\t\t|| x === 0x2153\n\t\t|| x === 0x2154\n\t\t|| x >= 0x215B && x <= 0x215E\n\t\t|| x >= 0x2160 && x <= 0x216B\n\t\t|| x >= 0x2170 && x <= 0x2179\n\t\t|| x === 0x2189\n\t\t|| x >= 0x2190 && x <= 0x2199\n\t\t|| x === 0x21B8\n\t\t|| x === 0x21B9\n\t\t|| x === 0x21D2\n\t\t|| x === 0x21D4\n\t\t|| x === 0x21E7\n\t\t|| x === 0x2200\n\t\t|| x === 0x2202\n\t\t|| x === 0x2203\n\t\t|| x === 0x2207\n\t\t|| x === 0x2208\n\t\t|| x === 0x220B\n\t\t|| x === 0x220F\n\t\t|| x === 0x2211\n\t\t|| x === 0x2215\n\t\t|| x === 0x221A\n\t\t|| x >= 0x221D && x <= 0x2220\n\t\t|| x === 0x2223\n\t\t|| x === 0x2225\n\t\t|| x >= 0x2227 && x <= 0x222C\n\t\t|| x === 0x222E\n\t\t|| x >= 0x2234 && x <= 0x2237\n\t\t|| x === 0x223C\n\t\t|| x === 0x223D\n\t\t|| x === 0x2248\n\t\t|| x === 0x224C\n\t\t|| x === 0x2252\n\t\t|| x === 0x2260\n\t\t|| x === 0x2261\n\t\t|| x >= 0x2264 && x <= 0x2267\n\t\t|| x === 0x226A\n\t\t|| x === 0x226B\n\t\t|| x === 0x226E\n\t\t|| x === 0x226F\n\t\t|| x === 0x2282\n\t\t|| x === 0x2283\n\t\t|| x === 0x2286\n\t\t|| x === 0x2287\n\t\t|| x === 0x2295\n\t\t|| x === 0x2299\n\t\t|| x === 0x22A5\n\t\t|| x === 0x22BF\n\t\t|| x === 0x2312\n\t\t|| x >= 0x2460 && x <= 0x24E9\n\t\t|| x >= 0x24EB && x <= 0x254B\n\t\t|| x >= 0x2550 && x <= 0x2573\n\t\t|| x >= 0x2580 && x <= 0x258F\n\t\t|| x >= 0x2592 && x <= 0x2595\n\t\t|| x === 0x25A0\n\t\t|| x === 0x25A1\n\t\t|| x >= 0x25A3 && x <= 0x25A9\n\t\t|| x === 0x25B2\n\t\t|| x === 0x25B3\n\t\t|| x === 0x25B6\n\t\t|| x === 0x25B7\n\t\t|| x === 0x25BC\n\t\t|| x === 0x25BD\n\t\t|| x === 0x25C0\n\t\t|| x === 0x25C1\n\t\t|| x >= 0x25C6 && x <= 0x25C8\n\t\t|| x === 0x25CB\n\t\t|| x >= 0x25CE && x <= 0x25D1\n\t\t|| x >= 0x25E2 && x <= 0x25E5\n\t\t|| x === 0x25EF\n\t\t|| x === 0x2605\n\t\t|| x === 0x2606\n\t\t|| x === 0x2609\n\t\t|| x === 0x260E\n\t\t|| x === 0x260F\n\t\t|| x === 0x261C\n\t\t|| x === 0x261E\n\t\t|| x === 0x2640\n\t\t|| x === 0x2642\n\t\t|| x === 0x2660\n\t\t|| x === 0x2661\n\t\t|| x >= 0x2663 && x <= 0x2665\n\t\t|| x >= 0x2667 && x <= 0x266A\n\t\t|| x === 0x266C\n\t\t|| x === 0x266D\n\t\t|| x === 0x266F\n\t\t|| x === 0x269E\n\t\t|| x === 0x269F\n\t\t|| x === 0x26BF\n\t\t|| x >= 0x26C6 && x <= 0x26CD\n\t\t|| x >= 0x26CF && x <= 0x26D3\n\t\t|| x >= 0x26D5 && x <= 0x26E1\n\t\t|| x === 0x26E3\n\t\t|| x === 0x26E8\n\t\t|| x === 0x26E9\n\t\t|| x >= 0x26EB && x <= 0x26F1\n\t\t|| x === 0x26F4\n\t\t|| x >= 0x26F6 && x <= 0x26F9\n\t\t|| x === 0x26FB\n\t\t|| x === 0x26FC\n\t\t|| x === 0x26FE\n\t\t|| x === 0x26FF\n\t\t|| x === 0x273D\n\t\t|| x >= 0x2776 && x <= 0x277F\n\t\t|| x >= 0x2B56 && x <= 0x2B59\n\t\t|| x >= 0x3248 && x <= 0x324F\n\t\t|| x >= 0xE000 && x <= 0xF8FF\n\t\t|| x >= 0xFE00 && x <= 0xFE0F\n\t\t|| x === 0xFFFD\n\t\t|| x >= 0x1F100 && x <= 0x1F10A\n\t\t|| x >= 0x1F110 && x <= 0x1F12D\n\t\t|| x >= 0x1F130 && x <= 0x1F169\n\t\t|| x >= 0x1F170 && x <= 0x1F18D\n\t\t|| x === 0x1F18F\n\t\t|| x === 0x1F190\n\t\t|| x >= 0x1F19B && x <= 0x1F1AC\n\t\t|| x >= 0xE0100 && x <= 0xE01EF\n\t\t|| x >= 0xF0000 && x <= 0xFFFFD\n\t\t|| x >= 0x100000 && x <= 0x10FFFD;\n}\n\nfunction isFullWidth(x) {\n\treturn x === 0x3000\n\t\t|| x >= 0xFF01 && x <= 0xFF60\n\t\t|| x >= 0xFFE0 && x <= 0xFFE6;\n}\n\nfunction isWide(x) {\n\treturn x >= 0x1100 && x <= 0x115F\n\t\t|| x === 0x231A\n\t\t|| x === 0x231B\n\t\t|| x === 0x2329\n\t\t|| x === 0x232A\n\t\t|| x >= 0x23E9 && x <= 0x23EC\n\t\t|| x === 0x23F0\n\t\t|| x === 0x23F3\n\t\t|| x === 0x25FD\n\t\t|| x === 0x25FE\n\t\t|| x === 0x2614\n\t\t|| x === 0x2615\n\t\t|| x >= 0x2630 && x <= 0x2637\n\t\t|| x >= 0x2648 && x <= 0x2653\n\t\t|| x === 0x267F\n\t\t|| x >= 0x268A && x <= 0x268F\n\t\t|| x === 0x2693\n\t\t|| x === 0x26A1\n\t\t|| x === 0x26AA\n\t\t|| x === 0x26AB\n\t\t|| x === 0x26BD\n\t\t|| x === 0x26BE\n\t\t|| x === 0x26C4\n\t\t|| x === 0x26C5\n\t\t|| x === 0x26CE\n\t\t|| x === 0x26D4\n\t\t|| x === 0x26EA\n\t\t|| x === 0x26F2\n\t\t|| x === 0x26F3\n\t\t|| x === 0x26F5\n\t\t|| x === 0x26FA\n\t\t|| x === 0x26FD\n\t\t|| x === 0x2705\n\t\t|| x === 0x270A\n\t\t|| x === 0x270B\n\t\t|| x === 0x2728\n\t\t|| x === 0x274C\n\t\t|| x === 0x274E\n\t\t|| x >= 0x2753 && x <= 0x2755\n\t\t|| x === 0x2757\n\t\t|| x >= 0x2795 && x <= 0x2797\n\t\t|| x === 0x27B0\n\t\t|| x === 0x27BF\n\t\t|| x === 0x2B1B\n\t\t|| x === 0x2B1C\n\t\t|| x === 0x2B50\n\t\t|| x === 0x2B55\n\t\t|| x >= 0x2E80 && x <= 0x2E99\n\t\t|| x >= 0x2E9B && x <= 0x2EF3\n\t\t|| x >= 0x2F00 && x <= 0x2FD5\n\t\t|| x >= 0x2FF0 && x <= 0x2FFF\n\t\t|| x >= 0x3001 && x <= 0x303E\n\t\t|| x >= 0x3041 && x <= 0x3096\n\t\t|| x >= 0x3099 && x <= 0x30FF\n\t\t|| x >= 0x3105 && x <= 0x312F\n\t\t|| x >= 0x3131 && x <= 0x318E\n\t\t|| x >= 0x3190 && x <= 0x31E5\n\t\t|| x >= 0x31EF && x <= 0x321E\n\t\t|| x >= 0x3220 && x <= 0x3247\n\t\t|| x >= 0x3250 && x <= 0xA48C\n\t\t|| x >= 0xA490 && x <= 0xA4C6\n\t\t|| x >= 0xA960 && x <= 0xA97C\n\t\t|| x >= 0xAC00 && x <= 0xD7A3\n\t\t|| x >= 0xF900 && x <= 0xFAFF\n\t\t|| x >= 0xFE10 && x <= 0xFE19\n\t\t|| x >= 0xFE30 && x <= 0xFE52\n\t\t|| x >= 0xFE54 && x <= 0xFE66\n\t\t|| x >= 0xFE68 && x <= 0xFE6B\n\t\t|| x >= 0x16FE0 && x <= 0x16FE4\n\t\t|| x === 0x16FF0\n\t\t|| x === 0x16FF1\n\t\t|| x >= 0x17000 && x <= 0x187F7\n\t\t|| x >= 0x18800 && x <= 0x18CD5\n\t\t|| x >= 0x18CFF && x <= 0x18D08\n\t\t|| x >= 0x1AFF0 && x <= 0x1AFF3\n\t\t|| x >= 0x1AFF5 && x <= 0x1AFFB\n\t\t|| x === 0x1AFFD\n\t\t|| x === 0x1AFFE\n\t\t|| x >= 0x1B000 && x <= 0x1B122\n\t\t|| x === 0x1B132\n\t\t|| x >= 0x1B150 && x <= 0x1B152\n\t\t|| x === 0x1B155\n\t\t|| x >= 0x1B164 && x <= 0x1B167\n\t\t|| x >= 0x1B170 && x <= 0x1B2FB\n\t\t|| x >= 0x1D300 && x <= 0x1D356\n\t\t|| x >= 0x1D360 && x <= 0x1D376\n\t\t|| x === 0x1F004\n\t\t|| x === 0x1F0CF\n\t\t|| x === 0x1F18E\n\t\t|| x >= 0x1F191 && x <= 0x1F19A\n\t\t|| x >= 0x1F200 && x <= 0x1F202\n\t\t|| x >= 0x1F210 && x <= 0x1F23B\n\t\t|| x >= 0x1F240 && x <= 0x1F248\n\t\t|| x === 0x1F250\n\t\t|| x === 0x1F251\n\t\t|| x >= 0x1F260 && x <= 0x1F265\n\t\t|| x >= 0x1F300 && x <= 0x1F320\n\t\t|| x >= 0x1F32D && x <= 0x1F335\n\t\t|| x >= 0x1F337 && x <= 0x1F37C\n\t\t|| x >= 0x1F37E && x <= 0x1F393\n\t\t|| x >= 0x1F3A0 && x <= 0x1F3CA\n\t\t|| x >= 0x1F3CF && x <= 0x1F3D3\n\t\t|| x >= 0x1F3E0 && x <= 0x1F3F0\n\t\t|| x === 0x1F3F4\n\t\t|| x >= 0x1F3F8 && x <= 0x1F43E\n\t\t|| x === 0x1F440\n\t\t|| x >= 0x1F442 && x <= 0x1F4FC\n\t\t|| x >= 0x1F4FF && x <= 0x1F53D\n\t\t|| x >= 0x1F54B && x <= 0x1F54E\n\t\t|| x >= 0x1F550 && x <= 0x1F567\n\t\t|| x === 0x1F57A\n\t\t|| x === 0x1F595\n\t\t|| x === 0x1F596\n\t\t|| x === 0x1F5A4\n\t\t|| x >= 0x1F5FB && x <= 0x1F64F\n\t\t|| x >= 0x1F680 && x <= 0x1F6C5\n\t\t|| x === 0x1F6CC\n\t\t|| x >= 0x1F6D0 && x <= 0x1F6D2\n\t\t|| x >= 0x1F6D5 && x <= 0x1F6D7\n\t\t|| x >= 0x1F6DC && x <= 0x1F6DF\n\t\t|| x === 0x1F6EB\n\t\t|| x === 0x1F6EC\n\t\t|| x >= 0x1F6F4 && x <= 0x1F6FC\n\t\t|| x >= 0x1F7E0 && x <= 0x1F7EB\n\t\t|| x === 0x1F7F0\n\t\t|| x >= 0x1F90C && x <= 0x1F93A\n\t\t|| x >= 0x1F93C && x <= 0x1F945\n\t\t|| x >= 0x1F947 && x <= 0x1F9FF\n\t\t|| x >= 0x1FA70 && x <= 0x1FA7C\n\t\t|| x >= 0x1FA80 && x <= 0x1FA89\n\t\t|| x >= 0x1FA8F && x <= 0x1FAC6\n\t\t|| x >= 0x1FACE && x <= 0x1FADC\n\t\t|| x >= 0x1FADF && x <= 0x1FAE9\n\t\t|| x >= 0x1FAF0 && x <= 0x1FAF8\n\t\t|| x >= 0x20000 && x <= 0x2FFFD\n\t\t|| x >= 0x30000 && x <= 0x3FFFD;\n}\n\nfunction getCategory(x) {\n\tif (isAmbiguous(x)) return 'ambiguous';\n\n\tif (isFullWidth(x)) return 'fullwidth';\n\n\tif (\n\t\tx === 0x20A9\n\t\t|| x >= 0xFF61 && x <= 0xFFBE\n\t\t|| x >= 0xFFC2 && x <= 0xFFC7\n\t\t|| x >= 0xFFCA && x <= 0xFFCF\n\t\t|| x >= 0xFFD2 && x <= 0xFFD7\n\t\t|| x >= 0xFFDA && x <= 0xFFDC\n\t\t|| x >= 0xFFE8 && x <= 0xFFEE\n\t) {\n\t\treturn 'halfwidth';\n\t}\n\n\tif (\n\t\tx >= 0x20 && x <= 0x7E\n\t\t|| x === 0xA2\n\t\t|| x === 0xA3\n\t\t|| x === 0xA5\n\t\t|| x === 0xA6\n\t\t|| x === 0xAC\n\t\t|| x === 0xAF\n\t\t|| x >= 0x27E6 && x <= 0x27ED\n\t\t|| x === 0x2985\n\t\t|| x === 0x2986\n\t) {\n\t\treturn 'narrow';\n\t}\n\n\tif (isWide(x)) return 'wide';\n\n\treturn 'neutral';\n}\n\nexport {isAmbiguous, isFullWidth, isWide, getCategory};\n","import {getCategory, isAmbiguous, isFullWidth, isWide} from './lookup.js';\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nexport function eastAsianWidthType(codePoint) {\n\tvalidate(codePoint);\n\n\treturn getCategory(codePoint);\n}\n\nexport function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\n// For Prettier. This doesn't count \"ambiguous\" characters or check for valid input.\n// https://github.com/sindresorhus/get-east-asian-width/pull/6\nexport const _isNarrowWidth = codePoint => !(isFullWidth(codePoint) || isWide(codePoint));\n","export default () => {\n\t// https://mths.be/emoji\n\treturn /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE89\\uDE8F-\\uDEC2\\uDEC6\\uDECE-\\uDEDC\\uDEDF-\\uDEE9]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\n","import stripAnsi from 'strip-ansi';\nimport {eastAsianWidth} from 'get-east-asian-width';\nimport emojiRegex from 'emoji-regex';\n\nconst segmenter = new Intl.Segmenter();\n\nconst defaultIgnorableCodePointRegex = /^\\p{Default_Ignorable_Code_Point}$/u;\n\nexport default function stringWidth(string, options = {}) {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment: character} of segmenter.segment(string)) {\n\t\tconst codePoint = character.codePointAt(0);\n\n\t\t// Ignore control characters\n\t\tif (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore zero-width characters\n\t\tif (\n\t\t\t(codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark\n\t\t\t|| codePoint === 0xFE_FF // Zero-width no-break space\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (\n\t\t\t(codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks\n\t\t\t|| (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended\n\t\t\t|| (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement\n\t\t\t|| (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols\n\t\t\t|| (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore surrogate pairs\n\t\tif (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore variation selectors\n\t\tif (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// This covers some of the above cases, but we still keep them for performance reasons.\n\t\tif (defaultIgnorableCodePointRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// TODO: Use `/\\p{RGI_Emoji}/v` when targeting Node.js 20.\n\t\tif (emojiRegex().test(character)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n","export default function isInteractive({stream = process.stdout} = {}) {\n\treturn Boolean(\n\t\tstream && stream.isTTY &&\n\t\tprocess.env.TERM !== 'dumb' &&\n\t\t!('CI' in process.env)\n\t);\n}\n","import process from 'node:process';\n\nexport default function isUnicodeSupported() {\n\tconst {env} = process;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (process.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n","import process from 'node:process';\n\nconst ASCII_ETX_CODE = 0x03; // Ctrl+C emits this code\n\nclass StdinDiscarder {\n\t#activeCount = 0;\n\n\tstart() {\n\t\tthis.#activeCount++;\n\n\t\tif (this.#activeCount === 1) {\n\t\t\tthis.#realStart();\n\t\t}\n\t}\n\n\tstop() {\n\t\tif (this.#activeCount <= 0) {\n\t\t\tthrow new Error('`stop` called more times than `start`');\n\t\t}\n\n\t\tthis.#activeCount--;\n\n\t\tif (this.#activeCount === 0) {\n\t\t\tthis.#realStop();\n\t\t}\n\t}\n\n\t#realStart() {\n\t\t// No known way to make it work reliably on Windows.\n\t\tif (process.platform === 'win32' || !process.stdin.isTTY) {\n\t\t\treturn;\n\t\t}\n\n\t\tprocess.stdin.setRawMode(true);\n\t\tprocess.stdin.on('data', this.#handleInput);\n\t\tprocess.stdin.resume();\n\t}\n\n\t#realStop() {\n\t\tif (!process.stdin.isTTY) {\n\t\t\treturn;\n\t\t}\n\n\t\tprocess.stdin.off('data', this.#handleInput);\n\t\tprocess.stdin.pause();\n\t\tprocess.stdin.setRawMode(false);\n\t}\n\n\t#handleInput(chunk) {\n\t\t// Allow Ctrl+C to gracefully exit.\n\t\tif (chunk[0] === ASCII_ETX_CODE) {\n\t\t\tprocess.emit('SIGINT');\n\t\t}\n\t}\n}\n\nconst stdinDiscarder = new StdinDiscarder();\n\nexport default stdinDiscarder;\n","import process from 'node:process';\nimport chalk from 'chalk';\nimport cliCursor from 'cli-cursor';\nimport cliSpinners from 'cli-spinners';\nimport logSymbols from 'log-symbols';\nimport stripAnsi from 'strip-ansi';\nimport stringWidth from 'string-width';\nimport isInteractive from 'is-interactive';\nimport isUnicodeSupported from 'is-unicode-supported';\nimport stdinDiscarder from 'stdin-discarder';\n\nclass Ora {\n\t#linesToClear = 0;\n\t#isDiscardingStdin = false;\n\t#lineCount = 0;\n\t#frameIndex = -1;\n\t#lastSpinnerFrameTime = 0;\n\t#options;\n\t#spinner;\n\t#stream;\n\t#id;\n\t#initialInterval;\n\t#isEnabled;\n\t#isSilent;\n\t#indent;\n\t#text;\n\t#prefixText;\n\t#suffixText;\n\tcolor;\n\n\tconstructor(options) {\n\t\tif (typeof options === 'string') {\n\t\t\toptions = {\n\t\t\t\ttext: options,\n\t\t\t};\n\t\t}\n\n\t\tthis.#options = {\n\t\t\tcolor: 'cyan',\n\t\t\tstream: process.stderr,\n\t\t\tdiscardStdin: true,\n\t\t\thideCursor: true,\n\t\t\t...options,\n\t\t};\n\n\t\t// Public\n\t\tthis.color = this.#options.color;\n\n\t\t// It's important that these use the public setters.\n\t\tthis.spinner = this.#options.spinner;\n\n\t\tthis.#initialInterval = this.#options.interval;\n\t\tthis.#stream = this.#options.stream;\n\t\tthis.#isEnabled = typeof this.#options.isEnabled === 'boolean' ? this.#options.isEnabled : isInteractive({stream: this.#stream});\n\t\tthis.#isSilent = typeof this.#options.isSilent === 'boolean' ? this.#options.isSilent : false;\n\n\t\t// Set *after* `this.#stream`.\n\t\t// It's important that these use the public setters.\n\t\tthis.text = this.#options.text;\n\t\tthis.prefixText = this.#options.prefixText;\n\t\tthis.suffixText = this.#options.suffixText;\n\t\tthis.indent = this.#options.indent;\n\n\t\tif (process.env.NODE_ENV === 'test') {\n\t\t\tthis._stream = this.#stream;\n\t\t\tthis._isEnabled = this.#isEnabled;\n\n\t\t\tObject.defineProperty(this, '_linesToClear', {\n\t\t\t\tget() {\n\t\t\t\t\treturn this.#linesToClear;\n\t\t\t\t},\n\t\t\t\tset(newValue) {\n\t\t\t\t\tthis.#linesToClear = newValue;\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tObject.defineProperty(this, '_frameIndex', {\n\t\t\t\tget() {\n\t\t\t\t\treturn this.#frameIndex;\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tObject.defineProperty(this, '_lineCount', {\n\t\t\t\tget() {\n\t\t\t\t\treturn this.#lineCount;\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tget indent() {\n\t\treturn this.#indent;\n\t}\n\n\tset indent(indent = 0) {\n\t\tif (!(indent >= 0 && Number.isInteger(indent))) {\n\t\t\tthrow new Error('The `indent` option must be an integer from 0 and up');\n\t\t}\n\n\t\tthis.#indent = indent;\n\t\tthis.#updateLineCount();\n\t}\n\n\tget interval() {\n\t\treturn this.#initialInterval ?? this.#spinner.interval ?? 100;\n\t}\n\n\tget spinner() {\n\t\treturn this.#spinner;\n\t}\n\n\tset spinner(spinner) {\n\t\tthis.#frameIndex = -1;\n\t\tthis.#initialInterval = undefined;\n\n\t\tif (typeof spinner === 'object') {\n\t\t\tif (spinner.frames === undefined) {\n\t\t\t\tthrow new Error('The given spinner must have a `frames` property');\n\t\t\t}\n\n\t\t\tthis.#spinner = spinner;\n\t\t} else if (!isUnicodeSupported()) {\n\t\t\tthis.#spinner = cliSpinners.line;\n\t\t} else if (spinner === undefined) {\n\t\t\t// Set default spinner\n\t\t\tthis.#spinner = cliSpinners.dots;\n\t\t} else if (spinner !== 'default' && cliSpinners[spinner]) {\n\t\t\tthis.#spinner = cliSpinners[spinner];\n\t\t} else {\n\t\t\tthrow new Error(`There is no built-in spinner named '${spinner}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`);\n\t\t}\n\t}\n\n\tget text() {\n\t\treturn this.#text;\n\t}\n\n\tset text(value = '') {\n\t\tthis.#text = value;\n\t\tthis.#updateLineCount();\n\t}\n\n\tget prefixText() {\n\t\treturn this.#prefixText;\n\t}\n\n\tset prefixText(value = '') {\n\t\tthis.#prefixText = value;\n\t\tthis.#updateLineCount();\n\t}\n\n\tget suffixText() {\n\t\treturn this.#suffixText;\n\t}\n\n\tset suffixText(value = '') {\n\t\tthis.#suffixText = value;\n\t\tthis.#updateLineCount();\n\t}\n\n\tget isSpinning() {\n\t\treturn this.#id !== undefined;\n\t}\n\n\t#getFullPrefixText(prefixText = this.#prefixText, postfix = ' ') {\n\t\tif (typeof prefixText === 'string' && prefixText !== '') {\n\t\t\treturn prefixText + postfix;\n\t\t}\n\n\t\tif (typeof prefixText === 'function') {\n\t\t\treturn prefixText() + postfix;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t#getFullSuffixText(suffixText = this.#suffixText, prefix = ' ') {\n\t\tif (typeof suffixText === 'string' && suffixText !== '') {\n\t\t\treturn prefix + suffixText;\n\t\t}\n\n\t\tif (typeof suffixText === 'function') {\n\t\t\treturn prefix + suffixText();\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t#updateLineCount() {\n\t\tconst columns = this.#stream.columns ?? 80;\n\t\tconst fullPrefixText = this.#getFullPrefixText(this.#prefixText, '-');\n\t\tconst fullSuffixText = this.#getFullSuffixText(this.#suffixText, '-');\n\t\tconst fullText = ' '.repeat(this.#indent) + fullPrefixText + '--' + this.#text + '--' + fullSuffixText;\n\n\t\tthis.#lineCount = 0;\n\t\tfor (const line of stripAnsi(fullText).split('\\n')) {\n\t\t\tthis.#lineCount += Math.max(1, Math.ceil(stringWidth(line, {countAnsiEscapeCodes: true}) / columns));\n\t\t}\n\t}\n\n\tget isEnabled() {\n\t\treturn this.#isEnabled && !this.#isSilent;\n\t}\n\n\tset isEnabled(value) {\n\t\tif (typeof value !== 'boolean') {\n\t\t\tthrow new TypeError('The `isEnabled` option must be a boolean');\n\t\t}\n\n\t\tthis.#isEnabled = value;\n\t}\n\n\tget isSilent() {\n\t\treturn this.#isSilent;\n\t}\n\n\tset isSilent(value) {\n\t\tif (typeof value !== 'boolean') {\n\t\t\tthrow new TypeError('The `isSilent` option must be a boolean');\n\t\t}\n\n\t\tthis.#isSilent = value;\n\t}\n\n\tframe() {\n\t\t// Ensure we only update the spinner frame at the wanted interval,\n\t\t// even if the render method is called more often.\n\t\tconst now = Date.now();\n\t\tif (this.#frameIndex === -1 || now - this.#lastSpinnerFrameTime >= this.interval) {\n\t\t\tthis.#frameIndex = ++this.#frameIndex % this.#spinner.frames.length;\n\t\t\tthis.#lastSpinnerFrameTime = now;\n\t\t}\n\n\t\tconst {frames} = this.#spinner;\n\t\tlet frame = frames[this.#frameIndex];\n\n\t\tif (this.color) {\n\t\t\tframe = chalk[this.color](frame);\n\t\t}\n\n\t\tconst fullPrefixText = (typeof this.#prefixText === 'string' && this.#prefixText !== '') ? this.#prefixText + ' ' : '';\n\t\tconst fullText = typeof this.text === 'string' ? ' ' + this.text : '';\n\t\tconst fullSuffixText = (typeof this.#suffixText === 'string' && this.#suffixText !== '') ? ' ' + this.#suffixText : '';\n\n\t\treturn fullPrefixText + frame + fullText + fullSuffixText;\n\t}\n\n\tclear() {\n\t\tif (!this.#isEnabled || !this.#stream.isTTY) {\n\t\t\treturn this;\n\t\t}\n\n\t\tthis.#stream.cursorTo(0);\n\n\t\tfor (let index = 0; index < this.#linesToClear; index++) {\n\t\t\tif (index > 0) {\n\t\t\t\tthis.#stream.moveCursor(0, -1);\n\t\t\t}\n\n\t\t\tthis.#stream.clearLine(1);\n\t\t}\n\n\t\tif (this.#indent || this.lastIndent !== this.#indent) {\n\t\t\tthis.#stream.cursorTo(this.#indent);\n\t\t}\n\n\t\tthis.lastIndent = this.#indent;\n\t\tthis.#linesToClear = 0;\n\n\t\treturn this;\n\t}\n\n\trender() {\n\t\tif (this.#isSilent) {\n\t\t\treturn this;\n\t\t}\n\n\t\tthis.clear();\n\t\tthis.#stream.write(this.frame());\n\t\tthis.#linesToClear = this.#lineCount;\n\n\t\treturn this;\n\t}\n\n\tstart(text) {\n\t\tif (text) {\n\t\t\tthis.text = text;\n\t\t}\n\n\t\tif (this.#isSilent) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif (!this.#isEnabled) {\n\t\t\tif (this.text) {\n\t\t\t\tthis.#stream.write(`- ${this.text}\\n`);\n\t\t\t}\n\n\t\t\treturn this;\n\t\t}\n\n\t\tif (this.isSpinning) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif (this.#options.hideCursor) {\n\t\t\tcliCursor.hide(this.#stream);\n\t\t}\n\n\t\tif (this.#options.discardStdin && process.stdin.isTTY) {\n\t\t\tthis.#isDiscardingStdin = true;\n\t\t\tstdinDiscarder.start();\n\t\t}\n\n\t\tthis.render();\n\t\tthis.#id = setInterval(this.render.bind(this), this.interval);\n\n\t\treturn this;\n\t}\n\n\tstop() {\n\t\tif (!this.#isEnabled) {\n\t\t\treturn this;\n\t\t}\n\n\t\tclearInterval(this.#id);\n\t\tthis.#id = undefined;\n\t\tthis.#frameIndex = 0;\n\t\tthis.clear();\n\t\tif (this.#options.hideCursor) {\n\t\t\tcliCursor.show(this.#stream);\n\t\t}\n\n\t\tif (this.#options.discardStdin && process.stdin.isTTY && this.#isDiscardingStdin) {\n\t\t\tstdinDiscarder.stop();\n\t\t\tthis.#isDiscardingStdin = false;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsucceed(text) {\n\t\treturn this.stopAndPersist({symbol: logSymbols.success, text});\n\t}\n\n\tfail(text) {\n\t\treturn this.stopAndPersist({symbol: logSymbols.error, text});\n\t}\n\n\twarn(text) {\n\t\treturn this.stopAndPersist({symbol: logSymbols.warning, text});\n\t}\n\n\tinfo(text) {\n\t\treturn this.stopAndPersist({symbol: logSymbols.info, text});\n\t}\n\n\tstopAndPersist(options = {}) {\n\t\tif (this.#isSilent) {\n\t\t\treturn this;\n\t\t}\n\n\t\tconst prefixText = options.prefixText ?? this.#prefixText;\n\t\tconst fullPrefixText = this.#getFullPrefixText(prefixText, ' ');\n\n\t\tconst symbolText = options.symbol ?? ' ';\n\n\t\tconst text = options.text ?? this.text;\n\t\tconst separatorText = symbolText ? ' ' : '';\n\t\tconst fullText = (typeof text === 'string') ? separatorText + text : '';\n\n\t\tconst suffixText = options.suffixText ?? this.#suffixText;\n\t\tconst fullSuffixText = this.#getFullSuffixText(suffixText, ' ');\n\n\t\tconst textToWrite = fullPrefixText + symbolText + fullText + fullSuffixText + '\\n';\n\n\t\tthis.stop();\n\t\tthis.#stream.write(textToWrite);\n\n\t\treturn this;\n\t}\n}\n\nexport default function ora(options) {\n\treturn new Ora(options);\n}\n\nexport async function oraPromise(action, options) {\n\tconst actionIsFunction = typeof action === 'function';\n\tconst actionIsPromise = typeof action.then === 'function';\n\n\tif (!actionIsFunction && !actionIsPromise) {\n\t\tthrow new TypeError('Parameter `action` must be a Function or a Promise');\n\t}\n\n\tconst {successText, failText} = typeof options === 'object'\n\t\t? options\n\t\t: {successText: undefined, failText: undefined};\n\n\tconst spinner = ora(options).start();\n\n\ttry {\n\t\tconst promise = actionIsFunction ? action(spinner) : action;\n\t\tconst result = await promise;\n\n\t\tspinner.succeed(\n\t\t\tsuccessText === undefined\n\t\t\t\t? undefined\n\t\t\t\t: (typeof successText === 'string' ? successText : successText(result)),\n\t\t);\n\n\t\treturn result;\n\t} catch (error) {\n\t\tspinner.fail(\n\t\t\tfailText === undefined\n\t\t\t\t? undefined\n\t\t\t\t: (typeof failText === 'string' ? failText : failText(error)),\n\t\t);\n\n\t\tthrow error;\n\t}\n}\n\nexport {default as spinners} from 'cli-spinners';\n","import ora, { type Options } from \"ora\";\n\nexport function spinner(\n text: Options[\"text\"],\n options?: {\n silent?: boolean;\n },\n) {\n return ora({\n text,\n isSilent: options?.silent,\n });\n}\n","import * as path from \"node:path\";\nimport * as fs from \"fs-extra\";\n\nimport type { Config } from \"config/schema\";\nimport { configSchema } from \"config/schema\";\nimport { getTsConfigAliasPrefix } from \"config/get-ts-alias\";\nimport { logger } from \"utils/logger\";\nimport { spinner } from \"utils/spinner\";\n\n/**\n * Automatically initialize the project with default configuration.\n * Called when `api.json` is not found during any CLI command.\n */\nexport async function autoInit(cwd: string): Promise<void> {\n logger.break();\n logger.info(\"No api.json found — auto-initializing project...\");\n logger.break();\n\n const mainPath = \"src\";\n const apiDir = \"api\";\n const fullPath = path.join(cwd, mainPath, apiDir);\n const configPath = path.join(cwd, \"api.json\");\n\n const aliasPrefix = (await getTsConfigAliasPrefix(cwd)) || \"\";\n const alias = aliasPrefix ? `${aliasPrefix}/` : \"\";\n\n const defaultAliases: Config[\"aliases\"] = {\n api: `${alias}${apiDir}`,\n hooks: `${alias}hooks`,\n ui: `${alias}components/ui`,\n components: `${alias}components`,\n lib: `${alias}lib`,\n };\n\n const defaultConfig: Omit<Config, \"resolvedPaths\"> = {\n tsx: true,\n aliases: defaultAliases,\n };\n\n const s1 = spinner(`Initialize API directory at ${path.join(mainPath, apiDir)}`).start();\n if (!fs.existsSync(fullPath)) {\n await fs.mkdir(fullPath, { recursive: true });\n }\n s1.succeed();\n\n const s2 = spinner(\"Create api.json configuration file\").start();\n configSchema.omit({ resolvedPaths: true }).parse(defaultConfig);\n await fs.writeFile(configPath, JSON.stringify(defaultConfig, null, 2));\n s2.succeed();\n\n logger.break();\n logger.info(\"Auto-initialization complete!\");\n logger.break();\n}\n","import * as path from \"node:path\";\nimport * as fs from \"fs-extra\";\nimport { loadConfig } from \"tsconfig-paths\";\n\nimport { highlighter } from \"utils/highlighter\";\nimport { resolveImport } from \"utils/resolve-import\";\nimport { handleError } from \"utils/handle-error\";\nimport type { Config } from \"config/schema\";\nimport { configSchema } from \"config/schema\";\nimport { autoInit } from \"config/auto-init\";\n\nexport async function resolveConfigPaths(cwd: string, config: Omit<Config, \"resolvedPaths\">): Promise<Config> {\n // Read tsconfig.json.\n const tsConfig = await loadConfig(cwd);\n\n if (tsConfig.resultType === \"failed\") {\n throw new Error(`Failed to load ${config.tsx ? \"tsconfig\" : \"jsconfig\"}.json. ${tsConfig.message ?? \"\"}`.trim());\n }\n\n return configSchema.parse({\n ...config,\n resolvedPaths: {\n cwd,\n api: await resolveImport(config.aliases.api, tsConfig),\n components: await resolveImport(config.aliases.components, tsConfig),\n lib: await resolveImport(config.aliases.lib, tsConfig),\n hooks: await resolveImport(config.aliases.hooks, tsConfig),\n ui: await resolveImport(config.aliases.ui, tsConfig),\n },\n });\n}\n\nexport async function getConfig(cwd: string): Promise<Config | null> {\n if (!fs.existsSync(path.resolve(cwd, \"api.json\"))) {\n await autoInit(cwd);\n }\n const { data, error } = await configSchema\n .omit({ resolvedPaths: true }) // We enrich it later\n .safeParseAsync(JSON.parse(fs.readFileSync(path.resolve(cwd, \"api.json\"), \"utf8\")));\n\n if (error) {\n handleError(error);\n }\n\n if (!data) {\n throw new Error(`Invalid configuration found in ${highlighter.info(cwd)}.`);\n }\n\n return resolveConfigPaths(cwd, data);\n}\n","import * as path from \"node:path\";\nimport * as fs from \"fs-extra\";\nimport type { z } from \"zod\";\n\nimport type { generateOptionsSchema } from \"commands/generate\";\nimport * as ERRORS from \"utils/errors\";\nimport { getConfig } from \"config/get-config\";\nimport type { Config } from \"config/schema\";\nimport { highlighter } from \"utils/highlighter\";\nimport { logger } from \"utils/logger\";\nimport { handleError } from \"utils/handle-error\";\n\nexport async function preFlightGenerate(options: z.infer<typeof generateOptionsSchema>): Promise<{\n errors: Record<string, boolean>;\n config: Config;\n}> {\n const errors: Record<string, boolean> = {};\n\n // Ensure target directory exists.\n // Check for empty project. We assume if no package.json exists, the project is empty.\n if (!fs.existsSync(options.cwd) || !fs.existsSync(path.resolve(options.cwd, \"package.json\"))) {\n errors[ERRORS.MISSING_DIR_OR_EMPTY_PROJECT] = true;\n\n handleError(errors);\n }\n\n try {\n const config = await getConfig(options.cwd);\n\n return {\n errors,\n config: config!,\n };\n } catch (error) {\n logger.break();\n logger.error(\n `An invalid ${highlighter.info(\"api.json\")} file was found at ${highlighter.info(\n options.cwd,\n )}.\\nBefore you can add SDKs, you must create a valid ${highlighter.info(\n \"api.json\",\n )} file by running the ${highlighter.info(\"init\")} command.`,\n );\n logger.break();\n process.exit(1);\n }\n}\n","let messages = [];\nlet level = 0;\n\nconst debug = (msg, min) => {\n if (level >= min) {\n messages.push(msg);\n }\n};\n\ndebug.WARN = 1;\ndebug.INFO = 2;\ndebug.DEBUG = 3;\n\ndebug.reset = () => {\n messages = [];\n};\n\ndebug.setDebugLevel = (v) => {\n level = v;\n};\n\ndebug.warn = (msg) => debug(msg, debug.WARN);\ndebug.info = (msg) => debug(msg, debug.INFO);\ndebug.debug = (msg) => debug(msg, debug.DEBUG);\n\ndebug.debugMessages = () => messages;\n\nmodule.exports = debug;\n","const stringWidth = require('string-width');\n\nfunction codeRegex(capture) {\n return capture ? /\\u001b\\[((?:\\d*;){0,5}\\d*)m/g : /\\u001b\\[(?:\\d*;){0,5}\\d*m/g;\n}\n\nfunction strlen(str) {\n let code = codeRegex();\n let stripped = ('' + str).replace(code, '');\n let split = stripped.split('\\n');\n return split.reduce(function (memo, s) {\n return stringWidth(s) > memo ? stringWidth(s) : memo;\n }, 0);\n}\n\nfunction repeat(str, times) {\n return Array(times + 1).join(str);\n}\n\nfunction pad(str, len, pad, dir) {\n let length = strlen(str);\n if (len + 1 >= length) {\n let padlen = len - length;\n switch (dir) {\n case 'right': {\n str = repeat(pad, padlen) + str;\n break;\n }\n case 'center': {\n let right = Math.ceil(padlen / 2);\n let left = padlen - right;\n str = repeat(pad, left) + str + repeat(pad, right);\n break;\n }\n default: {\n str = str + repeat(pad, padlen);\n break;\n }\n }\n }\n return str;\n}\n\nlet codeCache = {};\n\nfunction addToCodeCache(name, on, off) {\n on = '\\u001b[' + on + 'm';\n off = '\\u001b[' + off + 'm';\n codeCache[on] = { set: name, to: true };\n codeCache[off] = { set: name, to: false };\n codeCache[name] = { on: on, off: off };\n}\n\n//https://github.com/Marak/colors.js/blob/master/lib/styles.js\naddToCodeCache('bold', 1, 22);\naddToCodeCache('italics', 3, 23);\naddToCodeCache('underline', 4, 24);\naddToCodeCache('inverse', 7, 27);\naddToCodeCache('strikethrough', 9, 29);\n\nfunction updateState(state, controlChars) {\n let controlCode = controlChars[1] ? parseInt(controlChars[1].split(';')[0]) : 0;\n if ((controlCode >= 30 && controlCode <= 39) || (controlCode >= 90 && controlCode <= 97)) {\n state.lastForegroundAdded = controlChars[0];\n return;\n }\n if ((controlCode >= 40 && controlCode <= 49) || (controlCode >= 100 && controlCode <= 107)) {\n state.lastBackgroundAdded = controlChars[0];\n return;\n }\n if (controlCode === 0) {\n for (let i in state) {\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(state, i)) {\n delete state[i];\n }\n }\n return;\n }\n let info = codeCache[controlChars[0]];\n if (info) {\n state[info.set] = info.to;\n }\n}\n\nfunction readState(line) {\n let code = codeRegex(true);\n let controlChars = code.exec(line);\n let state = {};\n while (controlChars !== null) {\n updateState(state, controlChars);\n controlChars = code.exec(line);\n }\n return state;\n}\n\nfunction unwindState(state, ret) {\n let lastBackgroundAdded = state.lastBackgroundAdded;\n let lastForegroundAdded = state.lastForegroundAdded;\n\n delete state.lastBackgroundAdded;\n delete state.lastForegroundAdded;\n\n Object.keys(state).forEach(function (key) {\n if (state[key]) {\n ret += codeCache[key].off;\n }\n });\n\n if (lastBackgroundAdded && lastBackgroundAdded != '\\u001b[49m') {\n ret += '\\u001b[49m';\n }\n if (lastForegroundAdded && lastForegroundAdded != '\\u001b[39m') {\n ret += '\\u001b[39m';\n }\n\n return ret;\n}\n\nfunction rewindState(state, ret) {\n let lastBackgroundAdded = state.lastBackgroundAdded;\n let lastForegroundAdded = state.lastForegroundAdded;\n\n delete state.lastBackgroundAdded;\n delete state.lastForegroundAdded;\n\n Object.keys(state).forEach(function (key) {\n if (state[key]) {\n ret = codeCache[key].on + ret;\n }\n });\n\n if (lastBackgroundAdded && lastBackgroundAdded != '\\u001b[49m') {\n ret = lastBackgroundAdded + ret;\n }\n if (lastForegroundAdded && lastForegroundAdded != '\\u001b[39m') {\n ret = lastForegroundAdded + ret;\n }\n\n return ret;\n}\n\nfunction truncateWidth(str, desiredLength) {\n if (str.length === strlen(str)) {\n return str.substr(0, desiredLength);\n }\n\n while (strlen(str) > desiredLength) {\n str = str.slice(0, -1);\n }\n\n return str;\n}\n\nfunction truncateWidthWithAnsi(str, desiredLength) {\n let code = codeRegex(true);\n let split = str.split(codeRegex());\n let splitIndex = 0;\n let retLen = 0;\n let ret = '';\n let myArray;\n let state = {};\n\n while (retLen < desiredLength) {\n myArray = code.exec(str);\n let toAdd = split[splitIndex];\n splitIndex++;\n if (retLen + strlen(toAdd) > desiredLength) {\n toAdd = truncateWidth(toAdd, desiredLength - retLen);\n }\n ret += toAdd;\n retLen += strlen(toAdd);\n\n if (retLen < desiredLength) {\n if (!myArray) {\n break;\n } // full-width chars may cause a whitespace which cannot be filled\n ret += myArray[0];\n updateState(state, myArray);\n }\n }\n\n return unwindState(state, ret);\n}\n\nfunction truncate(str, desiredLength, truncateChar) {\n truncateChar = truncateChar || '…';\n let lengthOfStr = strlen(str);\n if (lengthOfStr <= desiredLength) {\n return str;\n }\n desiredLength -= strlen(truncateChar);\n\n let ret = truncateWidthWithAnsi(str, desiredLength);\n\n ret += truncateChar;\n\n const hrefTag = '\\x1B]8;;\\x07';\n\n if (str.includes(hrefTag) && !ret.includes(hrefTag)) {\n ret += hrefTag;\n }\n\n return ret;\n}\n\nfunction defaultOptions() {\n return {\n chars: {\n top: '─',\n 'top-mid': '┬',\n 'top-left': '┌',\n 'top-right': '┐',\n bottom: '─',\n 'bottom-mid': '┴',\n 'bottom-left': '└',\n 'bottom-right': '┘',\n left: '│',\n 'left-mid': '├',\n mid: '─',\n 'mid-mid': '┼',\n right: '│',\n 'right-mid': '┤',\n middle: '│',\n },\n truncate: '…',\n colWidths: [],\n rowHeights: [],\n colAligns: [],\n rowAligns: [],\n style: {\n 'padding-left': 1,\n 'padding-right': 1,\n head: ['red'],\n border: ['grey'],\n compact: false,\n },\n head: [],\n };\n}\n\nfunction mergeOptions(options, defaults) {\n options = options || {};\n defaults = defaults || defaultOptions();\n let ret = Object.assign({}, defaults, options);\n ret.chars = Object.assign({}, defaults.chars, options.chars);\n ret.style = Object.assign({}, defaults.style, options.style);\n return ret;\n}\n\n// Wrap on word boundary\nfunction wordWrap(maxLength, input) {\n let lines = [];\n let split = input.split(/(\\s+)/g);\n let line = [];\n let lineLength = 0;\n let whitespace;\n for (let i = 0; i < split.length; i += 2) {\n let word = split[i];\n let newLength = lineLength + strlen(word);\n if (lineLength > 0 && whitespace) {\n newLength += whitespace.length;\n }\n if (newLength > maxLength) {\n if (lineLength !== 0) {\n lines.push(line.join(''));\n }\n line = [word];\n lineLength = strlen(word);\n } else {\n line.push(whitespace || '', word);\n lineLength = newLength;\n }\n whitespace = split[i + 1];\n }\n if (lineLength) {\n lines.push(line.join(''));\n }\n return lines;\n}\n\n// Wrap text (ignoring word boundaries)\nfunction textWrap(maxLength, input) {\n let lines = [];\n let line = '';\n function pushLine(str, ws) {\n if (line.length && ws) line += ws;\n line += str;\n while (line.length > maxLength) {\n lines.push(line.slice(0, maxLength));\n line = line.slice(maxLength);\n }\n }\n let split = input.split(/(\\s+)/g);\n for (let i = 0; i < split.length; i += 2) {\n pushLine(split[i], i && split[i - 1]);\n }\n if (line.length) lines.push(line);\n return lines;\n}\n\nfunction multiLineWordWrap(maxLength, input, wrapOnWordBoundary = true) {\n let output = [];\n input = input.split('\\n');\n const handler = wrapOnWordBoundary ? wordWrap : textWrap;\n for (let i = 0; i < input.length; i++) {\n output.push.apply(output, handler(maxLength, input[i]));\n }\n return output;\n}\n\nfunction colorizeLines(input) {\n let state = {};\n let output = [];\n for (let i = 0; i < input.length; i++) {\n let line = rewindState(state, input[i]);\n state = readState(line);\n let temp = Object.assign({}, state);\n output.push(unwindState(temp, line));\n }\n return output;\n}\n\n/**\n * Credit: Matheus Sampaio https://github.com/matheussampaio\n */\nfunction hyperlink(url, text) {\n const OSC = '\\u001B]';\n const BEL = '\\u0007';\n const SEP = ';';\n\n return [OSC, '8', SEP, SEP, url || text, BEL, text, OSC, '8', SEP, SEP, BEL].join('');\n}\n\nmodule.exports = {\n strlen: strlen,\n repeat: repeat,\n pad: pad,\n truncate: truncate,\n mergeOptions: mergeOptions,\n wordWrap: multiLineWordWrap,\n colorizeLines: colorizeLines,\n hyperlink,\n};\n","/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar styles = {};\nmodule['exports'] = styles;\n\nvar codes = {\n reset: [0, 0],\n\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n grey: [90, 39],\n\n brightRed: [91, 39],\n brightGreen: [92, 39],\n brightYellow: [93, 39],\n brightBlue: [94, 39],\n brightMagenta: [95, 39],\n brightCyan: [96, 39],\n brightWhite: [97, 39],\n\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n bgGray: [100, 49],\n bgGrey: [100, 49],\n\n bgBrightRed: [101, 49],\n bgBrightGreen: [102, 49],\n bgBrightYellow: [103, 49],\n bgBrightBlue: [104, 49],\n bgBrightMagenta: [105, 49],\n bgBrightCyan: [106, 49],\n bgBrightWhite: [107, 49],\n\n // legacy styles for colors pre v1.0.0\n blackBG: [40, 49],\n redBG: [41, 49],\n greenBG: [42, 49],\n yellowBG: [43, 49],\n blueBG: [44, 49],\n magentaBG: [45, 49],\n cyanBG: [46, 49],\n whiteBG: [47, 49],\n\n};\n\nObject.keys(codes).forEach(function(key) {\n var val = codes[key];\n var style = styles[key] = [];\n style.open = '\\u001b[' + val[0] + 'm';\n style.close = '\\u001b[' + val[1] + 'm';\n});\n","/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n\n'use strict';\n\nmodule.exports = function(flag, argv) {\n argv = argv || process.argv;\n\n var terminatorPos = argv.indexOf('--');\n var prefix = /^-{1,2}/.test(flag) ? '' : '--';\n var pos = argv.indexOf(prefix + flag);\n\n return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n","/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\n'use strict';\n\nvar os = require('os');\nvar hasFlag = require('./has-flag.js');\n\nvar env = process.env;\n\nvar forceColor = void 0;\nif (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {\n forceColor = false;\n} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true')\n || hasFlag('color=always')) {\n forceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n forceColor = env.FORCE_COLOR.length === 0\n || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n if (level === 0) {\n return false;\n }\n\n return {\n level: level,\n hasBasic: true,\n has256: level >= 2,\n has16m: level >= 3,\n };\n}\n\nfunction supportsColor(stream) {\n if (forceColor === false) {\n return 0;\n }\n\n if (hasFlag('color=16m') || hasFlag('color=full')\n || hasFlag('color=truecolor')) {\n return 3;\n }\n\n if (hasFlag('color=256')) {\n return 2;\n }\n\n if (stream && !stream.isTTY && forceColor !== true) {\n return 0;\n }\n\n var min = forceColor ? 1 : 0;\n\n if (process.platform === 'win32') {\n // Node.js 7.5.0 is the first version of Node.js to include a patch to\n // libuv that enables 256 color output on Windows. Anything earlier and it\n // won't work. However, here we target Node.js 8 at minimum as it is an LTS\n // release, and Node.js 7 is not. Windows 10 build 10586 is the first\n // Windows release that supports 256 colors. Windows 10 build 14931 is the\n // first release that supports 16m/TrueColor.\n var osRelease = os.release().split('.');\n if (Number(process.versions.node.split('.')[0]) >= 8\n && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {\n return Number(osRelease[2]) >= 14931 ? 3 : 2;\n }\n\n return 1;\n }\n\n if ('CI' in env) {\n if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(function(sign) {\n return sign in env;\n }) || env.CI_NAME === 'codeship') {\n return 1;\n }\n\n return min;\n }\n\n if ('TEAMCITY_VERSION' in env) {\n return (/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0\n );\n }\n\n if ('TERM_PROGRAM' in env) {\n var version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n switch (env.TERM_PROGRAM) {\n case 'iTerm.app':\n return version >= 3 ? 3 : 2;\n case 'Hyper':\n return 3;\n case 'Apple_Terminal':\n return 2;\n // No default\n }\n }\n\n if (/-256(color)?$/i.test(env.TERM)) {\n return 2;\n }\n\n if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n return 1;\n }\n\n if ('COLORTERM' in env) {\n return 1;\n }\n\n if (env.TERM === 'dumb') {\n return min;\n }\n\n return min;\n}\n\nfunction getSupportLevel(stream) {\n var level = supportsColor(stream);\n return translateLevel(level);\n}\n\nmodule.exports = {\n supportsColor: getSupportLevel,\n stdout: getSupportLevel(process.stdout),\n stderr: getSupportLevel(process.stderr),\n};\n","module['exports'] = function runTheTrap(text, options) {\n var result = '';\n text = text || 'Run the trap, drop the bass';\n text = text.split('');\n var trap = {\n a: ['\\u0040', '\\u0104', '\\u023a', '\\u0245', '\\u0394', '\\u039b', '\\u0414'],\n b: ['\\u00df', '\\u0181', '\\u0243', '\\u026e', '\\u03b2', '\\u0e3f'],\n c: ['\\u00a9', '\\u023b', '\\u03fe'],\n d: ['\\u00d0', '\\u018a', '\\u0500', '\\u0501', '\\u0502', '\\u0503'],\n e: ['\\u00cb', '\\u0115', '\\u018e', '\\u0258', '\\u03a3', '\\u03be', '\\u04bc',\n '\\u0a6c'],\n f: ['\\u04fa'],\n g: ['\\u0262'],\n h: ['\\u0126', '\\u0195', '\\u04a2', '\\u04ba', '\\u04c7', '\\u050a'],\n i: ['\\u0f0f'],\n j: ['\\u0134'],\n k: ['\\u0138', '\\u04a0', '\\u04c3', '\\u051e'],\n l: ['\\u0139'],\n m: ['\\u028d', '\\u04cd', '\\u04ce', '\\u0520', '\\u0521', '\\u0d69'],\n n: ['\\u00d1', '\\u014b', '\\u019d', '\\u0376', '\\u03a0', '\\u048a'],\n o: ['\\u00d8', '\\u00f5', '\\u00f8', '\\u01fe', '\\u0298', '\\u047a', '\\u05dd',\n '\\u06dd', '\\u0e4f'],\n p: ['\\u01f7', '\\u048e'],\n q: ['\\u09cd'],\n r: ['\\u00ae', '\\u01a6', '\\u0210', '\\u024c', '\\u0280', '\\u042f'],\n s: ['\\u00a7', '\\u03de', '\\u03df', '\\u03e8'],\n t: ['\\u0141', '\\u0166', '\\u0373'],\n u: ['\\u01b1', '\\u054d'],\n v: ['\\u05d8'],\n w: ['\\u0428', '\\u0460', '\\u047c', '\\u0d70'],\n x: ['\\u04b2', '\\u04fe', '\\u04fc', '\\u04fd'],\n y: ['\\u00a5', '\\u04b0', '\\u04cb'],\n z: ['\\u01b5', '\\u0240'],\n };\n text.forEach(function(c) {\n c = c.toLowerCase();\n var chars = trap[c] || [' '];\n var rand = Math.floor(Math.random() * chars.length);\n if (typeof trap[c] !== 'undefined') {\n result += trap[c][rand];\n } else {\n result += c;\n }\n });\n return result;\n};\n","// please no\nmodule['exports'] = function zalgo(text, options) {\n text = text || ' he is here ';\n var soul = {\n 'up': [\n '̍', '̎', '̄', '̅',\n '̿', '̑', '̆', '̐',\n '͒', '͗', '͑', '̇',\n '̈', '̊', '͂', '̓',\n '̈', '͊', '͋', '͌',\n '̃', '̂', '̌', '͐',\n '̀', '́', '̋', '̏',\n '̒', '̓', '̔', '̽',\n '̉', 'ͣ', 'ͤ', 'ͥ',\n 'ͦ', 'ͧ', 'ͨ', 'ͩ',\n 'ͪ', 'ͫ', 'ͬ', 'ͭ',\n 'ͮ', 'ͯ', '̾', '͛',\n '͆', '̚',\n ],\n 'down': [\n '̖', '̗', '̘', '̙',\n '̜', '̝', '̞', '̟',\n '̠', '̤', '̥', '̦',\n '̩', '̪', '̫', '̬',\n '̭', '̮', '̯', '̰',\n '̱', '̲', '̳', '̹',\n '̺', '̻', '̼', 'ͅ',\n '͇', '͈', '͉', '͍',\n '͎', '͓', '͔', '͕',\n '͖', '͙', '͚', '̣',\n ],\n 'mid': [\n '̕', '̛', '̀', '́',\n '͘', '̡', '̢', '̧',\n '̨', '̴', '̵', '̶',\n '͜', '͝', '͞',\n '͟', '͠', '͢', '̸',\n '̷', '͡', ' ҉',\n ],\n };\n var all = [].concat(soul.up, soul.down, soul.mid);\n\n function randomNumber(range) {\n var r = Math.floor(Math.random() * range);\n return r;\n }\n\n function isChar(character) {\n var bool = false;\n all.filter(function(i) {\n bool = (i === character);\n });\n return bool;\n }\n\n\n function heComes(text, options) {\n var result = '';\n var counts;\n var l;\n options = options || {};\n options['up'] =\n typeof options['up'] !== 'undefined' ? options['up'] : true;\n options['mid'] =\n typeof options['mid'] !== 'undefined' ? options['mid'] : true;\n options['down'] =\n typeof options['down'] !== 'undefined' ? options['down'] : true;\n options['size'] =\n typeof options['size'] !== 'undefined' ? options['size'] : 'maxi';\n text = text.split('');\n for (l in text) {\n if (isChar(l)) {\n continue;\n }\n result = result + text[l];\n counts = {'up': 0, 'down': 0, 'mid': 0};\n switch (options.size) {\n case 'mini':\n counts.up = randomNumber(8);\n counts.mid = randomNumber(2);\n counts.down = randomNumber(8);\n break;\n case 'maxi':\n counts.up = randomNumber(16) + 3;\n counts.mid = randomNumber(4) + 1;\n counts.down = randomNumber(64) + 3;\n break;\n default:\n counts.up = randomNumber(8) + 1;\n counts.mid = randomNumber(6) / 2;\n counts.down = randomNumber(8) + 1;\n break;\n }\n\n var arr = ['up', 'mid', 'down'];\n for (var d in arr) {\n var index = arr[d];\n for (var i = 0; i <= counts[index]; i++) {\n if (options[index]) {\n result = result + soul[index][randomNumber(soul[index].length)];\n }\n }\n }\n }\n return result;\n }\n // don't summon him\n return heComes(text, options);\n};\n\n","module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n if (letter === ' ') return letter;\n switch (i%3) {\n case 0: return colors.red(letter);\n case 1: return colors.white(letter);\n case 2: return colors.blue(letter);\n }\n };\n};\n","module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n return i % 2 === 0 ? letter : colors.inverse(letter);\n };\n};\n","module['exports'] = function(colors) {\n // RoY G BiV\n var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta'];\n return function(letter, i, exploded) {\n if (letter === ' ') {\n return letter;\n } else {\n return colors[rainbowColors[i++ % rainbowColors.length]](letter);\n }\n };\n};\n\n","module['exports'] = function(colors) {\n var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green',\n 'blue', 'white', 'cyan', 'magenta', 'brightYellow', 'brightRed',\n 'brightGreen', 'brightBlue', 'brightWhite', 'brightCyan', 'brightMagenta'];\n return function(letter, i, exploded) {\n return letter === ' ' ? letter :\n colors[\n available[Math.round(Math.random() * (available.length - 2))]\n ](letter);\n };\n};\n","/*\n\nThe MIT License (MIT)\n\nOriginal Library\n - Copyright (c) Marak Squires\n\nAdditional functionality\n - Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar colors = {};\nmodule['exports'] = colors;\n\ncolors.themes = {};\n\nvar util = require('util');\nvar ansiStyles = colors.styles = require('./styles');\nvar defineProps = Object.defineProperties;\nvar newLineRegex = new RegExp(/[\\r\\n]+/g);\n\ncolors.supportsColor = require('./system/supports-colors').supportsColor;\n\nif (typeof colors.enabled === 'undefined') {\n colors.enabled = colors.supportsColor() !== false;\n}\n\ncolors.enable = function() {\n colors.enabled = true;\n};\n\ncolors.disable = function() {\n colors.enabled = false;\n};\n\ncolors.stripColors = colors.strip = function(str) {\n return ('' + str).replace(/\\x1B\\[\\d+m/g, '');\n};\n\n// eslint-disable-next-line no-unused-vars\nvar stylize = colors.stylize = function stylize(str, style) {\n if (!colors.enabled) {\n return str+'';\n }\n\n var styleMap = ansiStyles[style];\n\n // Stylize should work for non-ANSI styles, too\n if (!styleMap && style in colors) {\n // Style maps like trap operate as functions on strings;\n // they don't have properties like open or close.\n return colors[style](str);\n }\n\n return styleMap.open + str + styleMap.close;\n};\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\nvar escapeStringRegexp = function(str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n return str.replace(matchOperatorsRe, '\\\\$&');\n};\n\nfunction build(_styles) {\n var builder = function builder() {\n return applyStyle.apply(builder, arguments);\n };\n builder._styles = _styles;\n // __proto__ is used because we must return a function, but there is\n // no way to create a function with a different prototype.\n builder.__proto__ = proto;\n return builder;\n}\n\nvar styles = (function() {\n var ret = {};\n ansiStyles.grey = ansiStyles.gray;\n Object.keys(ansiStyles).forEach(function(key) {\n ansiStyles[key].closeRe =\n new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n ret[key] = {\n get: function() {\n return build(this._styles.concat(key));\n },\n };\n });\n return ret;\n})();\n\nvar proto = defineProps(function colors() {}, styles);\n\nfunction applyStyle() {\n var args = Array.prototype.slice.call(arguments);\n\n var str = args.map(function(arg) {\n // Use weak equality check so we can colorize null/undefined in safe mode\n if (arg != null && arg.constructor === String) {\n return arg;\n } else {\n return util.inspect(arg);\n }\n }).join(' ');\n\n if (!colors.enabled || !str) {\n return str;\n }\n\n var newLinesPresent = str.indexOf('\\n') != -1;\n\n var nestedStyles = this._styles;\n\n var i = nestedStyles.length;\n while (i--) {\n var code = ansiStyles[nestedStyles[i]];\n str = code.open + str.replace(code.closeRe, code.open) + code.close;\n if (newLinesPresent) {\n str = str.replace(newLineRegex, function(match) {\n return code.close + match + code.open;\n });\n }\n }\n\n return str;\n}\n\ncolors.setTheme = function(theme) {\n if (typeof theme === 'string') {\n console.log('colors.setTheme now only accepts an object, not a string. ' +\n 'If you are trying to set a theme from a file, it is now your (the ' +\n 'caller\\'s) responsibility to require the file. The old syntax ' +\n 'looked like colors.setTheme(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'); The new syntax looks like '+\n 'colors.setTheme(require(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'));');\n return;\n }\n for (var style in theme) {\n (function(style) {\n colors[style] = function(str) {\n if (typeof theme[style] === 'object') {\n var out = str;\n for (var i in theme[style]) {\n out = colors[theme[style][i]](out);\n }\n return out;\n }\n return colors[theme[style]](str);\n };\n })(style);\n }\n};\n\nfunction init() {\n var ret = {};\n Object.keys(styles).forEach(function(name) {\n ret[name] = {\n get: function() {\n return build([name]);\n },\n };\n });\n return ret;\n}\n\nvar sequencer = function sequencer(map, str) {\n var exploded = str.split('');\n exploded = exploded.map(map);\n return exploded.join('');\n};\n\n// custom formatter methods\ncolors.trap = require('./custom/trap');\ncolors.zalgo = require('./custom/zalgo');\n\n// maps\ncolors.maps = {};\ncolors.maps.america = require('./maps/america')(colors);\ncolors.maps.zebra = require('./maps/zebra')(colors);\ncolors.maps.rainbow = require('./maps/rainbow')(colors);\ncolors.maps.random = require('./maps/random')(colors);\n\nfor (var map in colors.maps) {\n (function(map) {\n colors[map] = function(str) {\n return sequencer(colors.maps[map], str);\n };\n })(map);\n}\n\ndefineProps(colors, init());\n","//\n// Remark: Requiring this file will use the \"safe\" colors API,\n// which will not touch String.prototype.\n//\n// var colors = require('colors/safe');\n// colors.red(\"foo\")\n//\n//\nvar colors = require('./lib/colors');\nmodule['exports'] = colors;\n","const { info, debug } = require('./debug');\nconst utils = require('./utils');\n\nclass Cell {\n /**\n * A representation of a cell within the table.\n * Implementations must have `init` and `draw` methods,\n * as well as `colSpan`, `rowSpan`, `desiredHeight` and `desiredWidth` properties.\n * @param options\n * @constructor\n */\n constructor(options) {\n this.setOptions(options);\n\n /**\n * Each cell will have it's `x` and `y` values set by the `layout-manager` prior to\n * `init` being called;\n * @type {Number}\n */\n this.x = null;\n this.y = null;\n }\n\n setOptions(options) {\n if (['boolean', 'number', 'bigint', 'string'].indexOf(typeof options) !== -1) {\n options = { content: '' + options };\n }\n options = options || {};\n this.options = options;\n let content = options.content;\n if (['boolean', 'number', 'bigint', 'string'].indexOf(typeof content) !== -1) {\n this.content = String(content);\n } else if (!content) {\n this.content = this.options.href || '';\n } else {\n throw new Error('Content needs to be a primitive, got: ' + typeof content);\n }\n this.colSpan = options.colSpan || 1;\n this.rowSpan = options.rowSpan || 1;\n if (this.options.href) {\n Object.defineProperty(this, 'href', {\n get() {\n return this.options.href;\n },\n });\n }\n }\n\n mergeTableOptions(tableOptions, cells) {\n this.cells = cells;\n\n let optionsChars = this.options.chars || {};\n let tableChars = tableOptions.chars;\n let chars = (this.chars = {});\n CHAR_NAMES.forEach(function (name) {\n setOption(optionsChars, tableChars, name, chars);\n });\n\n this.truncate = this.options.truncate || tableOptions.truncate;\n\n let style = (this.options.style = this.options.style || {});\n let tableStyle = tableOptions.style;\n setOption(style, tableStyle, 'padding-left', this);\n setOption(style, tableStyle, 'padding-right', this);\n this.head = style.head || tableStyle.head;\n this.border = style.border || tableStyle.border;\n\n this.fixedWidth = tableOptions.colWidths[this.x];\n this.lines = this.computeLines(tableOptions);\n\n this.desiredWidth = utils.strlen(this.content) + this.paddingLeft + this.paddingRight;\n this.desiredHeight = this.lines.length;\n }\n\n computeLines(tableOptions) {\n const tableWordWrap = tableOptions.wordWrap || tableOptions.textWrap;\n const { wordWrap = tableWordWrap } = this.options;\n if (this.fixedWidth && wordWrap) {\n this.fixedWidth -= this.paddingLeft + this.paddingRight;\n if (this.colSpan) {\n let i = 1;\n while (i < this.colSpan) {\n this.fixedWidth += tableOptions.colWidths[this.x + i];\n i++;\n }\n }\n const { wrapOnWordBoundary: tableWrapOnWordBoundary = true } = tableOptions;\n const { wrapOnWordBoundary = tableWrapOnWordBoundary } = this.options;\n return this.wrapLines(utils.wordWrap(this.fixedWidth, this.content, wrapOnWordBoundary));\n }\n return this.wrapLines(this.content.split('\\n'));\n }\n\n wrapLines(computedLines) {\n const lines = utils.colorizeLines(computedLines);\n if (this.href) {\n return lines.map((line) => utils.hyperlink(this.href, line));\n }\n return lines;\n }\n\n /**\n * Initializes the Cells data structure.\n *\n * @param tableOptions - A fully populated set of tableOptions.\n * In addition to the standard default values, tableOptions must have fully populated the\n * `colWidths` and `rowWidths` arrays. Those arrays must have lengths equal to the number\n * of columns or rows (respectively) in this table, and each array item must be a Number.\n *\n */\n init(tableOptions) {\n let x = this.x;\n let y = this.y;\n this.widths = tableOptions.colWidths.slice(x, x + this.colSpan);\n this.heights = tableOptions.rowHeights.slice(y, y + this.rowSpan);\n this.width = this.widths.reduce(sumPlusOne, -1);\n this.height = this.heights.reduce(sumPlusOne, -1);\n\n this.hAlign = this.options.hAlign || tableOptions.colAligns[x];\n this.vAlign = this.options.vAlign || tableOptions.rowAligns[y];\n\n this.drawRight = x + this.colSpan == tableOptions.colWidths.length;\n }\n\n /**\n * Draws the given line of the cell.\n * This default implementation defers to methods `drawTop`, `drawBottom`, `drawLine` and `drawEmpty`.\n * @param lineNum - can be `top`, `bottom` or a numerical line number.\n * @param spanningCell - will be a number if being called from a RowSpanCell, and will represent how\n * many rows below it's being called from. Otherwise it's undefined.\n * @returns {String} The representation of this line.\n */\n draw(lineNum, spanningCell) {\n if (lineNum == 'top') return this.drawTop(this.drawRight);\n if (lineNum == 'bottom') return this.drawBottom(this.drawRight);\n let content = utils.truncate(this.content, 10, this.truncate);\n if (!lineNum) {\n info(`${this.y}-${this.x}: ${this.rowSpan - lineNum}x${this.colSpan} Cell ${content}`);\n } else {\n // debug(`${lineNum}-${this.x}: 1x${this.colSpan} RowSpanCell ${content}`);\n }\n let padLen = Math.max(this.height - this.lines.length, 0);\n let padTop;\n switch (this.vAlign) {\n case 'center':\n padTop = Math.ceil(padLen / 2);\n break;\n case 'bottom':\n padTop = padLen;\n break;\n default:\n padTop = 0;\n }\n if (lineNum < padTop || lineNum >= padTop + this.lines.length) {\n return this.drawEmpty(this.drawRight, spanningCell);\n }\n let forceTruncation = this.lines.length > this.height && lineNum + 1 >= this.height;\n return this.drawLine(lineNum - padTop, this.drawRight, forceTruncation, spanningCell);\n }\n\n /**\n * Renders the top line of the cell.\n * @param drawRight - true if this method should render the right edge of the cell.\n * @returns {String}\n */\n drawTop(drawRight) {\n let content = [];\n if (this.cells) {\n //TODO: cells should always exist - some tests don't fill it in though\n this.widths.forEach(function (width, index) {\n content.push(this._topLeftChar(index));\n content.push(utils.repeat(this.chars[this.y == 0 ? 'top' : 'mid'], width));\n }, this);\n } else {\n content.push(this._topLeftChar(0));\n content.push(utils.repeat(this.chars[this.y == 0 ? 'top' : 'mid'], this.width));\n }\n if (drawRight) {\n content.push(this.chars[this.y == 0 ? 'topRight' : 'rightMid']);\n }\n return this.wrapWithStyleColors('border', content.join(''));\n }\n\n _topLeftChar(offset) {\n let x = this.x + offset;\n let leftChar;\n if (this.y == 0) {\n leftChar = x == 0 ? 'topLeft' : offset == 0 ? 'topMid' : 'top';\n } else {\n if (x == 0) {\n leftChar = 'leftMid';\n } else {\n leftChar = offset == 0 ? 'midMid' : 'bottomMid';\n if (this.cells) {\n //TODO: cells should always exist - some tests don't fill it in though\n let spanAbove = this.cells[this.y - 1][x] instanceof Cell.ColSpanCell;\n if (spanAbove) {\n leftChar = offset == 0 ? 'topMid' : 'mid';\n }\n if (offset == 0) {\n let i = 1;\n while (this.cells[this.y][x - i] instanceof Cell.ColSpanCell) {\n i++;\n }\n if (this.cells[this.y][x - i] instanceof Cell.RowSpanCell) {\n leftChar = 'leftMid';\n }\n }\n }\n }\n }\n return this.chars[leftChar];\n }\n\n wrapWithStyleColors(styleProperty, content) {\n if (this[styleProperty] && this[styleProperty].length) {\n try {\n let colors = require('@colors/colors/safe');\n for (let i = this[styleProperty].length - 1; i >= 0; i--) {\n colors = colors[this[styleProperty][i]];\n }\n return colors(content);\n } catch (e) {\n return content;\n }\n } else {\n return content;\n }\n }\n\n /**\n * Renders a line of text.\n * @param lineNum - Which line of text to render. This is not necessarily the line within the cell.\n * There may be top-padding above the first line of text.\n * @param drawRight - true if this method should render the right edge of the cell.\n * @param forceTruncationSymbol - `true` if the rendered text should end with the truncation symbol even\n * if the text fits. This is used when the cell is vertically truncated. If `false` the text should\n * only include the truncation symbol if the text will not fit horizontally within the cell width.\n * @param spanningCell - a number of if being called from a RowSpanCell. (how many rows below). otherwise undefined.\n * @returns {String}\n */\n drawLine(lineNum, drawRight, forceTruncationSymbol, spanningCell) {\n let left = this.chars[this.x == 0 ? 'left' : 'middle'];\n if (this.x && spanningCell && this.cells) {\n let cellLeft = this.cells[this.y + spanningCell][this.x - 1];\n while (cellLeft instanceof ColSpanCell) {\n cellLeft = this.cells[cellLeft.y][cellLeft.x - 1];\n }\n if (!(cellLeft instanceof RowSpanCell)) {\n left = this.chars['rightMid'];\n }\n }\n let leftPadding = utils.repeat(' ', this.paddingLeft);\n let right = drawRight ? this.chars['right'] : '';\n let rightPadding = utils.repeat(' ', this.paddingRight);\n let line = this.lines[lineNum];\n let len = this.width - (this.paddingLeft + this.paddingRight);\n if (forceTruncationSymbol) line += this.truncate || '…';\n let content = utils.truncate(line, len, this.truncate);\n content = utils.pad(content, len, ' ', this.hAlign);\n content = leftPadding + content + rightPadding;\n return this.stylizeLine(left, content, right);\n }\n\n stylizeLine(left, content, right) {\n left = this.wrapWithStyleColors('border', left);\n right = this.wrapWithStyleColors('border', right);\n if (this.y === 0) {\n content = this.wrapWithStyleColors('head', content);\n }\n return left + content + right;\n }\n\n /**\n * Renders the bottom line of the cell.\n * @param drawRight - true if this method should render the right edge of the cell.\n * @returns {String}\n */\n drawBottom(drawRight) {\n let left = this.chars[this.x == 0 ? 'bottomLeft' : 'bottomMid'];\n let content = utils.repeat(this.chars.bottom, this.width);\n let right = drawRight ? this.chars['bottomRight'] : '';\n return this.wrapWithStyleColors('border', left + content + right);\n }\n\n /**\n * Renders a blank line of text within the cell. Used for top and/or bottom padding.\n * @param drawRight - true if this method should render the right edge of the cell.\n * @param spanningCell - a number of if being called from a RowSpanCell. (how many rows below). otherwise undefined.\n * @returns {String}\n */\n drawEmpty(drawRight, spanningCell) {\n let left = this.chars[this.x == 0 ? 'left' : 'middle'];\n if (this.x && spanningCell && this.cells) {\n let cellLeft = this.cells[this.y + spanningCell][this.x - 1];\n while (cellLeft instanceof ColSpanCell) {\n cellLeft = this.cells[cellLeft.y][cellLeft.x - 1];\n }\n if (!(cellLeft instanceof RowSpanCell)) {\n left = this.chars['rightMid'];\n }\n }\n let right = drawRight ? this.chars['right'] : '';\n let content = utils.repeat(' ', this.width);\n return this.stylizeLine(left, content, right);\n }\n}\n\nclass ColSpanCell {\n /**\n * A Cell that doesn't do anything. It just draws empty lines.\n * Used as a placeholder in column spanning.\n * @constructor\n */\n constructor() {}\n\n draw(lineNum) {\n if (typeof lineNum === 'number') {\n debug(`${this.y}-${this.x}: 1x1 ColSpanCell`);\n }\n return '';\n }\n\n init() {}\n\n mergeTableOptions() {}\n}\n\nclass RowSpanCell {\n /**\n * A placeholder Cell for a Cell that spans multiple rows.\n * It delegates rendering to the original cell, but adds the appropriate offset.\n * @param originalCell\n * @constructor\n */\n constructor(originalCell) {\n this.originalCell = originalCell;\n }\n\n init(tableOptions) {\n let y = this.y;\n let originalY = this.originalCell.y;\n this.cellOffset = y - originalY;\n this.offset = findDimension(tableOptions.rowHeights, originalY, this.cellOffset);\n }\n\n draw(lineNum) {\n if (lineNum == 'top') {\n return this.originalCell.draw(this.offset, this.cellOffset);\n }\n if (lineNum == 'bottom') {\n return this.originalCell.draw('bottom');\n }\n debug(`${this.y}-${this.x}: 1x${this.colSpan} RowSpanCell for ${this.originalCell.content}`);\n return this.originalCell.draw(this.offset + 1 + lineNum);\n }\n\n mergeTableOptions() {}\n}\n\nfunction firstDefined(...args) {\n return args.filter((v) => v !== undefined && v !== null).shift();\n}\n\n// HELPER FUNCTIONS\nfunction setOption(objA, objB, nameB, targetObj) {\n let nameA = nameB.split('-');\n if (nameA.length > 1) {\n nameA[1] = nameA[1].charAt(0).toUpperCase() + nameA[1].substr(1);\n nameA = nameA.join('');\n targetObj[nameA] = firstDefined(objA[nameA], objA[nameB], objB[nameA], objB[nameB]);\n } else {\n targetObj[nameB] = firstDefined(objA[nameB], objB[nameB]);\n }\n}\n\nfunction findDimension(dimensionTable, startingIndex, span) {\n let ret = dimensionTable[startingIndex];\n for (let i = 1; i < span; i++) {\n ret += 1 + dimensionTable[startingIndex + i];\n }\n return ret;\n}\n\nfunction sumPlusOne(a, b) {\n return a + b + 1;\n}\n\nlet CHAR_NAMES = [\n 'top',\n 'top-mid',\n 'top-left',\n 'top-right',\n 'bottom',\n 'bottom-mid',\n 'bottom-left',\n 'bottom-right',\n 'left',\n 'left-mid',\n 'mid',\n 'mid-mid',\n 'right',\n 'right-mid',\n 'middle',\n];\n\nmodule.exports = Cell;\nmodule.exports.ColSpanCell = ColSpanCell;\nmodule.exports.RowSpanCell = RowSpanCell;\n","const { warn, debug } = require('./debug');\nconst Cell = require('./cell');\nconst { ColSpanCell, RowSpanCell } = Cell;\n\n(function () {\n function next(alloc, col) {\n if (alloc[col] > 0) {\n return next(alloc, col + 1);\n }\n return col;\n }\n\n function layoutTable(table) {\n let alloc = {};\n table.forEach(function (row, rowIndex) {\n let col = 0;\n row.forEach(function (cell) {\n cell.y = rowIndex;\n // Avoid erroneous call to next() on first row\n cell.x = rowIndex ? next(alloc, col) : col;\n const rowSpan = cell.rowSpan || 1;\n const colSpan = cell.colSpan || 1;\n if (rowSpan > 1) {\n for (let cs = 0; cs < colSpan; cs++) {\n alloc[cell.x + cs] = rowSpan;\n }\n }\n col = cell.x + colSpan;\n });\n Object.keys(alloc).forEach((idx) => {\n alloc[idx]--;\n if (alloc[idx] < 1) delete alloc[idx];\n });\n });\n }\n\n function maxWidth(table) {\n let mw = 0;\n table.forEach(function (row) {\n row.forEach(function (cell) {\n mw = Math.max(mw, cell.x + (cell.colSpan || 1));\n });\n });\n return mw;\n }\n\n function maxHeight(table) {\n return table.length;\n }\n\n function cellsConflict(cell1, cell2) {\n let yMin1 = cell1.y;\n let yMax1 = cell1.y - 1 + (cell1.rowSpan || 1);\n let yMin2 = cell2.y;\n let yMax2 = cell2.y - 1 + (cell2.rowSpan || 1);\n let yConflict = !(yMin1 > yMax2 || yMin2 > yMax1);\n\n let xMin1 = cell1.x;\n let xMax1 = cell1.x - 1 + (cell1.colSpan || 1);\n let xMin2 = cell2.x;\n let xMax2 = cell2.x - 1 + (cell2.colSpan || 1);\n let xConflict = !(xMin1 > xMax2 || xMin2 > xMax1);\n\n return yConflict && xConflict;\n }\n\n function conflictExists(rows, x, y) {\n let i_max = Math.min(rows.length - 1, y);\n let cell = { x: x, y: y };\n for (let i = 0; i <= i_max; i++) {\n let row = rows[i];\n for (let j = 0; j < row.length; j++) {\n if (cellsConflict(cell, row[j])) {\n return true;\n }\n }\n }\n return false;\n }\n\n function allBlank(rows, y, xMin, xMax) {\n for (let x = xMin; x < xMax; x++) {\n if (conflictExists(rows, x, y)) {\n return false;\n }\n }\n return true;\n }\n\n function addRowSpanCells(table) {\n table.forEach(function (row, rowIndex) {\n row.forEach(function (cell) {\n for (let i = 1; i < cell.rowSpan; i++) {\n let rowSpanCell = new RowSpanCell(cell);\n rowSpanCell.x = cell.x;\n rowSpanCell.y = cell.y + i;\n rowSpanCell.colSpan = cell.colSpan;\n insertCell(rowSpanCell, table[rowIndex + i]);\n }\n });\n });\n }\n\n function addColSpanCells(cellRows) {\n for (let rowIndex = cellRows.length - 1; rowIndex >= 0; rowIndex--) {\n let cellColumns = cellRows[rowIndex];\n for (let columnIndex = 0; columnIndex < cellColumns.length; columnIndex++) {\n let cell = cellColumns[columnIndex];\n for (let k = 1; k < cell.colSpan; k++) {\n let colSpanCell = new ColSpanCell();\n colSpanCell.x = cell.x + k;\n colSpanCell.y = cell.y;\n cellColumns.splice(columnIndex + 1, 0, colSpanCell);\n }\n }\n }\n }\n\n function insertCell(cell, row) {\n let x = 0;\n while (x < row.length && row[x].x < cell.x) {\n x++;\n }\n row.splice(x, 0, cell);\n }\n\n function fillInTable(table) {\n let h_max = maxHeight(table);\n let w_max = maxWidth(table);\n debug(`Max rows: ${h_max}; Max cols: ${w_max}`);\n for (let y = 0; y < h_max; y++) {\n for (let x = 0; x < w_max; x++) {\n if (!conflictExists(table, x, y)) {\n let opts = { x: x, y: y, colSpan: 1, rowSpan: 1 };\n x++;\n while (x < w_max && !conflictExists(table, x, y)) {\n opts.colSpan++;\n x++;\n }\n let y2 = y + 1;\n while (y2 < h_max && allBlank(table, y2, opts.x, opts.x + opts.colSpan)) {\n opts.rowSpan++;\n y2++;\n }\n let cell = new Cell(opts);\n cell.x = opts.x;\n cell.y = opts.y;\n warn(`Missing cell at ${cell.y}-${cell.x}.`);\n insertCell(cell, table[y]);\n }\n }\n }\n }\n\n function generateCells(rows) {\n return rows.map(function (row) {\n if (!Array.isArray(row)) {\n let key = Object.keys(row)[0];\n row = row[key];\n if (Array.isArray(row)) {\n row = row.slice();\n row.unshift(key);\n } else {\n row = [key, row];\n }\n }\n return row.map(function (cell) {\n return new Cell(cell);\n });\n });\n }\n\n function makeTableLayout(rows) {\n let cellRows = generateCells(rows);\n layoutTable(cellRows);\n fillInTable(cellRows);\n addRowSpanCells(cellRows);\n addColSpanCells(cellRows);\n return cellRows;\n }\n\n module.exports = {\n makeTableLayout: makeTableLayout,\n layoutTable: layoutTable,\n addRowSpanCells: addRowSpanCells,\n maxWidth: maxWidth,\n fillInTable: fillInTable,\n computeWidths: makeComputeWidths('colSpan', 'desiredWidth', 'x', 1),\n computeHeights: makeComputeWidths('rowSpan', 'desiredHeight', 'y', 1),\n };\n})();\n\nfunction makeComputeWidths(colSpan, desiredWidth, x, forcedMin) {\n return function (vals, table) {\n let result = [];\n let spanners = [];\n let auto = {};\n table.forEach(function (row) {\n row.forEach(function (cell) {\n if ((cell[colSpan] || 1) > 1) {\n spanners.push(cell);\n } else {\n result[cell[x]] = Math.max(result[cell[x]] || 0, cell[desiredWidth] || 0, forcedMin);\n }\n });\n });\n\n vals.forEach(function (val, index) {\n if (typeof val === 'number') {\n result[index] = val;\n }\n });\n\n //spanners.forEach(function(cell){\n for (let k = spanners.length - 1; k >= 0; k--) {\n let cell = spanners[k];\n let span = cell[colSpan];\n let col = cell[x];\n let existingWidth = result[col];\n let editableCols = typeof vals[col] === 'number' ? 0 : 1;\n if (typeof existingWidth === 'number') {\n for (let i = 1; i < span; i++) {\n existingWidth += 1 + result[col + i];\n if (typeof vals[col + i] !== 'number') {\n editableCols++;\n }\n }\n } else {\n existingWidth = desiredWidth === 'desiredWidth' ? cell.desiredWidth - 1 : 1;\n if (!auto[col] || auto[col] < existingWidth) {\n auto[col] = existingWidth;\n }\n }\n\n if (cell[desiredWidth] > existingWidth) {\n let i = 0;\n while (editableCols > 0 && cell[desiredWidth] > existingWidth) {\n if (typeof vals[col + i] !== 'number') {\n let dif = Math.round((cell[desiredWidth] - existingWidth) / editableCols);\n existingWidth += dif;\n result[col + i] += dif;\n editableCols--;\n }\n i++;\n }\n }\n }\n\n Object.assign(vals, result, auto);\n for (let j = 0; j < vals.length; j++) {\n vals[j] = Math.max(forcedMin, vals[j] || 0);\n }\n };\n}\n","const debug = require('./debug');\nconst utils = require('./utils');\nconst tableLayout = require('./layout-manager');\n\nclass Table extends Array {\n constructor(opts) {\n super();\n\n const options = utils.mergeOptions(opts);\n Object.defineProperty(this, 'options', {\n value: options,\n enumerable: options.debug,\n });\n\n if (options.debug) {\n switch (typeof options.debug) {\n case 'boolean':\n debug.setDebugLevel(debug.WARN);\n break;\n case 'number':\n debug.setDebugLevel(options.debug);\n break;\n case 'string':\n debug.setDebugLevel(parseInt(options.debug, 10));\n break;\n default:\n debug.setDebugLevel(debug.WARN);\n debug.warn(`Debug option is expected to be boolean, number, or string. Received a ${typeof options.debug}`);\n }\n Object.defineProperty(this, 'messages', {\n get() {\n return debug.debugMessages();\n },\n });\n }\n }\n\n toString() {\n let array = this;\n let headersPresent = this.options.head && this.options.head.length;\n if (headersPresent) {\n array = [this.options.head];\n if (this.length) {\n array.push.apply(array, this);\n }\n } else {\n this.options.style.head = [];\n }\n\n let cells = tableLayout.makeTableLayout(array);\n\n cells.forEach(function (row) {\n row.forEach(function (cell) {\n cell.mergeTableOptions(this.options, cells);\n }, this);\n }, this);\n\n tableLayout.computeWidths(this.options.colWidths, cells);\n tableLayout.computeHeights(this.options.rowHeights, cells);\n\n cells.forEach(function (row) {\n row.forEach(function (cell) {\n cell.init(this.options);\n }, this);\n }, this);\n\n let result = [];\n\n for (let rowIndex = 0; rowIndex < cells.length; rowIndex++) {\n let row = cells[rowIndex];\n let heightOfRow = this.options.rowHeights[rowIndex];\n\n if (rowIndex === 0 || !this.options.style.compact || (rowIndex == 1 && headersPresent)) {\n doDraw(row, 'top', result);\n }\n\n for (let lineNum = 0; lineNum < heightOfRow; lineNum++) {\n doDraw(row, lineNum, result);\n }\n\n if (rowIndex + 1 == cells.length) {\n doDraw(row, 'bottom', result);\n }\n }\n\n return result.join('\\n');\n }\n\n get width() {\n let str = this.toString().split('\\n');\n return str[0].length;\n }\n}\n\nTable.reset = () => debug.reset();\n\nfunction doDraw(row, lineNum, result) {\n let line = [];\n row.forEach(function (cell) {\n line.push(cell.draw(lineNum));\n });\n let str = line.join('');\n if (str.length) result.push(str);\n}\n\nmodule.exports = Table;\n","module.exports = require('./src/table');","import { z } from \"zod\";\n\nexport const zodToTable = (schema: z.ZodType): { name: string; description: string | undefined }[] => {\n if (schema instanceof z.ZodObject) {\n const { shape } = schema;\n return Object.keys(shape).map((key) => {\n const fieldSchema = shape[key];\n\n return {\n name: key,\n description: fieldSchema.description,\n };\n });\n }\n return [];\n};\n","import type { z } from \"zod\";\nimport Table from \"cli-table3\";\n\nimport { zodToTable } from \"./zod-to-table\";\n\nexport const showHelp = (schema: z.ZodType) => {\n const rows = zodToTable(schema).map(({ name, description }) => [`--${name}`, description || \"\"]);\n\n const maxOptionLength = rows.reduce((max, row) => Math.max(max, row[0].length), 0);\n const terminalWidth = process.stdout.columns;\n\n const tableOptions: Table.TableConstructorOptions = {\n head: [\"Option\", \"Description\"],\n style: {\n head: [\"blue\"],\n },\n wordWrap: true,\n };\n\n if (terminalWidth) {\n // Accounting for borders and padding.\n const tableOverhead = 7;\n const optionColWidth = maxOptionLength + 2;\n const descriptionColWidth = terminalWidth - optionColWidth - tableOverhead;\n\n if (descriptionColWidth > 10) {\n tableOptions.colWidths = [optionColWidth, descriptionColWidth];\n }\n }\n\n const table = new Table(tableOptions);\n\n table.push(...rows);\n\n // eslint-disable-next-line no-console\n console.log(table.toString());\n};\n","/* eslint-disable no-param-reassign */\nimport { Command } from \"commander\";\nimport { z } from \"zod\";\nimport * as path from \"node:path\";\nimport * as fs from \"fs-extra\";\nimport { input, select, confirm } from \"@inquirer/prompts\";\n\nimport { handleError } from \"utils/handle-error\";\nimport { preFlightGenerate } from \"preflights/preflight-generate\";\nimport { OpenapiRequestGenerator } from \"codegen/openapi/generator\";\nimport { spinner } from \"utils/spinner\";\nimport { logger } from \"utils/logger\";\nimport { showHelp } from \"utils/show-help\";\n\nexport const generateOptionsSchema = z.object({\n template: z.enum([\"openapi\", \"swagger\"]).describe(\"API provider template to use\"),\n url: z.string().describe(\"The URL to generate the schema from\"),\n fileName: z.string().describe(\"The output file for the SDK.\"),\n cwd: z.string().describe(\"The working directory. defaults to the current directory.\"),\n overwrite: z.boolean().optional().describe(\"Overwrite existing files.\"),\n});\n\nexport const generate = new Command()\n .name(\"Generate\")\n .description(\"Generate SDK from a schema, url or service\")\n .option(\"-t, --template <template>\", \"API provider template to use\")\n .option(\"-u, --url <url>\", \"The URL to generate the schema from\")\n .option(\"-f, --fileName <fileName>\", \"The output file for the SDK.\")\n .option(\"-o, --overwrite\", \"overwrite existing files.\")\n .option(\"-c, --cwd <cwd>\", \"the working directory. defaults to the current directory.\", process.cwd())\n .option(\"-h, --help <help>\", \"display help for command\")\n .action(async (opts: z.infer<typeof generateOptionsSchema>) => {\n try {\n const help = process.argv.includes(\"--help\") || process.argv.includes(\"-h\");\n\n if (help) {\n return showHelp(generateOptionsSchema);\n }\n const { config } = await preFlightGenerate(opts);\n\n if (!opts.template) {\n opts.template = await select({\n message: \"What source we want to use?\",\n choices: [\n { name: \"OpenAPI (v3)\", value: \"openapi\" },\n { name: \"Swagger\", value: \"swagger\" },\n ],\n });\n }\n\n if (!opts.url) {\n opts.url = await input({\n message: \"Enter the URL to generate the schema from:\",\n validate: (value) => {\n const result = z.url(\"Please enter a valid URL.\").safeParse(value);\n if (result.success) return true;\n return result.error.message;\n },\n });\n }\n\n if (!opts.fileName) {\n opts.fileName = await input({\n message: \"Enter the file name for the SDK:\",\n default: `api-${opts.template}.sdk.ts`,\n });\n }\n\n const fileExists = fs.existsSync(path.join(opts.cwd, opts.fileName));\n if (opts.overwrite === undefined && fileExists) {\n opts.overwrite = await confirm({ message: \"Overwrite existing files?\" });\n }\n\n if (opts.overwrite === false && fileExists) {\n return logger.info(`File ${opts.fileName} already exists. Use --overwrite to overwrite.`);\n }\n\n const options = generateOptionsSchema.parse(opts);\n\n const componentSpinner = spinner(`Writing ${options.fileName}...`).start();\n switch (options.template) {\n case \"openapi\": {\n const openapiSchema = await OpenapiRequestGenerator.getSchemaFromUrl({ url: options.url!, config });\n const generator = new OpenapiRequestGenerator(openapiSchema);\n await generator.generateFile({ fileName: options.fileName, config });\n componentSpinner.succeed();\n return process.exit(0);\n }\n case \"swagger\": {\n const openapiSchema = await OpenapiRequestGenerator.getSchemaFromUrl({ url: options.url!, config });\n const generator = new OpenapiRequestGenerator(openapiSchema);\n await generator.generateFile({ fileName: options.fileName, config });\n componentSpinner.succeed();\n return process.exit(0);\n }\n default: {\n componentSpinner.fail();\n throw new Error(`Invalid template: ${options.template}`);\n }\n }\n } catch (err) {\n handleError(err);\n }\n });\n","import { Command } from \"commander\";\nimport { input, select } from \"@inquirer/prompts\";\nimport { z } from \"zod\";\nimport * as path from \"node:path\";\nimport * as fs from \"fs-extra\";\n\nimport { handleError } from \"utils/handle-error\";\nimport { spinner } from \"utils/spinner\";\nimport type { Config } from \"config/schema\";\nimport { configSchema } from \"config/schema\";\nimport { logger } from \"utils/logger\";\nimport { getTsConfigAliasPrefix } from \"config/get-ts-alias\";\nimport { showHelp } from \"utils/show-help\";\n\nconst initOptionsSchema = z.object({\n yes: z.boolean().optional().describe(\"skip confirmation prompt.\"),\n cwd: z.string().describe(\"the working directory. defaults to the current directory.\"),\n});\n\ntype Step = {\n name: string;\n action: (config: Partial<Config>) => Promise<Partial<Config> | void>;\n};\n\nexport const init = new Command()\n .name(\"Init\")\n .description(\"Initialize HyperFetch Client configuration.\")\n .option(\"-y, --yes\", \"skip confirmation prompt.\", false)\n .option(\"-c, --cwd <cwd>\", \"the working directory. defaults to the current directory.\", process.cwd())\n .option(\"-h, --help <help>\", \"display help for command\")\n .action(async (opts) => {\n try {\n const help = process.argv.includes(\"--help\") || process.argv.includes(\"-h\");\n\n if (help) {\n return showHelp(initOptionsSchema);\n }\n\n const { cwd, yes } = initOptionsSchema.parse(opts);\n\n let config: Partial<Config> = {};\n\n let mainPath: string;\n let apiDir: string;\n\n if (yes) {\n mainPath = \"src\";\n apiDir = \"api\";\n } else {\n // 1. ask for the path to the main directory\n mainPath = await select({\n message: \"Select the main directory for your project:\",\n choices: [\n { name: \"src\", value: \"src\" },\n { name: \"app\", value: \"app\" },\n { name: \"other\", value: \"other\" },\n ],\n });\n\n if (mainPath === \"other\") {\n mainPath = await input({\n message: \"Enter the path to the main directory:\",\n validate: (value) => {\n if (!value) return \"Path cannot be empty.\";\n return true;\n },\n });\n }\n\n // 2. text field - asking for the directory of api\n apiDir = await input({\n message: \"Enter the name of the API directory:\",\n default: \"api\",\n validate: (value) => {\n if (!value) return \"Directory name cannot be empty.\";\n return true;\n },\n });\n }\n\n const fullPath = path.join(cwd, mainPath, apiDir);\n const relativePath = path.join(mainPath, apiDir);\n const configPath = path.join(cwd, \"api.json\");\n\n const aliasPrefix = (await getTsConfigAliasPrefix(cwd)) || \"\";\n const alias = aliasPrefix ? `${aliasPrefix}/` : \"\";\n\n const defaultAliases: Config[\"aliases\"] = {\n api: `${alias}${apiDir}`,\n hooks: `${alias}hooks`,\n ui: `${alias}components/ui`,\n components: `${alias}components`,\n lib: `${alias}lib`,\n };\n\n const defaultConfig: Omit<Config, \"resolvedPaths\"> = {\n tsx: true,\n aliases: defaultAliases,\n };\n\n logger.break();\n\n const steps: Step[] = [\n {\n name: `Initialize API directory at ${relativePath}`,\n action: async () => {\n if (!fs.existsSync(fullPath)) {\n await fs.mkdir(fullPath, { recursive: true });\n }\n },\n },\n {\n name: \"Setup configuration\",\n action: async (currentConfig) => {\n if (fs.existsSync(configPath)) {\n const existingConfig = JSON.parse(fs.readFileSync(configPath, \"utf8\"));\n const { success, error, data } = configSchema.omit({ resolvedPaths: true }).safeParse({\n ...defaultConfig,\n ...existingConfig,\n aliases: {\n ...defaultConfig.aliases,\n ...existingConfig.aliases,\n },\n });\n\n if (error) {\n logger.break();\n logger.error(`Invalid configuration found in ${configPath}.`);\n handleError(error);\n logger.break();\n }\n\n if (success) {\n return data;\n }\n }\n return currentConfig;\n },\n },\n {\n name: \"Setup Aliases\",\n action: async (currentConfig) => {\n if (currentConfig.aliases) {\n return currentConfig;\n }\n\n return {\n ...currentConfig,\n aliases: defaultAliases,\n };\n },\n },\n {\n name: `Create api.json configuration file`,\n action: async (currentConfig) => {\n const finalConfig = {\n ...defaultConfig,\n ...currentConfig,\n aliases: {\n ...defaultConfig.aliases,\n ...currentConfig.aliases,\n },\n };\n\n configSchema.omit({ resolvedPaths: true }).parse(finalConfig);\n\n await fs.writeFile(configPath, JSON.stringify(finalConfig, null, 2));\n },\n },\n ];\n\n logger.break();\n logger.info(\"Starting HyperFetch CLI initialization...\");\n\n // eslint-disable-next-line no-restricted-syntax\n for (const step of steps) {\n const s = spinner(step.name).start();\n // eslint-disable-next-line no-await-in-loop\n const result = await step.action(config);\n if (result) {\n config = result;\n }\n s.succeed();\n }\n\n logger.break();\n logger.info(\"Configuration has been generated successfully! 🎉\");\n logger.info(`You can now find your configuration at ${configPath}`);\n } catch (err) {\n handleError(err);\n }\n });\n","#!/usr/bin/env node\nimport { Command } from \"commander\";\nimport { select } from \"@inquirer/prompts\";\n\nimport pkg from \"../../package.json\";\nimport { generate } from \"commands/generate\";\nimport { init } from \"commands/init\";\nimport { handleError } from \"utils/handle-error\";\n\nconst program = new Command();\n\nprogram.name(\"hyper-fetch\").description(\"CLI for Hyper Fetch\").version(pkg.version);\n\nconst commands = {\n init,\n // add,\n generate,\n};\n\nObject.values(commands).forEach((command) => {\n program.addCommand(command);\n});\n\nconst main = async () => {\n try {\n let chosenCommand: string | undefined;\n\n if (process.argv[2] && Object.keys(commands).includes(process.argv[2])) {\n const command = commands[process.argv[2] as keyof typeof commands]!;\n chosenCommand = command.name();\n }\n\n if (!chosenCommand) {\n chosenCommand = await select({\n message: \"What do you want to do?\",\n choices: program.commands.map((cmd) => ({\n name: cmd.name(),\n value: cmd.name(),\n description: cmd.description(),\n })),\n });\n await program.parseAsync([process.argv[0], process.argv[1], chosenCommand]);\n } else {\n await program.parseAsync([process.argv[0], process.argv[1], chosenCommand, ...process.argv.slice(3)]);\n }\n } catch (e) {\n handleError(e);\n if (e instanceof Error) {\n if (e.message.includes(\"User force closed the prompt\")) {\n process.exit(0);\n }\n }\n process.exit(1);\n }\n};\n\nmain();\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],"mappings":"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AK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,M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"}