workos 0.7.3 → 0.8.1

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 (151) hide show
  1. package/README.md +353 -8
  2. package/dist/bin.js +938 -128
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/api-key-mgmt.d.ts +16 -0
  5. package/dist/commands/api-key-mgmt.js +96 -0
  6. package/dist/commands/api-key-mgmt.js.map +1 -0
  7. package/dist/commands/audit-log.d.ts +26 -0
  8. package/dist/commands/audit-log.js +155 -0
  9. package/dist/commands/audit-log.js.map +1 -0
  10. package/dist/commands/config.d.ts +3 -0
  11. package/dist/commands/config.js +54 -0
  12. package/dist/commands/config.js.map +1 -0
  13. package/dist/commands/connection.d.ts +13 -0
  14. package/dist/commands/connection.js +94 -0
  15. package/dist/commands/connection.js.map +1 -0
  16. package/dist/commands/debug-sso.d.ts +1 -0
  17. package/dist/commands/debug-sso.js +78 -0
  18. package/dist/commands/debug-sso.js.map +1 -0
  19. package/dist/commands/debug-sync.d.ts +1 -0
  20. package/dist/commands/debug-sync.js +102 -0
  21. package/dist/commands/debug-sync.js.map +1 -0
  22. package/dist/commands/directory.d.ts +27 -0
  23. package/dist/commands/directory.js +174 -0
  24. package/dist/commands/directory.js.map +1 -0
  25. package/dist/commands/env.js +41 -28
  26. package/dist/commands/env.js.map +1 -1
  27. package/dist/commands/event.d.ts +9 -0
  28. package/dist/commands/event.js +43 -0
  29. package/dist/commands/event.js.map +1 -0
  30. package/dist/commands/feature-flag.d.ts +12 -0
  31. package/dist/commands/feature-flag.js +96 -0
  32. package/dist/commands/feature-flag.js.map +1 -0
  33. package/dist/commands/install-skill.js +3 -5
  34. package/dist/commands/install-skill.js.map +1 -1
  35. package/dist/commands/install.js +13 -20
  36. package/dist/commands/install.js.map +1 -1
  37. package/dist/commands/invitation.d.ts +19 -0
  38. package/dist/commands/invitation.js +94 -0
  39. package/dist/commands/invitation.js.map +1 -0
  40. package/dist/commands/membership.d.ts +20 -0
  41. package/dist/commands/membership.js +129 -0
  42. package/dist/commands/membership.js.map +1 -0
  43. package/dist/commands/onboard-user.d.ts +7 -0
  44. package/dist/commands/onboard-user.js +61 -0
  45. package/dist/commands/onboard-user.js.map +1 -0
  46. package/dist/commands/org-domain.d.ts +4 -0
  47. package/dist/commands/org-domain.js +45 -0
  48. package/dist/commands/org-domain.js.map +1 -0
  49. package/dist/commands/organization.d.ts +1 -5
  50. package/dist/commands/organization.js +34 -73
  51. package/dist/commands/organization.js.map +1 -1
  52. package/dist/commands/permission.d.ts +20 -0
  53. package/dist/commands/permission.js +93 -0
  54. package/dist/commands/permission.js.map +1 -0
  55. package/dist/commands/portal.d.ts +7 -0
  56. package/dist/commands/portal.js +26 -0
  57. package/dist/commands/portal.js.map +1 -0
  58. package/dist/commands/role.d.ts +17 -0
  59. package/dist/commands/role.js +122 -0
  60. package/dist/commands/role.js.map +1 -0
  61. package/dist/commands/seed.d.ts +4 -0
  62. package/dist/commands/seed.js +238 -0
  63. package/dist/commands/seed.js.map +1 -0
  64. package/dist/commands/session.d.ts +8 -0
  65. package/dist/commands/session.js +63 -0
  66. package/dist/commands/session.js.map +1 -0
  67. package/dist/commands/setup-org.d.ts +6 -0
  68. package/dist/commands/setup-org.js +99 -0
  69. package/dist/commands/setup-org.js.map +1 -0
  70. package/dist/commands/user.js +35 -71
  71. package/dist/commands/user.js.map +1 -1
  72. package/dist/commands/vault.d.ts +24 -0
  73. package/dist/commands/vault.js +120 -0
  74. package/dist/commands/vault.js.map +1 -0
  75. package/dist/commands/webhook.d.ts +3 -0
  76. package/dist/commands/webhook.js +73 -0
  77. package/dist/commands/webhook.js.map +1 -0
  78. package/dist/dashboard/components/DiffPanel.js.map +1 -1
  79. package/dist/dashboard/lib/logo-frames.js +1 -1
  80. package/dist/dashboard/lib/logo-frames.js.map +1 -1
  81. package/dist/doctor/checks/dashboard.js.map +1 -1
  82. package/dist/doctor/checks/environment.js.map +1 -1
  83. package/dist/integrations/go/index.js +1 -3
  84. package/dist/integrations/go/index.js.map +1 -1
  85. package/dist/lib/adapters/headless-adapter.d.ts +67 -0
  86. package/dist/lib/adapters/headless-adapter.js +263 -0
  87. package/dist/lib/adapters/headless-adapter.js.map +1 -0
  88. package/dist/lib/adapters/index.d.ts +1 -0
  89. package/dist/lib/adapters/index.js +1 -0
  90. package/dist/lib/adapters/index.js.map +1 -1
  91. package/dist/lib/agent-interface.d.ts +3 -11
  92. package/dist/lib/agent-interface.js +3 -19
  93. package/dist/lib/agent-interface.js.map +1 -1
  94. package/dist/lib/api-error-handler.d.ts +6 -0
  95. package/dist/lib/api-error-handler.js +58 -0
  96. package/dist/lib/api-error-handler.js.map +1 -0
  97. package/dist/lib/api-key.js +5 -1
  98. package/dist/lib/api-key.js.map +1 -1
  99. package/dist/lib/config.js.map +1 -1
  100. package/dist/lib/credential-proxy.js +0 -6
  101. package/dist/lib/credential-proxy.js.map +1 -1
  102. package/dist/lib/device-auth.js +1 -1
  103. package/dist/lib/device-auth.js.map +1 -1
  104. package/dist/lib/ensure-auth.js +25 -4
  105. package/dist/lib/ensure-auth.js.map +1 -1
  106. package/dist/lib/installer-core.d.ts +12 -12
  107. package/dist/lib/run-with-core.js +25 -4
  108. package/dist/lib/run-with-core.js.map +1 -1
  109. package/dist/lib/validation/validator.js +0 -1
  110. package/dist/lib/validation/validator.js.map +1 -1
  111. package/dist/lib/workos-client.d.ts +58 -0
  112. package/dist/lib/workos-client.js +137 -0
  113. package/dist/lib/workos-client.js.map +1 -0
  114. package/dist/run.d.ts +7 -0
  115. package/dist/run.js +5 -2
  116. package/dist/run.js.map +1 -1
  117. package/dist/smoke-test.ts +881 -0
  118. package/dist/steps/run-prettier.js +1 -1
  119. package/dist/steps/run-prettier.js.map +1 -1
  120. package/dist/utils/analytics.d.ts +1 -1
  121. package/dist/utils/analytics.js.map +1 -1
  122. package/dist/utils/clack-utils.js +1 -1
  123. package/dist/utils/clack-utils.js.map +1 -1
  124. package/dist/utils/environment.js +8 -0
  125. package/dist/utils/environment.js.map +1 -1
  126. package/dist/utils/exit-codes.d.ts +22 -0
  127. package/dist/utils/exit-codes.js +30 -0
  128. package/dist/utils/exit-codes.js.map +1 -0
  129. package/dist/utils/help-json.d.ts +45 -0
  130. package/dist/utils/help-json.js +1161 -0
  131. package/dist/utils/help-json.js.map +1 -0
  132. package/dist/utils/ndjson.d.ts +16 -0
  133. package/dist/utils/ndjson.js +18 -0
  134. package/dist/utils/ndjson.js.map +1 -0
  135. package/dist/utils/output.d.ts +40 -0
  136. package/dist/utils/output.js +95 -0
  137. package/dist/utils/output.js.map +1 -0
  138. package/dist/utils/package-manager.js +2 -3
  139. package/dist/utils/package-manager.js.map +1 -1
  140. package/dist/utils/paths.d.ts +5 -0
  141. package/dist/utils/paths.js +18 -0
  142. package/dist/utils/paths.js.map +1 -0
  143. package/dist/utils/register-subcommand.d.ts +7 -0
  144. package/dist/utils/register-subcommand.js +36 -0
  145. package/dist/utils/register-subcommand.js.map +1 -0
  146. package/dist/utils/telemetry-types.d.ts +1 -1
  147. package/dist/utils/telemetry-types.js.map +1 -1
  148. package/dist/utils/types.d.ts +12 -0
  149. package/dist/utils/types.js.map +1 -1
  150. package/package.json +20 -16
  151. package/skills/workos-management/SKILL.md +250 -0
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n\n// Load .env.local for local development when --local flag is used\nif (process.argv.includes('--local') || process.env.INSTALLER_DEV) {\n const { config } = await import('dotenv');\n // bin.ts compiles to dist/bin.js, so go up one level to find .env.local\n config({ path: new URL('../.env.local', import.meta.url).pathname });\n}\n\nimport { satisfies } from 'semver';\nimport { red } from './utils/logging.js';\nimport { getConfig, getVersion } from './lib/settings.js';\n\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport chalk from 'chalk';\nimport { ensureAuthenticated } from './lib/ensure-auth.js';\nimport { checkForUpdates } from './lib/version-check.js';\n\nconst NODE_VERSION_RANGE = getConfig().nodeVersion;\n\n// Have to run this above the other imports because they are importing clack that\n// has the problematic imports.\nif (!satisfies(process.version, NODE_VERSION_RANGE)) {\n red(\n `WorkOS AuthKit installer requires Node.js ${NODE_VERSION_RANGE}. You are using Node.js ${process.version}. Please upgrade your Node.js version.`,\n );\n process.exit(1);\n}\n\nimport { isNonInteractiveEnvironment } from './utils/environment.js';\nimport clack from './utils/clack.js';\n\n/** Apply insecure storage flag if set */\nasync function applyInsecureStorage(insecureStorage?: boolean): Promise<void> {\n if (insecureStorage) {\n const { setInsecureStorage } = await import('./lib/credentials.js');\n const { setInsecureConfigStorage } = await import('./lib/config-store.js');\n setInsecureStorage(true);\n setInsecureConfigStorage(true);\n }\n}\n\n/** Shared insecure-storage option for commands that access credentials */\nconst insecureStorageOption = {\n 'insecure-storage': {\n default: false,\n describe: 'Store credentials in plaintext file instead of system keyring',\n type: 'boolean' as const,\n },\n} as const;\n\n/**\n * Wrap a command handler with authentication check.\n * Ensures valid auth before executing the handler.\n * Respects --skip-auth flag for CI/testing.\n */\nfunction withAuth<T>(handler: (argv: T) => Promise<void>): (argv: T) => Promise<void> {\n return async (argv: T) => {\n const typedArgv = argv as { skipAuth?: boolean; insecureStorage?: boolean };\n await applyInsecureStorage(typedArgv.insecureStorage);\n if (!typedArgv.skipAuth) await ensureAuthenticated();\n await handler(argv);\n };\n}\n\nconst installerOptions = {\n direct: {\n alias: 'D',\n default: false,\n describe: 'Use your own Anthropic API key (bypass llm-gateway)',\n type: 'boolean' as const,\n },\n debug: {\n default: false,\n describe: 'Enable verbose logging',\n type: 'boolean' as const,\n },\n ...insecureStorageOption,\n // Hidden dev/automation flags (use env vars)\n local: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n ci: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n 'skip-auth': {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n 'api-key': {\n type: 'string' as const,\n hidden: true,\n },\n 'client-id': {\n type: 'string' as const,\n hidden: true,\n },\n inspect: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n // User-facing flags\n 'homepage-url': {\n describe: 'App homepage URL for WorkOS (defaults to http://localhost:{port})',\n type: 'string' as const,\n },\n 'redirect-uri': {\n describe: 'Redirect URI for WorkOS callback (defaults to framework convention)',\n type: 'string' as const,\n },\n 'no-validate': {\n default: false,\n describe: 'Skip post-installation validation (includes build check)',\n type: 'boolean' as const,\n },\n 'install-dir': {\n describe: 'Directory to install WorkOS AuthKit in',\n type: 'string' as const,\n },\n integration: {\n describe: 'Integration to set up',\n type: 'string' as const,\n },\n 'force-install': {\n default: false,\n describe: 'Force install packages even if peer dependency checks fail',\n type: 'boolean' as const,\n },\n dashboard: {\n alias: 'd',\n default: false,\n describe: 'Run with visual dashboard mode',\n type: 'boolean' as const,\n },\n};\n\n// Check for updates (blocks up to 500ms)\nawait checkForUpdates();\n\nyargs(hideBin(process.argv))\n .env('WORKOS_INSTALLER')\n .command('login', 'Authenticate with WorkOS', insecureStorageOption, async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runLogin } = await import('./commands/login.js');\n await runLogin();\n process.exit(0);\n })\n .command('logout', 'Remove stored credentials', insecureStorageOption, async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runLogout } = await import('./commands/logout.js');\n await runLogout();\n })\n .command(\n 'install-skill',\n 'Install bundled AuthKit skills to coding agents',\n (yargs) => {\n return yargs\n .option('list', {\n alias: 'l',\n type: 'boolean',\n description: 'List available skills without installing',\n })\n .option('skill', {\n alias: 's',\n type: 'array',\n string: true,\n description: 'Install specific skill(s)',\n })\n .option('agent', {\n alias: 'a',\n type: 'array',\n string: true,\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n });\n },\n withAuth(async (argv) => {\n const { runInstallSkill } = await import('./commands/install-skill.js');\n await runInstallSkill({\n list: argv.list as boolean | undefined,\n skill: argv.skill as string[] | undefined,\n agent: argv.agent as string[] | undefined,\n });\n }),\n )\n .command(\n 'doctor',\n 'Diagnose WorkOS integration issues',\n (yargs) =>\n yargs.options({\n verbose: {\n type: 'boolean',\n default: false,\n description: 'Include additional diagnostic information',\n },\n 'skip-api': {\n type: 'boolean',\n default: false,\n description: 'Skip API calls (offline mode)',\n },\n 'skip-ai': {\n type: 'boolean',\n default: false,\n description: 'Skip AI-powered analysis',\n },\n 'install-dir': {\n type: 'string',\n default: process.cwd(),\n description: 'Project directory to analyze',\n },\n json: {\n type: 'boolean',\n default: false,\n description: 'Output report as JSON',\n },\n copy: {\n type: 'boolean',\n default: false,\n description: 'Copy report to clipboard',\n },\n }),\n async (argv) => {\n const { handleDoctor } = await import('./commands/doctor.js');\n await handleDoctor(argv);\n },\n )\n .command('env', 'Manage environment configurations', (yargs) =>\n yargs\n .options(insecureStorageOption)\n .command(\n 'add [name] [apiKey]',\n 'Add an environment configuration',\n (yargs) =>\n yargs\n .positional('name', { type: 'string', describe: 'Environment name' })\n .positional('apiKey', { type: 'string', describe: 'WorkOS API key' })\n .option('client-id', { type: 'string', describe: 'WorkOS client ID' })\n .option('endpoint', { type: 'string', describe: 'Custom API endpoint' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvAdd } = await import('./commands/env.js');\n await runEnvAdd({\n name: argv.name,\n apiKey: argv.apiKey,\n clientId: argv.clientId,\n endpoint: argv.endpoint,\n });\n },\n )\n .command(\n 'remove <name>',\n 'Remove an environment configuration',\n (yargs) => yargs.positional('name', { type: 'string', demandOption: true, describe: 'Environment name' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvRemove } = await import('./commands/env.js');\n await runEnvRemove(argv.name);\n },\n )\n .command(\n 'switch [name]',\n 'Switch active environment',\n (yargs) => yargs.positional('name', { type: 'string', describe: 'Environment name' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvSwitch } = await import('./commands/env.js');\n await runEnvSwitch(argv.name);\n },\n )\n .command(\n 'list',\n 'List configured environments',\n (yargs) => yargs,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvList } = await import('./commands/env.js');\n await runEnvList();\n },\n )\n .demandCommand(1, 'Please specify an env subcommand')\n .strict(),\n )\n .command('organization', 'Manage organizations', (yargs) =>\n yargs\n .options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key (overrides environment config)' },\n })\n .command(\n 'create <name> [domains..]',\n 'Create a new organization',\n (yargs) =>\n yargs\n .positional('name', { type: 'string', demandOption: true, describe: 'Organization name' })\n .positional('domains', { type: 'string', array: true, describe: 'Domains as domain:state' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgCreate } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgCreate(argv.name, (argv.domains as string[]) || [], apiKey, resolveApiBaseUrl());\n },\n )\n .command(\n 'update <orgId> <name> [domain] [state]',\n 'Update an organization',\n (yargs) =>\n yargs\n .positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' })\n .positional('name', { type: 'string', demandOption: true, describe: 'Organization name' })\n .positional('domain', { type: 'string', describe: 'Domain' })\n .positional('state', { type: 'string', describe: 'Domain state (verified or pending)' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgUpdate } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgUpdate(argv.orgId, argv.name, apiKey, argv.domain, argv.state, resolveApiBaseUrl());\n },\n )\n .command(\n 'get <orgId>',\n 'Get an organization by ID',\n (yargs) => yargs.positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgGet } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgGet(argv.orgId, apiKey, resolveApiBaseUrl());\n },\n )\n .command(\n 'list',\n 'List organizations',\n (yargs) =>\n yargs.options({\n domain: { type: 'string', describe: 'Filter by domain' },\n limit: { type: 'number', describe: 'Limit number of results' },\n before: { type: 'string', describe: 'Cursor for results before a specific item' },\n after: { type: 'string', describe: 'Cursor for results after a specific item' },\n order: { type: 'string', describe: 'Order of results (asc or desc)' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgList } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgList(\n { domain: argv.domain, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n apiKey,\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'delete <orgId>',\n 'Delete an organization',\n (yargs) => yargs.positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDelete } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgDelete(argv.orgId, apiKey, resolveApiBaseUrl());\n },\n )\n .demandCommand(1, 'Please specify an organization subcommand')\n .strict(),\n )\n .command('user', 'Manage users', (yargs) =>\n yargs\n .options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key (overrides environment config)' },\n })\n .command(\n 'get <userId>',\n 'Get a user by ID',\n (yargs) => yargs.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserGet } = await import('./commands/user.js');\n await runUserGet(argv.userId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n )\n .command(\n 'list',\n 'List users',\n (yargs) =>\n yargs.options({\n email: { type: 'string', describe: 'Filter by email' },\n organization: { type: 'string', describe: 'Filter by organization ID' },\n limit: { type: 'number', describe: 'Limit number of results' },\n before: { type: 'string', describe: 'Cursor for results before a specific item' },\n after: { type: 'string', describe: 'Cursor for results after a specific item' },\n order: { type: 'string', describe: 'Order of results (asc or desc)' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserList } = await import('./commands/user.js');\n await runUserList(\n {\n email: argv.email,\n organization: argv.organization,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'update <userId>',\n 'Update a user',\n (yargs) =>\n yargs.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }).options({\n 'first-name': { type: 'string', describe: 'First name' },\n 'last-name': { type: 'string', describe: 'Last name' },\n 'email-verified': { type: 'boolean', describe: 'Email verification status' },\n password: { type: 'string', describe: 'New password' },\n 'external-id': { type: 'string', describe: 'External ID' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserUpdate } = await import('./commands/user.js');\n await runUserUpdate(\n argv.userId,\n resolveApiKey({ apiKey: argv.apiKey }),\n {\n firstName: argv.firstName,\n lastName: argv.lastName,\n emailVerified: argv.emailVerified,\n password: argv.password,\n externalId: argv.externalId,\n },\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'delete <userId>',\n 'Delete a user',\n (yargs) => yargs.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserDelete } = await import('./commands/user.js');\n await runUserDelete(argv.userId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n )\n .demandCommand(1, 'Please specify a user subcommand')\n .strict(),\n )\n .command(\n 'install',\n 'Install WorkOS AuthKit into your project',\n (yargs) => yargs.options(installerOptions),\n withAuth(async (argv) => {\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall(argv);\n }),\n )\n .command(\n 'dashboard',\n false, // hidden from help\n (yargs) => yargs.options(installerOptions),\n withAuth(async (argv) => {\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall({ ...argv, dashboard: true });\n }),\n )\n .command(\n ['$0'],\n 'WorkOS AuthKit CLI',\n (yargs) => yargs.options(insecureStorageOption),\n async (argv) => {\n // Non-TTY: show help\n if (isNonInteractiveEnvironment()) {\n yargs(hideBin(process.argv)).showHelp();\n return;\n }\n\n // TTY: ask if user wants to run installer\n const shouldInstall = await clack.confirm({\n message: 'Run the AuthKit installer?',\n });\n\n if (clack.isCancel(shouldInstall) || !shouldInstall) {\n process.exit(0);\n }\n\n // Auth check happens HERE, after user confirms\n await applyInsecureStorage(argv.insecureStorage);\n await ensureAuthenticated();\n\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall({ ...argv, dashboard: false });\n process.exit(0);\n },\n )\n .strict()\n .help()\n .alias('help', 'h')\n .version(getVersion())\n .alias('version', 'v')\n .wrap(process.stdout.isTTY && process.stdout.columns ? process.stdout.columns : 80).argv;\n"]}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,kEAAkE;AAClE,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAClE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,wEAAwE;IACxE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,kBAAkB,GAAG,SAAS,EAAE,CAAC,WAAW,CAAC;AAEnD,iFAAiF;AACjF,+BAA+B;AAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC;IACpD,GAAG,CACD,6CAA6C,kBAAkB,2BAA2B,OAAO,CAAC,OAAO,wCAAwC,CAClJ,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,gEAAgE;AAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;AAE9C,sEAAsE;AACtE,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAClE,MAAM,cAAc,GAA2B,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,yCAAyC;AACzC,KAAK,UAAU,oBAAoB,CAAC,eAAyB;IAC3D,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC3E,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,qBAAqB,GAAG;IAC5B,kBAAkB,EAAE;QAClB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,+DAA+D;QACzE,IAAI,EAAE,SAAkB;KACzB;CACO,CAAC;AAEX;;;;GAIG;AACH,SAAS,QAAQ,CAAI,OAAmC;IACtD,OAAO,KAAK,EAAE,IAAO,EAAE,EAAE;QACvB,MAAM,SAAS,GAAG,IAAyD,CAAC;QAC5E,MAAM,oBAAoB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,QAAQ;YAAE,MAAM,mBAAmB,EAAE,CAAC;QACrD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE;QACN,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,qDAAqD;QAC/D,IAAI,EAAE,SAAkB;KACzB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,wBAAwB;QAClC,IAAI,EAAE,SAAkB;KACzB;IACD,GAAG,qBAAqB;IACxB,6CAA6C;IAC7C,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,SAAkB;QACxB,MAAM,EAAE,IAAI;KACb;IACD,EAAE,EAAE;QACF,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,SAAkB;QACxB,MAAM,EAAE,IAAI;KACb;IACD,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,SAAkB;QACxB,MAAM,EAAE,IAAI;KACb;IACD,SAAS,EAAE;QACT,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,mDAAmD;KAC9D;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,qDAAqD;KAChE;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,SAAkB;QACxB,MAAM,EAAE,IAAI;KACb;IACD,oBAAoB;IACpB,cAAc,EAAE;QACd,QAAQ,EAAE,mEAAmE;QAC7E,IAAI,EAAE,QAAiB;KACxB;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,qEAAqE;QAC/E,IAAI,EAAE,QAAiB;KACxB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,8DAA8D;QACxE,IAAI,EAAE,SAAkB;KACzB;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,wCAAwC;QAClD,IAAI,EAAE,QAAiB;KACxB;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,uBAAuB;QACjC,IAAI,EAAE,QAAiB;KACxB;IACD,eAAe,EAAE;QACf,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,4DAA4D;QACtE,IAAI,EAAE,SAAkB;KACzB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,gCAAgC;QAC1C,IAAI,EAAE,SAAkB;KACzB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,2DAA2D;QACrE,IAAI,EAAE,SAAkB;KACzB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,0DAA0D;QACpE,IAAI,EAAE,SAAkB;KACzB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,6CAA6C;QACvD,IAAI,EAAE,SAAkB;KACzB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,2DAA2D;QACrE,IAAI,EAAE,SAAkB;KACzB;CACF,CAAC;AAEF,yCAAyC;AACzC,MAAM,eAAe,EAAE,CAAC;AAExB,KAAK,CAAC,OAAO,CAAC;KACX,GAAG,CAAC,kBAAkB,CAAC;KACvB,MAAM,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,kDAAkD;IAC5D,MAAM,EAAE,IAAI;CACb,CAAC;KACD,OAAO,CAAC,OAAO,EAAE,kDAAkD,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAC1G,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACzD,MAAM,QAAQ,EAAE,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,OAAO,CAAC,QAAQ,EAAE,6CAA6C,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IACtG,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC3D,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC,CAAC;KACD,OAAO,CACN,eAAe,EACf,qFAAqF,EACrF,CAAC,KAAK,EAAE,EAAE;IACR,OAAO,KAAK;SACT,MAAM,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,0CAA0C;KACxD,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,2BAA2B;KACzC,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,6DAA6D;KAC3E,CAAC,CAAC;AACP,CAAC,EACD,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACxE,MAAM,eAAe,CAAC;QACpB,IAAI,EAAE,IAAI,CAAC,IAA2B;QACtC,KAAK,EAAE,IAAI,CAAC,KAA6B;QACzC,KAAK,EAAE,IAAI,CAAC,KAA6B;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC,CACH;KACA,OAAO,CACN,QAAQ,EACR,mEAAmE,EACnE,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC;IACZ,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,2CAA2C;KACzD;IACD,UAAU,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,+BAA+B;KAC7C;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,0BAA0B;KACxC;IACD,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;QACtB,WAAW,EAAE,8BAA8B;KAC5C;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,uBAAuB;KACrC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,0BAA0B;KACxC;CACF,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC9D,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CACF;IACD,sEAAsE;KACrE,OAAO,CAAC,KAAK,EAAE,6EAA6E,EAAE,CAAC,KAAK,EAAE,EAAE;IACvG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrC,kBAAkB,CAChB,KAAK,EACL,qBAAqB,EACrB,kCAAkC,EAClC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;SACpE,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;SACpE,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;SACrE,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,EAC5E,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACxD,MAAM,SAAS,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,qCAAqC,EACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,EACjG,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC3D,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,2BAA2B,EAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,EAC7E,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,2BAA2B,EAAE,EAAE,CAAC;YAChD,aAAa,CAAC;gBACZ,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,4DAA4D;aACtE,CAAC,CAAC;QACL,CAAC;QACD,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC3D,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,8BAA8B,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7E,CAAC,CAAC;KACD,OAAO,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,iEAAiE,EAAE,CAAC,KAAK,EAAE,EAAE;IAC7G,KAAK,CAAC,OAAO,CAAC;QACZ,GAAG,qBAAqB;QACxB,SAAS,EAAE;YACT,IAAI,EAAE,QAAiB;YACvB,QAAQ,EAAE,+EAA+E;SAC1F;KACF,CAAC,CAAC;IACH,kBAAkB,CAChB,KAAK,EACL,2BAA2B,EAC3B,0DAA0D,EAC1D,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;SACzF,UAAU,CAAC,SAAS,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,6DAA6D;KACxE,CAAC,EACN,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,EAAG,IAAI,CAAC,OAAoB,IAAI,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,wCAAwC,EACxC,wBAAwB,EACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;SACxF,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;SACzF,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAC5D,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,oCAAoC,EAAE,CAAC,EAC5F,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,2BAA2B,EAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EACjG,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3D,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE;QACxD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,yBAAyB,EAAE;QAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,2CAA2C,EAAE;QACjF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,0CAA0C,EAAE;QAC/E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,gCAAgC,EAAE;KACtE,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,UAAU,CACd,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACrG,MAAM,EACN,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,gBAAgB,EAChB,wBAAwB,EACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EACjG,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9D,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,2CAA2C,CAAC,CAAC,MAAM,EAAE,CAAC;AACtF,CAAC,CAAC;KACD,OAAO,CAAC,MAAM,EAAE,iDAAiD,EAAE,CAAC,KAAK,EAAE,EAAE;IAC5E,KAAK,CAAC,OAAO,CAAC;QACZ,GAAG,qBAAqB;QACxB,SAAS,EAAE;YACT,IAAI,EAAE,QAAiB;YACvB,QAAQ,EAAE,+EAA+E;SAC1F;KACF,CAAC,CAAC;IACH,kBAAkB,CAChB,KAAK,EACL,cAAc,EACd,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAC1F,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1D,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC7F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE;QACtD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,2BAA2B,EAAE;QACvE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,yBAAyB,EAAE;QAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,2CAA2C,EAAE;QACjF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,0CAA0C,EAAE;QAC/E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,gCAAgC,EAAE;KACtE,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC3D,MAAM,WAAW,CACf;YACE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,EACD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC;QAC1F,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE;QACxD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE;QACtD,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,2BAA2B,EAAE;QAC5E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE;QACtD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE;KAC3D,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,aAAa,CACjB,IAAI,CAAC,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,EACD,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAC1F,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAChG,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7E,CAAC,CAAC;IACF,uCAAuC;KACtC,OAAO,CAAC,MAAM,EAAE,2DAA2D,EAAE,CAAC,KAAK,EAAE,EAAE;IACtF,KAAK,CAAC,OAAO,CAAC;QACZ,GAAG,qBAAqB;QACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;QAClE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,wCAAwC,EAAE;KACrF,CAAC,CAAC;IACH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC3D,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1D,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACrG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE;QACnE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE;QACnE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE;KAC9D,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,aAAa,CACjB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EACnE,IAAI,CAAC,GAAG,EACR,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,eAAe,EACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC1D,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAC3E,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,aAAa,CACjB,IAAI,CAAC,IAAI,EACT,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAClD,IAAI,CAAC,GAAG,EACR,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,4CAA4C,EAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EACvF,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,wBAAwB,EACxB,mDAAmD,EACnD,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE;QACjF,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,kCAAkC;KAC7C,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrE,MAAM,qBAAqB,CACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAC3B,IAAI,CAAC,GAAG,EACR,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,wCAAwC,EACxC,4BAA4B,EAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC1D,UAAU,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACzE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,oBAAoB,CACxB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,GAAG,EACR,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,2CAA2C,EAC3C,uDAAuD,EACvD,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC1D,UAAU,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACpE,YAAY,CAAC,KAAK,CAAC,EACxB,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvE,MAAM,uBAAuB,CAC3B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,GAAI,EACT,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7E,CAAC,CAAC;KACD,OAAO,CAAC,YAAY,EAAE,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE;IAC5D,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACvE,MAAM,iBAAiB,CACrB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAChF,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACtE,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,QAAQ,EACR,qBAAqB,EACrB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChC,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CACvB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EACnE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,qBAAqB,EACrB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC1D,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAC3E,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CACvB,IAAI,CAAC,IAAI,EACT,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAClD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,qBAAqB,EACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACpG,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC;AACnF,CAAC,CAAC;KACD,OAAO,CAAC,YAAY,EAAE,iCAAiC,EAAE,CAAC,KAAK,EAAE,EAAE;IAClE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACvE,MAAM,iBAAiB,CACrB;YACE,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,EACD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,UAAU,EACV,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACtE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,QAAQ,EACR,qBAAqB,EACrB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CACvB,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACnD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,qBAAqB,EACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EACpG,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC7G,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,qBAAqB,EACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,iBAAiB,EACjB,yBAAyB,EACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC7E,MAAM,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACtG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,iBAAiB,EACjB,yBAAyB,EACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC7E,MAAM,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACtG,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC;AACnF,CAAC,CAAC;KACD,OAAO,CAAC,YAAY,EAAE,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE;IAC1D,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACvE,MAAM,iBAAiB,CACrB;YACE,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,EACD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,UAAU,EACV,mBAAmB,EACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACtE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC7C,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACtC,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACvE,MAAM,iBAAiB,CACrB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EACxF,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,sBAAsB,EACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,sBAAsB,EACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClG,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,yCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC;AACpF,CAAC,CAAC;KACD,OAAO,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE;IACpD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,0BAA0B,EAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;QACrE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,cAAc,CAClB,IAAI,CAAC,MAAM,EACX,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAChF,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,oBAAoB,EACpB,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACxE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACnE,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACtG,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAC,MAAM,EAAE,CAAC;AAChF,CAAC,CAAC;KACD,OAAO,CAAC,YAAY,EAAE,sCAAsC,EAAE,CAAC,KAAK,EAAE,EAAE;IACvE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE;QACrD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,2BAA2B,EAAE;QAC/D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACvE,MAAM,iBAAiB,CACrB;YACE,cAAc,EAAE,IAAI,CAAC,GAAG;YACxB,cAAc,EAAE,IAAI,CAAC,IAAI;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,EACD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,UAAU,EACV,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACtE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,qBAAqB,EACrB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EACjH,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,mBAAmB,CACvB,IAAI,CAAC,EAAE,EACP,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACrB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC;AACnF,CAAC,CAAC;KACD,OAAO,CAAC,WAAW,EAAE,wDAAwD,EAAE,CAAC,KAAK,EAAE,EAAE;IACxF,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACrE,MAAM,gBAAgB,CACpB,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAC1G,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACpE,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EACjH,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACvE,MAAM,kBAAkB,CACtB,IAAI,CAAC,EAAE,EACP,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACrB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,YAAY,EACZ,sBAAsB,EACtB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC1E,MAAM,qBAAqB,CACzB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAC3G,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QACjD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC3E,MAAM,sBAAsB,CAC1B,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACxF,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC;AAClF,CAAC,CAAC;KACD,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;IACjD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,6BAA6B,EAAE;QACvF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC7D,MAAM,YAAY,CAChB;YACE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,GAAG;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,EACD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,oCAAoC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC/E,CAAC,CAAC;KACD,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACnD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;QACpE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC3E,MAAM,sBAAsB,CAC1B,IAAI,CAAC,KAAK,EACV;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,EACD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,QAAQ,EACR,mBAAmB,EACnB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC3C,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QACrD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QACnD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACtE,MAAM,iBAAiB,CACrB;YACE,cAAc,EAAE,IAAI,CAAC,GAAG;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC;SAClC,EACD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,cAAc,EACd,kCAAkC,EAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC3E,MAAM,sBAAsB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC5F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,qBAAqB,EACrB,oCAAoC,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACrE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACzE,MAAM,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACvG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC5D,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAC3D,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC5E,MAAM,uBAAuB,CAC3B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,uBAAuB,EACvB,gCAAgC,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACpE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC5E,MAAM,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzG,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC;AACnF,CAAC,CAAC;KACD,OAAO,CAAC,cAAc,EAAE,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE;IACzD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC1E,MAAM,kBAAkB,CACtB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAChF,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACzE,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,uBAAuB,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC5E,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACrG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,gBAAgB,EAChB,wBAAwB,EACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC7E,MAAM,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACtG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC1D,UAAU,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC/E,MAAM,uBAAuB,CAC3B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EACb,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,iCAAiC,EACjC,qCAAqC,EACrC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC1D,UAAU,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAClF,MAAM,0BAA0B,CAC9B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EACb,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,0CAA0C,CAAC,CAAC,MAAM,EAAE,CAAC;AACrF,CAAC,CAAC;KACD,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;IAC/C,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,eAAe,EACf,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACpF,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,QAAQ,EACR,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,6BAA6B,EAAE;KACxF,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACnE,MAAM,gBAAgB,CACpB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EACtB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACnE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAC,MAAM,EAAE,CAAC;AAChF,CAAC,CAAC;KACD,OAAO,CAAC,QAAQ,EAAE,6DAA6D,EAAE,CAAC,KAAK,EAAE,EAAE;IAC1F,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1D,kBAAkB,CAChB,KAAK,EACL,WAAW,EACX,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAClE,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACtE,MAAM,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpG,CAAC,CACF,CAAC;QACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;QACrD,kBAAkB,CAChB,KAAK,EACL,cAAc,EACd,mBAAmB,EACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACrE,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACnG,CAAC,CACF,CAAC;QACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC7D,kBAAkB,CAChB,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAClE,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACzE,MAAM,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACvG,CAAC,CACF,CAAC;QACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,oCAAoC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC/E,CAAC,CAAC;KACD,OAAO,CAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;IAClD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,+BAA+B,EAC/B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,qDAAqD;SAChE;QACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE;QACxE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,MAAM,qBAAqB,CACzB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EACvG,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,oCAAoC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC/E,CAAC,CAAC;KACD,OAAO,CAAC,OAAO,EAAE,6BAA6B,EAAE,CAAC,KAAK,EAAE,EAAE;IACzD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC7D,MAAM,YAAY,CAChB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAChF,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACnE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAClE,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,QAAQ,EACR,uBAAuB,EACvB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC7C,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACxB,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC/D,MAAM,cAAc,CAClB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EACrD,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACxD,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EACpG,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC/D,MAAM,cAAc,CAClB,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EACnE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC/D,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC7F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,eAAe,EACf,yBAAyB,EACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACjE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACrE,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACnG,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9E,CAAC,CAAC;KACD,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;IAC/C,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,MAAM,EACN,eAAe,EACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC3C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACrE,MAAM,aAAa,CACjB,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAC1G,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,QAAQ,EACR,mBAAmB,EACnB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC;QACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,6BAA6B,EAAE;KACzE,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,eAAe,CACnB,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EACxF,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,kBAAkB,EAClB,qBAAqB,EACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACpE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACzE,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACnG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9F,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,sCAAsC,CAAC,CAAC,MAAM,EAAE,CAAC;AACjF,CAAC,CAAC;KACD,OAAO,CAAC,YAAY,EAAE,6BAA6B,EAAE,CAAC,KAAK,EAAE,EAAE;IAC9D,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAChH,kBAAkB,CAChB,KAAK,EACL,UAAU,EACV,cAAc,EACd,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACrE,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9F,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAC1D,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACxE,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/G,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACxE,MAAM,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjG,CAAC,CACF,CAAC;IACF,kBAAkB,CAChB,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACjE,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACxE,MAAM,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjG,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,yCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC;AACpF,CAAC,CAAC;IACF,4BAA4B;KAC3B,OAAO,CACN,MAAM,EACN,iDAAiD,EACjD,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC;IACZ,GAAG,qBAAqB;IACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAClE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,EAAE;IAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,4BAA4B,EAAE;CACnF,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC9E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvD,MAAM,OAAO,CACX,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACtC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;AACJ,CAAC,CACF;KACA,OAAO,CACN,kBAAkB,EAClB,2EAA2E,EAC3E,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC;IACtG,GAAG,qBAAqB;IACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAClE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,0BAA0B,EAAE;IAChE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,sCAAsC,EAAE;CAC5E,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC9E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAChE,MAAM,WAAW,CACf,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EACvE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;AACJ,CAAC,CACF;KACA,OAAO,CACN,sBAAsB,EACtB,+CAA+C,EAC/C,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IACxE,GAAG,qBAAqB;IACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IAClE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE;IACxE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,EAAE;IACzD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,gCAAgC,EAAE;CACtF,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACtE,MAAM,cAAc,CAClB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACtE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACtC,iBAAiB,EAAE,CACpB,CAAC;AACJ,CAAC,CACF;KACA,OAAO,CACN,0BAA0B,EAC1B,gCAAgC,EAChC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAC/E,GAAG,qBAAqB;IACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;CACnE,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC9E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAChE,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACpG,CAAC,CACF;KACA,OAAO,CACN,0BAA0B,EAC1B,gCAAgC,EAChC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAC9E,GAAG,qBAAqB;IACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;CACnE,CAAC,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC9E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAClE,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACpG,CAAC,CACF;KACA,OAAO,CACN,SAAS,EACT,sFAAsF,EACtF,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAC1C,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAChE,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC,CACH;KACA,OAAO,CACN,WAAW,EACX,KAAK,EAAE,mBAAmB;AAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAC1C,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAChE,MAAM,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC,CACH;KACA,OAAO,CACN,CAAC,IAAI,CAAC,EACN,oBAAoB,EACpB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAC/C,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,qBAAqB;IACrB,IAAI,2BAA2B,EAAE,EAAE,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,0CAA0C;IAC1C,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;QACxC,OAAO,EAAE,4BAA4B;KACtC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,+CAA+C;IAC/C,MAAM,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,mBAAmB,EAAE,CAAC;IAE5B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAChE,MAAM,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CACF;KACA,MAAM,EAAE;KACR,IAAI,EAAE;KACN,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;KAClB,OAAO,CAAC,UAAU,EAAE,CAAC;KACrB,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;KACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC","sourcesContent":["#!/usr/bin/env node\n\n// Load .env.local for local development when --local flag is used\nif (process.argv.includes('--local') || process.env.INSTALLER_DEV) {\n const { config } = await import('dotenv');\n // bin.ts compiles to dist/bin.js, so go up one level to find .env.local\n config({ path: new URL('../.env.local', import.meta.url).pathname });\n}\n\nimport { satisfies } from 'semver';\nimport { red } from './utils/logging.js';\nimport { getConfig, getVersion } from './lib/settings.js';\n\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { ensureAuthenticated } from './lib/ensure-auth.js';\nimport { checkForUpdates } from './lib/version-check.js';\n\nconst NODE_VERSION_RANGE = getConfig().nodeVersion;\n\n// Have to run this above the other imports because they are importing clack that\n// has the problematic imports.\nif (!satisfies(process.version, NODE_VERSION_RANGE)) {\n red(\n `WorkOS AuthKit installer requires Node.js ${NODE_VERSION_RANGE}. You are using Node.js ${process.version}. Please upgrade your Node.js version.`,\n );\n process.exit(1);\n}\n\nimport { isNonInteractiveEnvironment } from './utils/environment.js';\nimport { resolveOutputMode, setOutputMode, outputJson, exitWithError } from './utils/output.js';\nimport clack from './utils/clack.js';\nimport { registerSubcommand } from './utils/register-subcommand.js';\n\n// Resolve output mode early from raw argv (before yargs parses)\nconst rawArgs = hideBin(process.argv);\nconst hasJsonFlag = rawArgs.includes('--json');\nsetOutputMode(resolveOutputMode(hasJsonFlag));\n\n// Intercept --help --json before yargs parses (yargs exits on --help)\nif (hasJsonFlag && (rawArgs.includes('--help') || rawArgs.includes('-h'))) {\n const { buildCommandTree } = await import('./utils/help-json.js');\n const commandAliases: Record<string, string> = { org: 'organization' };\n const rawCommand = rawArgs.find((a) => !a.startsWith('-'));\n const command = rawCommand ? (commandAliases[rawCommand] ?? rawCommand) : undefined;\n outputJson(buildCommandTree(command));\n process.exit(0);\n}\n\n/** Apply insecure storage flag if set */\nasync function applyInsecureStorage(insecureStorage?: boolean): Promise<void> {\n if (insecureStorage) {\n const { setInsecureStorage } = await import('./lib/credentials.js');\n const { setInsecureConfigStorage } = await import('./lib/config-store.js');\n setInsecureStorage(true);\n setInsecureConfigStorage(true);\n }\n}\n\n/** Shared insecure-storage option for commands that access credentials */\nconst insecureStorageOption = {\n 'insecure-storage': {\n default: false,\n describe: 'Store credentials in plaintext file instead of system keyring',\n type: 'boolean' as const,\n },\n} as const;\n\n/**\n * Wrap a command handler with authentication check.\n * Ensures valid auth before executing the handler.\n * Respects --skip-auth flag for CI/testing.\n */\nfunction withAuth<T>(handler: (argv: T) => Promise<void>): (argv: T) => Promise<void> {\n return async (argv: T) => {\n const typedArgv = argv as { skipAuth?: boolean; insecureStorage?: boolean };\n await applyInsecureStorage(typedArgv.insecureStorage);\n if (!typedArgv.skipAuth) await ensureAuthenticated();\n await handler(argv);\n };\n}\n\nconst installerOptions = {\n direct: {\n alias: 'D',\n default: false,\n describe: 'Use your own Anthropic API key (bypass llm-gateway)',\n type: 'boolean' as const,\n },\n debug: {\n default: false,\n describe: 'Enable verbose logging',\n type: 'boolean' as const,\n },\n ...insecureStorageOption,\n // Hidden dev/automation flags (use env vars)\n local: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n ci: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n 'skip-auth': {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (required in non-interactive mode)',\n },\n 'client-id': {\n type: 'string' as const,\n describe: 'WorkOS client ID (required in non-interactive mode)',\n },\n inspect: {\n default: false,\n type: 'boolean' as const,\n hidden: true,\n },\n // User-facing flags\n 'homepage-url': {\n describe: 'App homepage URL for WorkOS (defaults to http://localhost:{port})',\n type: 'string' as const,\n },\n 'redirect-uri': {\n describe: 'Redirect URI for WorkOS callback (defaults to framework convention)',\n type: 'string' as const,\n },\n validate: {\n default: true,\n describe: 'Run post-installation validation (use --no-validate to skip)',\n type: 'boolean' as const,\n },\n 'install-dir': {\n describe: 'Directory to install WorkOS AuthKit in',\n type: 'string' as const,\n },\n integration: {\n describe: 'Integration to set up',\n type: 'string' as const,\n },\n 'force-install': {\n default: false,\n describe: 'Force install packages even if peer dependency checks fail',\n type: 'boolean' as const,\n },\n dashboard: {\n alias: 'd',\n default: false,\n describe: 'Run with visual dashboard mode',\n type: 'boolean' as const,\n },\n branch: {\n default: true,\n describe: 'Create a new branch for changes (use --no-branch to skip)',\n type: 'boolean' as const,\n },\n commit: {\n default: true,\n describe: 'Auto-commit after installation (use --no-commit to skip)',\n type: 'boolean' as const,\n },\n 'create-pr': {\n default: false,\n describe: 'Auto-create pull request after installation',\n type: 'boolean' as const,\n },\n 'git-check': {\n default: true,\n describe: 'Check for dirty working tree (use --no-git-check to skip)',\n type: 'boolean' as const,\n },\n};\n\n// Check for updates (blocks up to 500ms)\nawait checkForUpdates();\n\nyargs(rawArgs)\n .env('WORKOS_INSTALLER')\n .option('json', {\n type: 'boolean',\n default: false,\n describe: 'Output results as JSON (auto-enabled in non-TTY)',\n global: true,\n })\n .command('login', 'Authenticate with WorkOS via browser-based OAuth', insecureStorageOption, async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runLogin } = await import('./commands/login.js');\n await runLogin();\n process.exit(0);\n })\n .command('logout', 'Remove stored WorkOS credentials and tokens', insecureStorageOption, async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runLogout } = await import('./commands/logout.js');\n await runLogout();\n })\n .command(\n 'install-skill',\n 'Install bundled AuthKit skills to coding agents (Claude Code, Codex, Cursor, Goose)',\n (yargs) => {\n return yargs\n .option('list', {\n alias: 'l',\n type: 'boolean',\n description: 'List available skills without installing',\n })\n .option('skill', {\n alias: 's',\n type: 'array',\n string: true,\n description: 'Install specific skill(s)',\n })\n .option('agent', {\n alias: 'a',\n type: 'array',\n string: true,\n description: 'Target specific agent(s): claude-code, codex, cursor, goose',\n });\n },\n withAuth(async (argv) => {\n const { runInstallSkill } = await import('./commands/install-skill.js');\n await runInstallSkill({\n list: argv.list as boolean | undefined,\n skill: argv.skill as string[] | undefined,\n agent: argv.agent as string[] | undefined,\n });\n }),\n )\n .command(\n 'doctor',\n 'Diagnose WorkOS AuthKit integration issues in the current project',\n (yargs) =>\n yargs.options({\n verbose: {\n type: 'boolean',\n default: false,\n description: 'Include additional diagnostic information',\n },\n 'skip-api': {\n type: 'boolean',\n default: false,\n description: 'Skip API calls (offline mode)',\n },\n 'skip-ai': {\n type: 'boolean',\n default: false,\n description: 'Skip AI-powered analysis',\n },\n 'install-dir': {\n type: 'string',\n default: process.cwd(),\n description: 'Project directory to analyze',\n },\n json: {\n type: 'boolean',\n default: false,\n description: 'Output report as JSON',\n },\n copy: {\n type: 'boolean',\n default: false,\n description: 'Copy report to clipboard',\n },\n }),\n async (argv) => {\n const { handleDoctor } = await import('./commands/doctor.js');\n await handleDoctor(argv);\n },\n )\n // NOTE: When adding commands here, also update src/utils/help-json.ts\n .command('env', 'Manage environment configurations (API keys, endpoints, active environment)', (yargs) => {\n yargs.options(insecureStorageOption);\n registerSubcommand(\n yargs,\n 'add [name] [apiKey]',\n 'Add an environment configuration',\n (y) =>\n y\n .positional('name', { type: 'string', describe: 'Environment name' })\n .positional('apiKey', { type: 'string', describe: 'WorkOS API key' })\n .option('client-id', { type: 'string', describe: 'WorkOS client ID' })\n .option('endpoint', { type: 'string', describe: 'Custom API endpoint' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvAdd } = await import('./commands/env.js');\n await runEnvAdd({\n name: argv.name,\n apiKey: argv.apiKey,\n clientId: argv.clientId,\n endpoint: argv.endpoint,\n });\n },\n );\n registerSubcommand(\n yargs,\n 'remove <name>',\n 'Remove an environment configuration',\n (y) => y.positional('name', { type: 'string', demandOption: true, describe: 'Environment name' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvRemove } = await import('./commands/env.js');\n await runEnvRemove(argv.name);\n },\n );\n registerSubcommand(\n yargs,\n 'switch [name]',\n 'Switch active environment',\n (y) => y.positional('name', { type: 'string', describe: 'Environment name' }),\n async (argv) => {\n if (!argv.name && isNonInteractiveEnvironment()) {\n exitWithError({\n code: 'missing_args',\n message: 'Environment name required. Usage: workos env switch <name>',\n });\n }\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvSwitch } = await import('./commands/env.js');\n await runEnvSwitch(argv.name);\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List configured environments',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { runEnvList } = await import('./commands/env.js');\n await runEnvList();\n },\n );\n return yargs.demandCommand(1, 'Please specify an env subcommand').strict();\n })\n .command(['organization', 'org'], 'Manage WorkOS organizations (create, update, get, list, delete)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (overrides environment config). Format: sk_live_* or sk_test_*',\n },\n });\n registerSubcommand(\n yargs,\n 'create <name> [domains..]',\n 'Create a new organization with optional verified domains',\n (y) =>\n y\n .positional('name', { type: 'string', demandOption: true, describe: 'Organization name' })\n .positional('domains', {\n type: 'string',\n array: true,\n describe: 'Domains in format domain:state (state defaults to verified)',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgCreate } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgCreate(argv.name, (argv.domains as string[]) || [], apiKey, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'update <orgId> <name> [domain] [state]',\n 'Update an organization',\n (y) =>\n y\n .positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' })\n .positional('name', { type: 'string', demandOption: true, describe: 'Organization name' })\n .positional('domain', { type: 'string', describe: 'Domain' })\n .positional('state', { type: 'string', describe: 'Domain state (verified or pending)' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgUpdate } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgUpdate(argv.orgId, argv.name, apiKey, argv.domain, argv.state, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get <orgId>',\n 'Get an organization by ID',\n (y) => y.positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgGet } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgGet(argv.orgId, apiKey, resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List organizations',\n (y) =>\n y.options({\n domain: { type: 'string', describe: 'Filter by domain' },\n limit: { type: 'number', describe: 'Limit number of results' },\n before: { type: 'string', describe: 'Cursor for results before a specific item' },\n after: { type: 'string', describe: 'Cursor for results after a specific item' },\n order: { type: 'string', describe: 'Order of results (asc or desc)' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgList } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgList(\n { domain: argv.domain, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n apiKey,\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <orgId>',\n 'Delete an organization',\n (y) => y.positional('orgId', { type: 'string', demandOption: true, describe: 'Organization ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDelete } = await import('./commands/organization.js');\n const apiKey = resolveApiKey({ apiKey: argv.apiKey });\n await runOrgDelete(argv.orgId, apiKey, resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an organization subcommand').strict();\n })\n .command('user', 'Manage WorkOS users (get, list, update, delete)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': {\n type: 'string' as const,\n describe: 'WorkOS API key (overrides environment config). Format: sk_live_* or sk_test_*',\n },\n });\n registerSubcommand(\n yargs,\n 'get <userId>',\n 'Get a user by ID',\n (y) => y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserGet } = await import('./commands/user.js');\n await runUserGet(argv.userId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list',\n 'List users',\n (y) =>\n y.options({\n email: { type: 'string', describe: 'Filter by email' },\n organization: { type: 'string', describe: 'Filter by organization ID' },\n limit: { type: 'number', describe: 'Limit number of results' },\n before: { type: 'string', describe: 'Cursor for results before a specific item' },\n after: { type: 'string', describe: 'Cursor for results after a specific item' },\n order: { type: 'string', describe: 'Order of results (asc or desc)' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserList } = await import('./commands/user.js');\n await runUserList(\n {\n email: argv.email,\n organization: argv.organization,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <userId>',\n 'Update a user',\n (y) =>\n y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }).options({\n 'first-name': { type: 'string', describe: 'First name' },\n 'last-name': { type: 'string', describe: 'Last name' },\n 'email-verified': { type: 'boolean', describe: 'Email verification status' },\n password: { type: 'string', describe: 'New password' },\n 'external-id': { type: 'string', describe: 'External ID' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserUpdate } = await import('./commands/user.js');\n await runUserUpdate(\n argv.userId,\n resolveApiKey({ apiKey: argv.apiKey }),\n {\n firstName: argv.firstName,\n lastName: argv.lastName,\n emailVerified: argv.emailVerified,\n password: argv.password,\n externalId: argv.externalId,\n },\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <userId>',\n 'Delete a user',\n (y) => y.positional('userId', { type: 'string', demandOption: true, describe: 'User ID' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runUserDelete } = await import('./commands/user.js');\n await runUserDelete(argv.userId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a user subcommand').strict();\n })\n // --- Resource Management Commands ---\n .command('role', 'Manage WorkOS roles (environment and organization-scoped)', (yargs) => {\n yargs.options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n org: { type: 'string' as const, describe: 'Organization ID (for org-scoped roles)' },\n });\n registerSubcommand(\n yargs,\n 'list',\n 'List roles',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleList } = await import('./commands/role.js');\n await runRoleList(argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a role by slug',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleGet } = await import('./commands/role.js');\n await runRoleGet(argv.slug, argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a role',\n (y) =>\n y.options({\n slug: { type: 'string', demandOption: true, describe: 'Role slug' },\n name: { type: 'string', demandOption: true, describe: 'Role name' },\n description: { type: 'string', describe: 'Role description' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleCreate } = await import('./commands/role.js');\n await runRoleCreate(\n { slug: argv.slug, name: argv.name, description: argv.description },\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <slug>',\n 'Update a role',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .options({ name: { type: 'string' }, description: { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleUpdate } = await import('./commands/role.js');\n await runRoleUpdate(\n argv.slug,\n { name: argv.name, description: argv.description },\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <slug>',\n 'Delete an org-scoped role (requires --org)',\n (y) => y.positional('slug', { type: 'string', demandOption: true }).demandOption('org'),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleDelete } = await import('./commands/role.js');\n await runRoleDelete(argv.slug, argv.org!, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'set-permissions <slug>',\n 'Set all permissions on a role (replaces existing)',\n (y) =>\n y.positional('slug', { type: 'string', demandOption: true }).option('permissions', {\n type: 'string',\n demandOption: true,\n describe: 'Comma-separated permission slugs',\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleSetPermissions } = await import('./commands/role.js');\n await runRoleSetPermissions(\n argv.slug,\n argv.permissions.split(','),\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'add-permission <slug> <permissionSlug>',\n 'Add a permission to a role',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('permissionSlug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleAddPermission } = await import('./commands/role.js');\n await runRoleAddPermission(\n argv.slug,\n argv.permissionSlug,\n argv.org,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'remove-permission <slug> <permissionSlug>',\n 'Remove a permission from an org role (requires --org)',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('permissionSlug', { type: 'string', demandOption: true })\n .demandOption('org'),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runRoleRemovePermission } = await import('./commands/role.js');\n await runRoleRemovePermission(\n argv.slug,\n argv.permissionSlug,\n argv.org!,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a role subcommand').strict();\n })\n .command('permission', 'Manage WorkOS permissions', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List permissions',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionList } = await import('./commands/permission.js');\n await runPermissionList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a permission',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionGet } = await import('./commands/permission.js');\n await runPermissionGet(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a permission',\n (y) =>\n y.options({\n slug: { type: 'string', demandOption: true },\n name: { type: 'string', demandOption: true },\n description: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionCreate } = await import('./commands/permission.js');\n await runPermissionCreate(\n { slug: argv.slug, name: argv.name, description: argv.description },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <slug>',\n 'Update a permission',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .options({ name: { type: 'string' }, description: { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionUpdate } = await import('./commands/permission.js');\n await runPermissionUpdate(\n argv.slug,\n { name: argv.name, description: argv.description },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <slug>',\n 'Delete a permission',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPermissionDelete } = await import('./commands/permission.js');\n await runPermissionDelete(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a permission subcommand').strict();\n })\n .command('membership', 'Manage organization memberships', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List memberships',\n (y) =>\n y.options({\n org: { type: 'string' },\n user: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipList } = await import('./commands/membership.js');\n await runMembershipList(\n {\n org: argv.org,\n user: argv.user,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipGet } = await import('./commands/membership.js');\n await runMembershipGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a membership',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n user: { type: 'string', demandOption: true },\n role: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipCreate } = await import('./commands/membership.js');\n await runMembershipCreate(\n { org: argv.org, user: argv.user, role: argv.role },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <id>',\n 'Update a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }).option('role', { type: 'string' }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipUpdate } = await import('./commands/membership.js');\n await runMembershipUpdate(argv.id, argv.role, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipDelete } = await import('./commands/membership.js');\n await runMembershipDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'deactivate <id>',\n 'Deactivate a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipDeactivate } = await import('./commands/membership.js');\n await runMembershipDeactivate(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'reactivate <id>',\n 'Reactivate a membership',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runMembershipReactivate } = await import('./commands/membership.js');\n await runMembershipReactivate(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a membership subcommand').strict();\n })\n .command('invitation', 'Manage user invitations', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List invitations',\n (y) =>\n y.options({\n org: { type: 'string' },\n email: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationList } = await import('./commands/invitation.js');\n await runInvitationList(\n {\n org: argv.org,\n email: argv.email,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationGet } = await import('./commands/invitation.js');\n await runInvitationGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'send',\n 'Send an invitation',\n (y) =>\n y.options({\n email: { type: 'string', demandOption: true },\n org: { type: 'string' },\n role: { type: 'string' },\n 'expires-in-days': { type: 'number' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationSend } = await import('./commands/invitation.js');\n await runInvitationSend(\n { email: argv.email, org: argv.org, role: argv.role, expiresInDays: argv.expiresInDays },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'revoke <id>',\n 'Revoke an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationRevoke } = await import('./commands/invitation.js');\n await runInvitationRevoke(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'resend <id>',\n 'Resend an invitation',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runInvitationResend } = await import('./commands/invitation.js');\n await runInvitationResend(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an invitation subcommand').strict();\n })\n .command('session', 'Manage user sessions', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list <userId>',\n 'List sessions for a user',\n (y) =>\n y.positional('userId', { type: 'string', demandOption: true }).options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSessionList } = await import('./commands/session.js');\n await runSessionList(\n argv.userId,\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'revoke <sessionId>',\n 'Revoke a session',\n (y) => y.positional('sessionId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSessionRevoke } = await import('./commands/session.js');\n await runSessionRevoke(argv.sessionId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a session subcommand').strict();\n })\n .command('connection', 'Manage SSO connections (read/delete)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List connections',\n (y) =>\n y.options({\n org: { type: 'string', describe: 'Filter by org ID' },\n type: { type: 'string', describe: 'Filter by connection type' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionList } = await import('./commands/connection.js');\n await runConnectionList(\n {\n organizationId: argv.org,\n connectionType: argv.type,\n limit: argv.limit,\n before: argv.before,\n after: argv.after,\n order: argv.order,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a connection',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionGet } = await import('./commands/connection.js');\n await runConnectionGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a connection',\n (y) =>\n y.positional('id', { type: 'string', demandOption: true }).option('force', { type: 'boolean', default: false }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConnectionDelete } = await import('./commands/connection.js');\n await runConnectionDelete(\n argv.id,\n { force: argv.force },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a connection subcommand').strict();\n })\n .command('directory', 'Manage directory sync (read/delete, list users/groups)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List directories',\n (y) =>\n y.options({\n org: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryList } = await import('./commands/directory.js');\n await runDirectoryList(\n { organizationId: argv.org, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a directory',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryGet } = await import('./commands/directory.js');\n await runDirectoryGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a directory',\n (y) =>\n y.positional('id', { type: 'string', demandOption: true }).option('force', { type: 'boolean', default: false }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryDelete } = await import('./commands/directory.js');\n await runDirectoryDelete(\n argv.id,\n { force: argv.force },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-users',\n 'List directory users',\n (y) =>\n y.options({\n directory: { type: 'string' },\n group: { type: 'string' },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryListUsers } = await import('./commands/directory.js');\n await runDirectoryListUsers(\n { directory: argv.directory, group: argv.group, limit: argv.limit, before: argv.before, after: argv.after },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-groups',\n 'List directory groups',\n (y) =>\n y.options({\n directory: { type: 'string', demandOption: true },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDirectoryListGroups } = await import('./commands/directory.js');\n await runDirectoryListGroups(\n { directory: argv.directory, limit: argv.limit, before: argv.before, after: argv.after },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a directory subcommand').strict();\n })\n .command('event', 'Query WorkOS events', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List events',\n (y) =>\n y.options({\n events: { type: 'string', demandOption: true, describe: 'Comma-separated event types' },\n after: { type: 'string' },\n org: { type: 'string' },\n 'range-start': { type: 'string' },\n 'range-end': { type: 'string' },\n limit: { type: 'number' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runEventList } = await import('./commands/event.js');\n await runEventList(\n {\n events: argv.events.split(','),\n after: argv.after,\n organizationId: argv.org,\n rangeStart: argv.rangeStart,\n rangeEnd: argv.rangeEnd,\n limit: argv.limit,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify an event subcommand').strict();\n })\n .command('audit-log', 'Manage audit logs', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'create-event <orgId>',\n 'Create an audit log event',\n (y) =>\n y.positional('orgId', { type: 'string', demandOption: true }).options({\n action: { type: 'string' },\n 'actor-type': { type: 'string' },\n 'actor-id': { type: 'string' },\n 'actor-name': { type: 'string' },\n targets: { type: 'string' },\n context: { type: 'string' },\n metadata: { type: 'string' },\n 'occurred-at': { type: 'string' },\n file: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogCreateEvent } = await import('./commands/audit-log.js');\n await runAuditLogCreateEvent(\n argv.orgId,\n {\n action: argv.action,\n actorType: argv.actorType,\n actorId: argv.actorId,\n actorName: argv.actorName,\n targets: argv.targets,\n context: argv.context,\n metadata: argv.metadata,\n occurredAt: argv.occurredAt,\n file: argv.file,\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'export',\n 'Export audit logs',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n 'range-start': { type: 'string', demandOption: true },\n 'range-end': { type: 'string', demandOption: true },\n actions: { type: 'string' },\n 'actor-names': { type: 'string' },\n 'actor-ids': { type: 'string' },\n targets: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogExport } = await import('./commands/audit-log.js');\n await runAuditLogExport(\n {\n organizationId: argv.org,\n rangeStart: argv.rangeStart,\n rangeEnd: argv.rangeEnd,\n actions: argv.actions?.split(','),\n actorNames: argv.actorNames?.split(','),\n actorIds: argv.actorIds?.split(','),\n targets: argv.targets?.split(','),\n },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'list-actions',\n 'List available audit log actions',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogListActions } = await import('./commands/audit-log.js');\n await runAuditLogListActions(resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get-schema <action>',\n 'Get schema for an audit log action',\n (y) => y.positional('action', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogGetSchema } = await import('./commands/audit-log.js');\n await runAuditLogGetSchema(argv.action, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create-schema <action>',\n 'Create an audit log schema',\n (y) =>\n y\n .positional('action', { type: 'string', demandOption: true })\n .option('file', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogCreateSchema } = await import('./commands/audit-log.js');\n await runAuditLogCreateSchema(\n argv.action,\n argv.file,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get-retention <orgId>',\n 'Get audit log retention period',\n (y) => y.positional('orgId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runAuditLogGetRetention } = await import('./commands/audit-log.js');\n await runAuditLogGetRetention(argv.orgId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an audit-log subcommand').strict();\n })\n .command('feature-flag', 'Manage feature flags', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List feature flags',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagList } = await import('./commands/feature-flag.js');\n await runFeatureFlagList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <slug>',\n 'Get a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagGet } = await import('./commands/feature-flag.js');\n await runFeatureFlagGet(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'enable <slug>',\n 'Enable a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagEnable } = await import('./commands/feature-flag.js');\n await runFeatureFlagEnable(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'disable <slug>',\n 'Disable a feature flag',\n (y) => y.positional('slug', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagDisable } = await import('./commands/feature-flag.js');\n await runFeatureFlagDisable(argv.slug, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'add-target <slug> <targetId>',\n 'Add a target to a feature flag',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('targetId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagAddTarget } = await import('./commands/feature-flag.js');\n await runFeatureFlagAddTarget(\n argv.slug,\n argv.targetId,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'remove-target <slug> <targetId>',\n 'Remove a target from a feature flag',\n (y) =>\n y\n .positional('slug', { type: 'string', demandOption: true })\n .positional('targetId', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runFeatureFlagRemoveTarget } = await import('./commands/feature-flag.js');\n await runFeatureFlagRemoveTarget(\n argv.slug,\n argv.targetId,\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a feature-flag subcommand').strict();\n })\n .command('webhook', 'Manage webhooks', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List webhooks',\n (y) => y,\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookList } = await import('./commands/webhook.js');\n await runWebhookList(resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a webhook',\n (y) =>\n y.options({\n url: { type: 'string', demandOption: true },\n events: { type: 'string', demandOption: true, describe: 'Comma-separated event types' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookCreate } = await import('./commands/webhook.js');\n await runWebhookCreate(\n argv.url,\n argv.events.split(','),\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a webhook',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runWebhookDelete } = await import('./commands/webhook.js');\n await runWebhookDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a webhook subcommand').strict();\n })\n .command('config', 'Manage WorkOS configuration (redirect URIs, CORS, homepage)', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n yargs.command('redirect', 'Manage redirect URIs', (yargs) => {\n registerSubcommand(\n yargs,\n 'add <uri>',\n 'Add a redirect URI',\n (y) => y.positional('uri', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigRedirectAdd } = await import('./commands/config.js');\n await runConfigRedirectAdd(argv.uri, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n yargs.command('cors', 'Manage CORS origins', (yargs) => {\n registerSubcommand(\n yargs,\n 'add <origin>',\n 'Add a CORS origin',\n (y) => y.positional('origin', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigCorsAdd } = await import('./commands/config.js');\n await runConfigCorsAdd(argv.origin, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n yargs.command('homepage-url', 'Manage homepage URL', (yargs) => {\n registerSubcommand(\n yargs,\n 'set <url>',\n 'Set the homepage URL',\n (y) => y.positional('url', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runConfigHomepageUrlSet } = await import('./commands/config.js');\n await runConfigHomepageUrlSet(argv.url, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1).strict();\n });\n return yargs.demandCommand(1, 'Please specify a config subcommand').strict();\n })\n .command('portal', 'Manage Admin Portal', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'generate-link',\n 'Generate an Admin Portal link',\n (y) =>\n y.options({\n intent: {\n type: 'string',\n demandOption: true,\n describe: 'Portal intent (sso, dsync, audit_logs, log_streams)',\n },\n org: { type: 'string', demandOption: true, describe: 'Organization ID' },\n 'return-url': { type: 'string' },\n 'success-url': { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runPortalGenerateLink } = await import('./commands/portal.js');\n await runPortalGenerateLink(\n { intent: argv.intent, organization: argv.org, returnUrl: argv.returnUrl, successUrl: argv.successUrl },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n return yargs.demandCommand(1, 'Please specify a portal subcommand').strict();\n })\n .command('vault', 'Manage WorkOS Vault secrets', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List vault objects',\n (y) =>\n y.options({\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultList } = await import('./commands/vault.js');\n await runVaultList(\n { limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultGet } = await import('./commands/vault.js');\n await runVaultGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'get-by-name <name>',\n 'Get a vault object by name',\n (y) => y.positional('name', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultGetByName } = await import('./commands/vault.js');\n await runVaultGetByName(argv.name, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create a vault object',\n (y) =>\n y.options({\n name: { type: 'string', demandOption: true },\n value: { type: 'string', demandOption: true },\n org: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultCreate } = await import('./commands/vault.js');\n await runVaultCreate(\n { name: argv.name, value: argv.value, org: argv.org },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'update <id>',\n 'Update a vault object',\n (y) =>\n y\n .positional('id', { type: 'string', demandOption: true })\n .options({ value: { type: 'string', demandOption: true }, 'version-check': { type: 'string' } }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultUpdate } = await import('./commands/vault.js');\n await runVaultUpdate(\n { id: argv.id, value: argv.value, versionCheck: argv.versionCheck },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultDelete } = await import('./commands/vault.js');\n await runVaultDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'describe <id>',\n 'Describe a vault object',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultDescribe } = await import('./commands/vault.js');\n await runVaultDescribe(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'list-versions <id>',\n 'List vault object versions',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runVaultListVersions } = await import('./commands/vault.js');\n await runVaultListVersions(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify a vault subcommand').strict();\n })\n .command('api-key', 'Manage API keys', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'list',\n 'List API keys',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n limit: { type: 'number' },\n before: { type: 'string' },\n after: { type: 'string' },\n order: { type: 'string' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyList } = await import('./commands/api-key-mgmt.js');\n await runApiKeyList(\n { organizationId: argv.org, limit: argv.limit, before: argv.before, after: argv.after, order: argv.order },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'create',\n 'Create an API key',\n (y) =>\n y.options({\n org: { type: 'string', demandOption: true },\n name: { type: 'string', demandOption: true },\n permissions: { type: 'string', describe: 'Comma-separated permissions' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyCreate } = await import('./commands/api-key-mgmt.js');\n await runApiKeyCreate(\n { organizationId: argv.org, name: argv.name, permissions: argv.permissions?.split(',') },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n );\n registerSubcommand(\n yargs,\n 'validate <value>',\n 'Validate an API key',\n (y) => y.positional('value', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyValidate } = await import('./commands/api-key-mgmt.js');\n await runApiKeyValidate(argv.value, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete an API key',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runApiKeyDelete } = await import('./commands/api-key-mgmt.js');\n await runApiKeyDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an api-key subcommand').strict();\n })\n .command('org-domain', 'Manage organization domains', (yargs) => {\n yargs.options({ ...insecureStorageOption, 'api-key': { type: 'string' as const, describe: 'WorkOS API key' } });\n registerSubcommand(\n yargs,\n 'get <id>',\n 'Get a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainGet } = await import('./commands/org-domain.js');\n await runOrgDomainGet(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'create <domain>',\n 'Create a domain',\n (y) =>\n y\n .positional('domain', { type: 'string', demandOption: true })\n .option('org', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainCreate } = await import('./commands/org-domain.js');\n await runOrgDomainCreate(argv.domain, argv.org, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'verify <id>',\n 'Verify a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainVerify } = await import('./commands/org-domain.js');\n await runOrgDomainVerify(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n registerSubcommand(\n yargs,\n 'delete <id>',\n 'Delete a domain',\n (y) => y.positional('id', { type: 'string', demandOption: true }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOrgDomainDelete } = await import('./commands/org-domain.js');\n await runOrgDomainDelete(argv.id, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n );\n return yargs.demandCommand(1, 'Please specify an org-domain subcommand').strict();\n })\n // --- Workflow Commands ---\n .command(\n 'seed',\n 'Seed WorkOS environment from a YAML config file',\n (yargs) =>\n yargs.options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n file: { type: 'string', describe: 'Path to seed YAML file' },\n clean: { type: 'boolean', default: false, describe: 'Tear down seeded resources' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSeed } = await import('./commands/seed.js');\n await runSeed(\n { file: argv.file, clean: argv.clean },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'setup-org <name>',\n 'One-shot organization onboarding (create org, domain, roles, portal link)',\n (yargs) =>\n yargs.positional('name', { type: 'string', demandOption: true, describe: 'Organization name' }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n domain: { type: 'string', describe: 'Domain to add and verify' },\n roles: { type: 'string', describe: 'Comma-separated role slugs to create' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runSetupOrg } = await import('./commands/setup-org.js');\n await runSetupOrg(\n { name: argv.name, domain: argv.domain, roles: argv.roles?.split(',') },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'onboard-user <email>',\n 'Onboard a user (send invitation, assign role)',\n (yargs) =>\n yargs.positional('email', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n org: { type: 'string', demandOption: true, describe: 'Organization ID' },\n role: { type: 'string', describe: 'Role slug to assign' },\n wait: { type: 'boolean', default: false, describe: 'Wait for invitation acceptance' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runOnboardUser } = await import('./commands/onboard-user.js');\n await runOnboardUser(\n { email: argv.email, org: argv.org, role: argv.role, wait: argv.wait },\n resolveApiKey({ apiKey: argv.apiKey }),\n resolveApiBaseUrl(),\n );\n },\n )\n .command(\n 'debug-sso <connectionId>',\n 'Diagnose SSO connection issues',\n (yargs) =>\n yargs.positional('connectionId', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDebugSso } = await import('./commands/debug-sso.js');\n await runDebugSso(argv.connectionId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n )\n .command(\n 'debug-sync <directoryId>',\n 'Diagnose directory sync issues',\n (yargs) =>\n yargs.positional('directoryId', { type: 'string', demandOption: true }).options({\n ...insecureStorageOption,\n 'api-key': { type: 'string' as const, describe: 'WorkOS API key' },\n }),\n async (argv) => {\n await applyInsecureStorage(argv.insecureStorage);\n const { resolveApiKey, resolveApiBaseUrl } = await import('./lib/api-key.js');\n const { runDebugSync } = await import('./commands/debug-sync.js');\n await runDebugSync(argv.directoryId, resolveApiKey({ apiKey: argv.apiKey }), resolveApiBaseUrl());\n },\n )\n .command(\n 'install',\n 'Install WorkOS AuthKit into your project (interactive framework detection and setup)',\n (yargs) => yargs.options(installerOptions),\n withAuth(async (argv) => {\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall(argv);\n }),\n )\n .command(\n 'dashboard',\n false, // hidden from help\n (yargs) => yargs.options(installerOptions),\n withAuth(async (argv) => {\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall({ ...argv, dashboard: true });\n }),\n )\n .command(\n ['$0'],\n 'WorkOS AuthKit CLI',\n (yargs) => yargs.options(insecureStorageOption),\n async (argv) => {\n // Non-TTY: show help\n if (isNonInteractiveEnvironment()) {\n yargs(rawArgs).showHelp();\n return;\n }\n\n // TTY: ask if user wants to run installer\n const shouldInstall = await clack.confirm({\n message: 'Run the AuthKit installer?',\n });\n\n if (clack.isCancel(shouldInstall) || !shouldInstall) {\n process.exit(0);\n }\n\n // Auth check happens HERE, after user confirms\n await applyInsecureStorage(argv.insecureStorage);\n await ensureAuthenticated();\n\n const { handleInstall } = await import('./commands/install.js');\n await handleInstall({ ...argv, dashboard: false });\n process.exit(0);\n },\n )\n .strict()\n .help()\n .alias('help', 'h')\n .version(getVersion())\n .alias('version', 'v')\n .wrap(process.stdout.isTTY && process.stdout.columns ? process.stdout.columns : 80).argv;\n"]}
@@ -0,0 +1,16 @@
1
+ export interface ApiKeyListOptions {
2
+ organizationId: string;
3
+ limit?: number;
4
+ before?: string;
5
+ after?: string;
6
+ order?: string;
7
+ }
8
+ export declare function runApiKeyList(options: ApiKeyListOptions, apiKey: string, baseUrl?: string): Promise<void>;
9
+ export interface ApiKeyCreateOptions {
10
+ organizationId: string;
11
+ name: string;
12
+ permissions?: string[];
13
+ }
14
+ export declare function runApiKeyCreate(options: ApiKeyCreateOptions, apiKey: string, baseUrl?: string): Promise<void>;
15
+ export declare function runApiKeyValidate(value: string, apiKey: string, baseUrl?: string): Promise<void>;
16
+ export declare function runApiKeyDelete(id: string, apiKey: string, baseUrl?: string): Promise<void>;
@@ -0,0 +1,96 @@
1
+ import chalk from 'chalk';
2
+ import { createWorkOSClient } from '../lib/workos-client.js';
3
+ import { formatTable } from '../utils/table.js';
4
+ import { outputSuccess, outputJson, isJsonMode } from '../utils/output.js';
5
+ import { createApiErrorHandler } from '../lib/api-error-handler.js';
6
+ const handleApiError = createApiErrorHandler('ApiKey');
7
+ export async function runApiKeyList(options, apiKey, baseUrl) {
8
+ const client = createWorkOSClient(apiKey, baseUrl);
9
+ try {
10
+ const result = await client.sdk.organizations.listOrganizationApiKeys({
11
+ organizationId: options.organizationId,
12
+ limit: options.limit,
13
+ before: options.before,
14
+ after: options.after,
15
+ order: options.order,
16
+ });
17
+ if (isJsonMode()) {
18
+ outputJson({ data: result.data, listMetadata: result.listMetadata });
19
+ return;
20
+ }
21
+ if (result.data.length === 0) {
22
+ console.log('No API keys found.');
23
+ return;
24
+ }
25
+ const rows = result.data.map((key) => [key.id, key.name, key.obfuscatedValue ?? chalk.dim('-'), key.createdAt]);
26
+ console.log(formatTable([{ header: 'ID' }, { header: 'Name' }, { header: 'Obfuscated Value' }, { header: 'Created' }], rows));
27
+ const { before, after } = result.listMetadata;
28
+ if (before && after) {
29
+ console.log(chalk.dim(`Before: ${before} After: ${after}`));
30
+ }
31
+ else if (before) {
32
+ console.log(chalk.dim(`Before: ${before}`));
33
+ }
34
+ else if (after) {
35
+ console.log(chalk.dim(`After: ${after}`));
36
+ }
37
+ }
38
+ catch (error) {
39
+ handleApiError(error);
40
+ }
41
+ }
42
+ export async function runApiKeyCreate(options, apiKey, baseUrl) {
43
+ const client = createWorkOSClient(apiKey, baseUrl);
44
+ try {
45
+ const result = await client.sdk.organizations.createOrganizationApiKey({
46
+ organizationId: options.organizationId,
47
+ name: options.name,
48
+ ...(options.permissions && { permissions: options.permissions }),
49
+ });
50
+ if (isJsonMode()) {
51
+ outputJson({ status: 'ok', message: 'Created API key', data: result });
52
+ return;
53
+ }
54
+ console.log(chalk.green('Created API key'));
55
+ console.log(JSON.stringify(result, null, 2));
56
+ if (result.value) {
57
+ console.log('');
58
+ console.log(chalk.yellow('API key value: ') + result.value);
59
+ console.log(chalk.yellow('Save this key now — it will not be shown again.'));
60
+ }
61
+ }
62
+ catch (error) {
63
+ handleApiError(error);
64
+ }
65
+ }
66
+ export async function runApiKeyValidate(value, apiKey, baseUrl) {
67
+ const client = createWorkOSClient(apiKey, baseUrl);
68
+ try {
69
+ const result = await client.sdk.apiKeys.validateApiKey({ value });
70
+ if (isJsonMode()) {
71
+ outputJson(result);
72
+ return;
73
+ }
74
+ if (result.apiKey) {
75
+ console.log(chalk.green('API key is valid'));
76
+ console.log(JSON.stringify(result.apiKey, null, 2));
77
+ }
78
+ else {
79
+ console.log(chalk.red('API key is invalid or not found.'));
80
+ }
81
+ }
82
+ catch (error) {
83
+ handleApiError(error);
84
+ }
85
+ }
86
+ export async function runApiKeyDelete(id, apiKey, baseUrl) {
87
+ const client = createWorkOSClient(apiKey, baseUrl);
88
+ try {
89
+ await client.sdk.apiKeys.deleteApiKey(id);
90
+ outputSuccess('Deleted API key', { id });
91
+ }
92
+ catch (error) {
93
+ handleApiError(error);
94
+ }
95
+ }
96
+ //# sourceMappingURL=api-key-mgmt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-mgmt.js","sourceRoot":"","sources":["../../src/commands/api-key-mgmt.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from 'chalk';\nimport { createWorkOSClient } from '../lib/workos-client.js';\nimport { formatTable } from '../utils/table.js';\nimport { outputSuccess, outputJson, isJsonMode } from '../utils/output.js';\nimport { createApiErrorHandler } from '../lib/api-error-handler.js';\n\nconst handleApiError = createApiErrorHandler('ApiKey');\n\nexport interface ApiKeyListOptions {\n organizationId: string;\n limit?: number;\n before?: string;\n after?: string;\n order?: string;\n}\n\nexport async function runApiKeyList(options: ApiKeyListOptions, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.organizations.listOrganizationApiKeys({\n organizationId: options.organizationId,\n limit: options.limit,\n before: options.before,\n after: options.after,\n order: options.order as 'asc' | 'desc' | undefined,\n });\n\n if (isJsonMode()) {\n outputJson({ data: result.data, listMetadata: result.listMetadata });\n return;\n }\n\n if (result.data.length === 0) {\n console.log('No API keys found.');\n return;\n }\n\n const rows = result.data.map((key) => [key.id, key.name, key.obfuscatedValue ?? chalk.dim('-'), key.createdAt]);\n\n console.log(\n formatTable([{ header: 'ID' }, { header: 'Name' }, { header: 'Obfuscated Value' }, { header: 'Created' }], rows),\n );\n\n const { before, after } = result.listMetadata;\n if (before && after) {\n console.log(chalk.dim(`Before: ${before} After: ${after}`));\n } else if (before) {\n console.log(chalk.dim(`Before: ${before}`));\n } else if (after) {\n console.log(chalk.dim(`After: ${after}`));\n }\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport interface ApiKeyCreateOptions {\n organizationId: string;\n name: string;\n permissions?: string[];\n}\n\nexport async function runApiKeyCreate(options: ApiKeyCreateOptions, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.organizations.createOrganizationApiKey({\n organizationId: options.organizationId,\n name: options.name,\n ...(options.permissions && { permissions: options.permissions }),\n });\n\n if (isJsonMode()) {\n outputJson({ status: 'ok', message: 'Created API key', data: result });\n return;\n }\n\n console.log(chalk.green('Created API key'));\n console.log(JSON.stringify(result, null, 2));\n if (result.value) {\n console.log('');\n console.log(chalk.yellow('API key value: ') + result.value);\n console.log(chalk.yellow('Save this key now — it will not be shown again.'));\n }\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runApiKeyValidate(value: string, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n const result = await client.sdk.apiKeys.validateApiKey({ value });\n\n if (isJsonMode()) {\n outputJson(result);\n return;\n }\n\n if (result.apiKey) {\n console.log(chalk.green('API key is valid'));\n console.log(JSON.stringify(result.apiKey, null, 2));\n } else {\n console.log(chalk.red('API key is invalid or not found.'));\n }\n } catch (error) {\n handleApiError(error);\n }\n}\n\nexport async function runApiKeyDelete(id: string, apiKey: string, baseUrl?: string): Promise<void> {\n const client = createWorkOSClient(apiKey, baseUrl);\n\n try {\n await client.sdk.apiKeys.deleteApiKey(id);\n outputSuccess('Deleted API key', { id });\n } catch (error) {\n handleApiError(error);\n }\n}\n"]}