@paradigma-inc/flywheel 0.1.146 → 0.1.147

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.
@@ -5,12 +5,11 @@ import os from "node:os";
5
5
  import { resolve } from "node:path";
6
6
  import { pathToFileURL } from "node:url";
7
7
  import { processStdoutIsPipe, writeCredentialStream } from "./credential-output.js";
8
- import { loadFlywheelConfig, saveFlywheelConfig, FlywheelConfigError, resolveFlywheelConfigPath, } from "./config/index.js";
9
- import { baseUrlsEqual } from "./auth/baseurl.js";
8
+ import { loadFlywheelConfig, saveFlywheelConfig, FlywheelConfigError, resolveFlywheelConfigPath, inspectFlywheelConfig, } from "./config/index.js";
10
9
  import { CredentialStoreError, readCredential, resolveCredentialFilePath, } from "./auth/credentials.js";
11
- import { RUNTIME_ALIASES } from "./commands/aliases.js";
12
- import { BUILTIN_PROFILE_NAMES, isBuiltinProfileName, resolveBuiltinBaseUrl, } from "./auth/profiles.js";
13
- import { renderCommandHelp, renderCommandHelpAsJson, renderHelp, renderHelpAsJson, } from "./commands/help.js";
10
+ import { ADMIN_DISCOVERY_VERIFICATION_ERROR, renderCommandHelp, renderCommandHelpAsJson, renderHelp, renderHelpAsJson, } from "./commands/help.js";
11
+ import { adminAuthRequestOptions, adminKeyFromEnv, } from "./commands/_admin-auth.js";
12
+ import { activeCredentialIsApiKey } from "./commands/auth-mode.js";
14
13
  import { renderUsageSpec } from "./commands/usage-spec.js";
15
14
  import { getCommandByName } from "./commands/registry.js";
16
15
  import { MVP_COMMAND_HANDLERS } from "./commands/index.js";
@@ -31,7 +30,8 @@ import { maskSensitiveForOutput } from "./http/debug.js";
31
30
  import { renderOutput } from "./output/format.js";
32
31
  import { CLI_VERSION } from "./version.js";
33
32
  import { LocalRepositoryAdapter } from "./local/adapter.js";
34
- const DEFAULT_BASE_URL = "http://localhost:8000";
33
+ import { DEFAULT_BASE_URL, resolveRuntimeAuthConfig, resolveRuntimeProfile, selectedRuntimeProfileName, } from "./runtime-auth.js";
34
+ import { RUNTIME_ALIASES } from "./commands/aliases.js";
35
35
  function defaultStdout(chunk) {
36
36
  process.stdout.write(chunk);
37
37
  }
@@ -69,80 +69,6 @@ function emitRetiredCommandName(command, argv, stderr) {
69
69
  }
70
70
  return 1;
71
71
  }
72
- function activeBuiltinFromConfig(config) {
73
- const rawName = config.activeProfile;
74
- if (typeof rawName !== "string" ||
75
- !rawName.trim() ||
76
- !isBuiltinProfileName(rawName.trim())) {
77
- return { name: undefined, baseUrl: undefined };
78
- }
79
- const name = rawName.trim();
80
- return { name, baseUrl: resolveBuiltinBaseUrl(name) };
81
- }
82
- function assertRepositoryTransportOrigin(baseUrl) {
83
- let parsed;
84
- try {
85
- parsed = new URL(baseUrl);
86
- }
87
- catch {
88
- throw new CliHttpError("repository remotes require HTTPS or loopback HTTP", EXIT_TRANSPORT);
89
- }
90
- const loopbackHttp = parsed.protocol === "http:" &&
91
- ["localhost", "127.0.0.1", "[::1]", "::1"].includes(parsed.hostname.toLowerCase());
92
- if (parsed.protocol === "https:" || loopbackHttp)
93
- return;
94
- throw new CliHttpError("repository remotes require HTTPS or loopback HTTP", EXIT_TRANSPORT);
95
- }
96
- async function resolveRuntimeAuthConfig(config, profile, resolveEnvApiKey, resolveCredentialFile, credentialLookupEnabled, readStoredCredential, repositoryRemote = false) {
97
- const envBaseUrl = process.env.FLYWHEEL_BASE_URL?.trim();
98
- const activeBuiltin = activeBuiltinFromConfig(config);
99
- const activeProfile = typeof config.activeProfile === "string" && config.activeProfile.trim()
100
- ? config.activeProfile.trim()
101
- : undefined;
102
- const baseUrl = envBaseUrl || profile?.baseUrl || activeBuiltin.baseUrl || DEFAULT_BASE_URL;
103
- if (repositoryRemote)
104
- assertRepositoryTransportOrigin(baseUrl);
105
- const credentialProfile = profile?.name ?? activeBuiltin.name ?? activeProfile ?? "default";
106
- const credentialBaseUrl = profile?.baseUrl ?? activeBuiltin.baseUrl ??
107
- (credentialProfile === "default" ? baseUrl : DEFAULT_BASE_URL);
108
- const environmentApiKey = process.env.FLYWHEEL_API_KEY?.trim() || undefined;
109
- if (repositoryRemote &&
110
- environmentApiKey &&
111
- (!envBaseUrl || !baseUrlsEqual(baseUrl, envBaseUrl))) {
112
- throw new CliHttpError("credential_store_unavailable", EXIT_TRANSPORT);
113
- }
114
- let apiKey = environmentApiKey;
115
- if (!apiKey &&
116
- profile?.apiKeyEnv &&
117
- profile.baseUrl &&
118
- baseUrlsEqual(baseUrl, profile.baseUrl)) {
119
- apiKey = resolveEnvApiKey(profile.apiKeyEnv);
120
- }
121
- let credentialReadiness;
122
- if (apiKey || !credentialLookupEnabled) {
123
- credentialReadiness = "not_checked";
124
- }
125
- else if (baseUrlsEqual(baseUrl, credentialBaseUrl)) {
126
- const storedCredential = await readStoredCredential(credentialProfile, credentialBaseUrl, resolveCredentialFile());
127
- credentialReadiness = storedCredential ? "ready" : "missing";
128
- apiKey = storedCredential ?? undefined;
129
- }
130
- else {
131
- credentialReadiness = "not_checked";
132
- }
133
- if (repositoryRemote && !apiKey) {
134
- throw new CliHttpError("credential_store_unavailable", EXIT_TRANSPORT);
135
- }
136
- return {
137
- baseUrl,
138
- credentialBaseUrl: environmentApiKey
139
- ? baseUrl
140
- : credentialBaseUrl,
141
- apiKey,
142
- credentialReadiness,
143
- defaultFormat: profile?.defaultFormat,
144
- };
145
- }
146
72
  const HELP_TOKENS = new Set(["--help", "-h"]);
147
73
  const USAGE_TOKENS = new Set(["--usage", "--usage-spec"]);
148
74
  const SCHEMA_TOKEN = "--schema";
@@ -379,19 +305,16 @@ function parseHelpFormat(argv) {
379
305
  return result;
380
306
  }
381
307
  /**
382
- * Strip `--format=...` / `--format <value>` tokens from argv so the help
383
- * dispatcher can pick out the positional <command> without tripping over the
384
- * format global. Callers must validate the format value via parseHelpFormat
385
- * before calling this — unsupported values should surface as usage errors,
386
- * not be silently dropped.
308
+ * Strip format and environment options so their values cannot become command
309
+ * names. Callers must validate options via resolveHelpOptions first.
387
310
  */
388
- function stripFormatTokens(argv) {
311
+ function stripHelpOptionTokens(argv) {
389
312
  const out = [];
390
313
  for (let i = 0; i < argv.length; i += 1) {
391
314
  const token = argv[i];
392
- if (token.startsWith("--format="))
315
+ if (token.startsWith("--format=") || token.startsWith("--env="))
393
316
  continue;
394
- if (token === "--format") {
317
+ if (token === "--format" || token === "--env") {
395
318
  i += 1; // skip the value
396
319
  continue;
397
320
  }
@@ -421,9 +344,9 @@ function renderAliasesHelp() {
421
344
  .map(([aliasCommand, canonicalCommand]) => ` ${aliasCommand} → ${canonicalCommand}`)
422
345
  .join("\n")}\n`;
423
346
  }
424
- function emitCommandHelp(stdout, stderr, commandName, schema, asJson) {
347
+ function emitCommandHelp(stdout, stderr, commandName, schema, asJson, adminDiscovery) {
425
348
  if (asJson) {
426
- const payload = renderCommandHelpAsJson(commandName);
349
+ const payload = renderCommandHelpAsJson(commandName, { adminDiscovery });
427
350
  const parsed = JSON.parse(payload);
428
351
  if (parsed.error) {
429
352
  writeLine(stderr, parsed.error);
@@ -432,8 +355,9 @@ function emitCommandHelp(stdout, stderr, commandName, schema, asJson) {
432
355
  stdout(payload);
433
356
  return 0;
434
357
  }
435
- const helpText = renderCommandHelp(commandName, { schema });
436
- if (helpText.startsWith("unknown command:")) {
358
+ const helpText = renderCommandHelp(commandName, { schema, adminDiscovery });
359
+ if (helpText.startsWith("unknown command:") ||
360
+ helpText.trim() === ADMIN_DISCOVERY_VERIFICATION_ERROR) {
437
361
  writeLine(stderr, helpText.trim());
438
362
  return 1;
439
363
  }
@@ -644,6 +568,47 @@ export async function runCli(argv, dependencies = {}) {
644
568
  }));
645
569
  return 0;
646
570
  }
571
+ const resolveConfigPath = () => dependencies.configPath ??
572
+ (dependencies.resolveConfigPath ?? resolveFlywheelConfigPath)();
573
+ const loadConfig = dependencies.loadConfig ??
574
+ (dependencies.configPath
575
+ ? (filePath) => loadFlywheelConfig({
576
+ env: { ...process.env, FLYWHEEL_CLI_CONFIG_PATH: filePath },
577
+ })
578
+ : async () => loadFlywheelConfig());
579
+ const configExists = dependencies.configExists ?? defaultConfigExists;
580
+ const saveConfig = dependencies.saveConfig ??
581
+ (async (filePath, config) => saveFlywheelConfig(config, filePath));
582
+ const resolveEnvApiKey = dependencies.resolveEnvApiKey ??
583
+ ((envVar) => process.env[envVar]?.trim() || undefined);
584
+ let credentialFile = dependencies.credentialFile;
585
+ const resolveCredentialFile = () => credentialFile ??= resolveCredentialFilePath();
586
+ async function resolveHelpAdminDiscovery(environment) {
587
+ try {
588
+ const config = await (dependencies.loadConfig ?? inspectFlywheelConfig)(resolveConfigPath()) ?? { schemaVersion: 1 };
589
+ const profile = resolveRuntimeProfile(config, environment);
590
+ const runtimeConfig = await resolveRuntimeAuthConfig(config, profile, resolveEnvApiKey, resolveCredentialFile, true, dependencies.readCredential ?? readCredential);
591
+ if (!adminKeyFromEnv() &&
592
+ (!runtimeConfig.apiKey || activeCredentialIsApiKey(runtimeConfig.apiKey))) {
593
+ return false;
594
+ }
595
+ const client = (dependencies.createHttpClient ?? createHttpClient)({
596
+ baseUrl: runtimeConfig.baseUrl,
597
+ apiKey: runtimeConfig.apiKey,
598
+ cliVersion: CLI_VERSION,
599
+ commandName: "help",
600
+ retryEnabled: false,
601
+ timeoutMs: 10_000,
602
+ });
603
+ const response = await client.requestJson("GET", "/auth/admin-status", adminAuthRequestOptions(runtimeConfig.apiKey));
604
+ return (response !== null &&
605
+ typeof response === "object" &&
606
+ response.is_admin === true);
607
+ }
608
+ catch {
609
+ return false;
610
+ }
611
+ }
647
612
  const usagePrivateFlag = argv.find((token) => token.startsWith(USAGE_EXTRAS_PREFIX) ||
648
613
  token.startsWith(USAGE_VERSION_PREFIX));
649
614
  if (usagePrivateFlag !== undefined) {
@@ -656,23 +621,40 @@ export async function runCli(argv, dependencies = {}) {
656
621
  // below. Non-help commands let `parseCliArgs` validate --format against the
657
622
  // full json|tsv|csv|table set; validating here would reject legitimate
658
623
  // runtime formats like `flywheel hosted:node:list --format=csv`.
659
- function resolveHelpFormat() {
624
+ function resolveHelpOptions(params) {
660
625
  const fmt = parseHelpFormat(argv);
661
626
  if (fmt.kind === "invalid") {
662
627
  writeLine(stderr, `invalid --format=${fmt.value}: help supports --format=json or no --format (text)`);
663
628
  return EXIT_USAGE;
664
629
  }
665
- return { json: fmt.kind === "json" };
630
+ if (!params) {
631
+ const parsed = parseCliArgs(["help", ...stripHelpExtras(argv.slice(1))], argv.length, GLOBAL_BOOLEAN_FLAG_NAMES);
632
+ if (!parsed.ok) {
633
+ writeLine(stderr, parsed.message);
634
+ return parsed.exitCode;
635
+ }
636
+ params = parsed.params;
637
+ }
638
+ try {
639
+ const environment = params.env === undefined
640
+ ? undefined
641
+ : extractGlobals({ env: params.env }).globals.env;
642
+ return { json: fmt.kind === "json", environment };
643
+ }
644
+ catch (error) {
645
+ if (!(error instanceof CliUsageError))
646
+ throw error;
647
+ writeLine(stderr, error.message);
648
+ return error.exitCode;
649
+ }
666
650
  }
667
- // Top-level help / `help ...` dispatcher runs BEFORE parseCliArgs because
668
- // `flywheel --help` and `flywheel help ...` aren't valid command tokens —
669
- // they'd fail COMMAND_TOKEN_PATTERN and return "unknown command" if we
670
- // let the parser run first. Per-command help (`flywheel <cmd> --help`,
651
+ // Normalize top-level help aliases to the canonical help command for option
652
+ // parsing. Per-command help (`flywheel <cmd> --help`,
671
653
  // `flywheel <cmd> --schema --help`) is detected AFTER parseCliArgs binds
672
654
  // values to flags, so a call like `profile:set --name -h --base_url ...`
673
655
  // does not incorrectly drop into help mode on the `-h` value token.
674
656
  if (isHelpToken(first)) {
675
- const resolved = resolveHelpFormat();
657
+ const resolved = resolveHelpOptions();
676
658
  if (typeof resolved === "number")
677
659
  return resolved;
678
660
  const extrasParsed = parseHelpExtras(argv);
@@ -681,16 +663,18 @@ export async function runCli(argv, dependencies = {}) {
681
663
  return EXIT_USAGE;
682
664
  }
683
665
  const extras = extrasParsed.kind === "ok" ? extrasParsed.extras : [];
684
- stdout(resolved.json ? renderHelpAsJson(extras) : renderHelp(extras));
666
+ const adminDiscovery = await resolveHelpAdminDiscovery(resolved.environment);
667
+ stdout(resolved.json
668
+ ? renderHelpAsJson(extras, { adminDiscovery })
669
+ : renderHelp(extras, { adminDiscovery }));
685
670
  return 0;
686
671
  }
687
672
  if (first === "help") {
688
- const resolved = resolveHelpFormat();
673
+ const resolved = resolveHelpOptions();
689
674
  if (typeof resolved === "number")
690
675
  return resolved;
691
- // Strip --format and --_help_extras tokens so the positional <command>
692
- // lookup isn't fooled by them occupying rest[0].
693
- const { commandArgs: helpArgs, schema, aliases, } = normalizeCommandHelpArgs(stripHelpExtras(stripFormatTokens(rest)));
676
+ // Strip help globals so their values cannot become a command name.
677
+ const { commandArgs: helpArgs, schema, aliases, } = normalizeCommandHelpArgs(stripHelpExtras(stripHelpOptionTokens(rest)));
694
678
  const extrasParsed = parseHelpExtras(argv);
695
679
  if (extrasParsed.kind === "invalid") {
696
680
  writeLine(stderr, "invalid --_help_extras payload");
@@ -706,17 +690,16 @@ export async function runCli(argv, dependencies = {}) {
706
690
  }
707
691
  if (helpArgs.length === 0) {
708
692
  const extras = extrasParsed.kind === "ok" ? extrasParsed.extras : [];
709
- stdout(resolved.json ? renderHelpAsJson(extras) : renderHelp(extras));
693
+ const adminDiscovery = await resolveHelpAdminDiscovery(resolved.environment);
694
+ stdout(resolved.json
695
+ ? renderHelpAsJson(extras, { adminDiscovery })
696
+ : renderHelp(extras, { adminDiscovery }));
710
697
  return 0;
711
698
  }
712
- // --_help_extras is only valid on top-level help. Surface mis-use
713
- // as a usage error rather than silently ignoring it.
714
699
  if (extrasParsed.kind === "ok") {
715
700
  writeLine(stderr, "unknown flag: --_help_extras");
716
701
  return EXIT_USAGE;
717
702
  }
718
- // `help <alias>` must resolve the same alias map used by the SHORTCUTS
719
- // section so advertised shortcuts get executable help pages.
720
703
  const rawCommandName = helpArgs[0];
721
704
  const commandName = Object.prototype.hasOwnProperty.call(RUNTIME_ALIASES, rawCommandName)
722
705
  ? RUNTIME_ALIASES[rawCommandName]
@@ -724,7 +707,7 @@ export async function runCli(argv, dependencies = {}) {
724
707
  const retiredExitCode = emitRetiredCommandName(commandName, argv, stderr);
725
708
  if (retiredExitCode !== undefined)
726
709
  return retiredExitCode;
727
- return emitCommandHelp(stdout, stderr, commandName, schema, resolved.json);
710
+ return emitCommandHelp(stdout, stderr, commandName, schema, resolved.json, await resolveHelpAdminDiscovery(resolved.environment));
728
711
  }
729
712
  // --_help_extras is reserved for top-level help dispatch only. Reject it
730
713
  // when seen on any other command path so it cannot leak into runtime
@@ -761,10 +744,10 @@ export async function runCli(argv, dependencies = {}) {
761
744
  const helpRequested = parsed.params.help === true || parsed.params.h === true;
762
745
  const schemaRequested = parsed.params.schema === true;
763
746
  if (helpRequested) {
764
- const resolved = resolveHelpFormat();
747
+ const resolved = resolveHelpOptions(parsed.params);
765
748
  if (typeof resolved === "number")
766
749
  return resolved;
767
- return emitCommandHelp(stdout, stderr, parsed.command, schemaRequested, resolved.json);
750
+ return emitCommandHelp(stdout, stderr, parsed.command, schemaRequested, resolved.json, await resolveHelpAdminDiscovery(resolved.environment));
768
751
  }
769
752
  if (schemaRequested && parsed.command !== "repo:node:create") {
770
753
  writeLine(stderr, "--schema is only valid with --help");
@@ -818,70 +801,12 @@ export async function runCli(argv, dependencies = {}) {
818
801
  }
819
802
  return 0;
820
803
  }
821
- const configPath = dependencies.configPath ??
822
- (dependencies.resolveConfigPath ?? resolveFlywheelConfigPath)();
823
- const loadConfig = dependencies.loadConfig ??
824
- (dependencies.configPath
825
- ? (filePath) => loadFlywheelConfig({
826
- env: { ...process.env, FLYWHEEL_CLI_CONFIG_PATH: filePath },
827
- })
828
- : async () => loadFlywheelConfig());
829
- const configExists = dependencies.configExists ?? defaultConfigExists;
830
- const saveConfig = dependencies.saveConfig ??
831
- (async (filePath, config) => saveFlywheelConfig(config, filePath));
832
- const resolveEnvApiKey = dependencies.resolveEnvApiKey ??
833
- ((envVar) => process.env[envVar]?.trim() || undefined);
804
+ const configPath = resolveConfigPath();
834
805
  const config = await loadConfig(configPath);
835
806
  const runtimeConfigExists = dependencies.loadConfig === undefined
836
807
  ? await configExists(configPath)
837
808
  : true;
838
- // `--env=<name>` accepts a unified TOML profile or a built-in profile name
839
- // (prod / staging). Built-ins synthesise a minimal Profile so the rest of
840
- // the pipeline (base URL resolution and per-profile keychain lookups) treats
841
- // them uniformly. The built-in base URL is the runtime source of truth
842
- // (never written to config.toml); `--env=<builtin>` selects it for one call
843
- // without mutating disk state.
844
- let profile = null;
845
- if (globals.env) {
846
- // Built-in names (`prod` / `staging`) are reserved and must always
847
- // resolve to `BUILTIN_PROFILES`. Checking built-ins BEFORE the
848
- // TOML loader prevents a stray `profiles/staging.toml` (e.g. left
849
- // over from manual setup before built-ins existed) from silently
850
- // shadowing the built-in and routing requests — and, via the
851
- // per-profile key lookup in `resolveRuntimeAuthConfig`, stored
852
- // credentials — to an unintended origin. `env:switch` enforces
853
- // the same reservation; resolving built-ins first keeps
854
- // `--env=<name>` and `env:switch --name <name>` in lockstep.
855
- if (isBuiltinProfileName(globals.env)) {
856
- const builtinBaseUrl = resolveBuiltinBaseUrl(globals.env);
857
- if (builtinBaseUrl) {
858
- profile = { name: globals.env, baseUrl: builtinBaseUrl };
859
- }
860
- }
861
- else {
862
- const fromToml = config.profiles && Object.hasOwn(config.profiles, globals.env)
863
- ? { name: globals.env, ...config.profiles[globals.env] }
864
- : null;
865
- if (fromToml) {
866
- profile = fromToml;
867
- }
868
- if (!profile) {
869
- const available = BUILTIN_PROFILE_NAMES.join(", ");
870
- throw new CliUsageError(`unknown profile: ${globals.env}. Built-in profiles: ${available}`);
871
- }
872
- }
873
- }
874
- if (!profile &&
875
- config.activeProfile &&
876
- !isBuiltinProfileName(config.activeProfile)) {
877
- const active = config.profiles && Object.hasOwn(config.profiles, config.activeProfile)
878
- ? config.profiles[config.activeProfile]
879
- : undefined;
880
- if (active)
881
- profile = { name: config.activeProfile, ...active };
882
- }
883
- let credentialFile = dependencies.credentialFile;
884
- const resolveCredentialFile = () => credentialFile ??= resolveCredentialFilePath();
809
+ const profile = resolveRuntimeProfile(config, globals.env);
885
810
  if (dependencies.loadConfig === undefined &&
886
811
  !RUNTIME_CONFIG_OPTIONAL_COMMANDS.includes(commandName)) {
887
812
  // Env-only execution (CI/containers, scripted health checks) and
@@ -910,10 +835,7 @@ export async function runCli(argv, dependencies = {}) {
910
835
  profile !== null ||
911
836
  Boolean(process.env.FLYWHEEL_BASE_URL?.trim());
912
837
  const runtimeConfig = await resolveRuntimeAuthConfig(config, profile, resolveEnvApiKey, resolveCredentialFile, !CREDENTIAL_LOOKUP_SKIPPED_COMMANDS.includes(commandName), dependencies.readCredential ?? readCredential, localRepositoryRemoteCommand);
913
- const selectedProfileName = profile?.name ??
914
- (typeof config.activeProfile === "string" && config.activeProfile.trim()
915
- ? config.activeProfile.trim()
916
- : "default");
838
+ const selectedProfileName = selectedRuntimeProfileName(config, profile);
917
839
  missingCredentialRemediation = runtimeConfig.apiKey
918
840
  ? undefined
919
841
  : selectedProfileName === "default"
@@ -981,10 +903,7 @@ export async function runCli(argv, dependencies = {}) {
981
903
  ? {
982
904
  client,
983
905
  baseUrl: runtimeConfig.baseUrl,
984
- profile: profile?.name ??
985
- (typeof config.activeProfile === "string" && config.activeProfile.trim()
986
- ? config.activeProfile.trim()
987
- : "default"),
906
+ profile: selectedProfileName,
988
907
  }
989
908
  : undefined;
990
909
  const localAdapter = localRepositoryCommand
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EAEzB,qBAAqB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,oBAAoB,EACpB,cAAc,EACd,yBAAyB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,kCAAkC,EAClC,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,GAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,uBAAuB,EACvB,eAAe,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EACN,wBAAwB,EACxB,0BAA0B,EAC1B,UAAU,GAEV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACN,YAAY,EACZ,gBAAgB,GAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EACN,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA2CxD,SAAS,aAAa,CAAC,KAA0B;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,KAA0B;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AACD,SAAS,SAAS,CAAC,MAAc,EAAE,IAAY;IAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,OAAO;IACR,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACrB,CAAC;AAGD,SAAS,kBAAkB,CAAC,IAAc;IACzC,OAAO,IAAI,CAAC,IAAI,CACf,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAChB,KAAK,KAAK,eAAe;QACzB,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CACrD,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC9B,OAAe,EACf,IAAc,EACd,MAAc;IAEd,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,OAAO,GAAG,GAAG,OAAO,qBAAqB,WAAW,EAAE,CAAC;IAC7D,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,SAAS,CACR,MAAM,EACN,IAAI,CAAC,SAAS,CAAC;YACd,KAAK,EAAE;gBACN,IAAI,EAAE,sBAAsB;gBAC5B,OAAO;gBACP,WAAW;gBACX,SAAS,EAAE,CAAC;aACZ;SACD,CAAC,CACF,CAAC;IACH,CAAC;SAAM,CAAC;QACP,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAGD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAC7C,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAC/C,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACjD,MAAM,eAAe,GAAgC,IAAI,GAAG,CAAiB;IAC5E,aAAa;IACb,MAAM;IACN,SAAS;IACT,aAAa;IACb,eAAe;IACf,cAAc;IACd,OAAO;IACP,oBAAoB;IACpB,mBAAmB;IACnB,eAAe;IACf,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,OAAO;CACP,CAAC,CAAC;AAOH,SAAS,eAAe,CAAC,IAAc;IACtC,IAAI,GAAuB,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC1C,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM;QACP,CAAC;IACF,CAAC;IACD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACJ,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACxD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,IACC,CAAC,KAAK;YACN,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAQ,KAA4B,CAAC,KAAK,KAAK,QAAQ;YACvD,OAAQ,KAA2B,CAAC,IAAI,KAAK,QAAQ;YACrD,OAAQ,KAA8B,CAAC,OAAO,KAAK,QAAQ,EAC1D,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,KAAK,GAAI,KAA2B,CAAC,KAAuB,CAAC;QACnE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC;YACX,KAAK;YACL,IAAI,EAAG,KAA0B,CAAC,IAAI;YACtC,OAAO,EAAG,KAA6B,CAAC,OAAO;SAC/C,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,IAAc;IACtC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC9D,CAAC;AAMD,SAAS,aAAa,CAAC,KAAc;IACpC,OAAO,CACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CACzE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC3B,KAAc;IAEd,OAAO,CACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACtD,MAAM,SAAS,GAAG,KAKjB,CAAC;YACF,OAAO,CACN,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;gBAClC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAChD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CACtB;gBACD,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ;gBACzC,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;oBAC/B,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CACvC,CAAC;QACH,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC7B,KAAc;IAEd,OAAO,CACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACtD,MAAM,SAAS,GAAG,KAGjB,CAAC;YACF,OAAO,CACN,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ;gBACzC,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CACxC,CAAC;QACH,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,SAAS,GAAG,KAWjB,CAAC;IACF,OAAO,CACN,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAClC,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ;QACnC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,KAAuB,CAAC;QACtD,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ;QACrC,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzE,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS;YAChC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS;YAChC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS;YAChC,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC;QACxE,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CACzE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACvC,MAAM,SAAS,GAAG,IAAI;SACpB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;SACxD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,IAAI;SAC3B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;SACzD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACrD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QACjD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE5B,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACJ,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,GAAG,OAAO,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AACD,MAAM,gCAAgC,GAAG;IACxC,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;CACH,CAAC;AAEX,MAAM,iCAAiC,GAAG;IACzC,GAAG,6BAA6B,CAAC,MAAM,CACtC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CACtD,OAA4D,CAC5D,CACD;IACD,GAAG,yBAAyB;IAC5B,GAAG,mBAAmB;CACtB,CAAC;AAEF,wEAAwE;AACxE,iFAAiF;AACjF,MAAM,kCAAkC,GAAsB;IAC7D,cAAc;IACd,cAAc;IACd,aAAa;IACb,eAAe;IACf,YAAY;IACZ,sBAAsB;IACtB,wBAAwB;IACxB,UAAU;IACV,YAAY;IACZ,GAAG,iCAAiC;CACpC,CAAC;AAEF,2EAA2E;AAC3E,2EAA2E;AAC3E,MAAM,gCAAgC,GAAsB;IAC3D,GAAG,kCAAkC;IACrC,aAAa;CACb,CAAC;AAEF,MAAM,8CAA8C,GAAG,IAAI,GAAG,CAAC;IAC9D,kBAAkB;IAClB,mBAAmB;IACnB,wBAAwB;IACxB,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,wBAAwB;IACxB,2BAA2B;IAC3B,8BAA8B;IAC9B,iCAAiC;CACjC,CAAC,CAAC;AAEH,MAAM,4BAA4B,GACjC,wDAAwD,CAAC;AAE1D,MAAM,kCAAkC,GACvC,8GAA8G,CAAC;AAEhH,SAAS,WAAW,CAAC,KAAa;IACjC,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,IAAc;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,MAAM,SAAS,GAAI,eAA0C,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAeD,SAAS,eAAe,CAAC,IAAc;IACtC,IAAI,MAAM,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAyB,CAAC;QAC9B,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,SAAS;QACV,CAAC;QACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QAChD,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAc;IAC5C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC1E,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC/C,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;YACzB,SAAS;QACV,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAc;IAK/C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACV,CAAC;QACD,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC7C,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACV,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,iBAAiB;IACzB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;SACvC,GAAG,CACH,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE,EAAE,CACpC,KAAK,YAAY,MAAM,gBAAgB,EAAE,CAC1C;SACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CACvB,MAAc,EACd,MAAc,EACd,WAAmB,EACnB,MAAe,EACf,MAAe,EACf,cAAuB;IAEvB,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;QACzD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC;QACV,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,CAAC;QAChB,OAAO,CAAC,CAAC;IACV,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5E,IACC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACvC,QAAQ,CAAC,IAAI,EAAE,KAAK,kCAAkC,EACrD,CAAC;QACF,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACV,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjB,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB,EAAE,OAAe;IAClE,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,GAAG,QAAQ,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAC9B,WAAmB,EACnB,WAAqB,EACrB,MAAwC;IAExC,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,aAAa,CACtB,gCAAgC,UAAU,CAAC,IAAI,EAAE,CACjD,CAAC;YACH,CAAC;YACD,SAAS;QACV,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,aAAa,CAAC,uBAAuB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACjC,CAAC;AACF,CAAC;AAED,SAAS,4BAA4B,CACpC,WAAmB,EACnB,MAAwC;IAExC,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;IACR,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAC1B,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CACtD,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,CACtB,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;SACxC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC/C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CACrC,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,SAAS;QACV,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,aAAa,CAAC,oBAAoB,WAAW,OAAO,QAAQ,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,IAAI,aAAa,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAe,EAAE,OAAe;IACpE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,cAAc,KAAK,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CACT,gEAAgE,gBAAgB,IAAI,CACpF,CAAC;IACF,wEAAwE;IACxE,6EAA6E;IAC7E,mCAAmC;IACnC,KAAK,CAAC,IAAI,CACT,mFAAmF,CACnF,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACvC,OAAO,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,qBAAqB,CAAC,IAK9B;IACA,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACtD,IAAI,WAAW,KAAK,iBAAiB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACzD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,OAAO;QACN,OAAO;QACP,kFAAkF,MAAM,CAAC,IAAI,EAAE,mBAAmB;KAClH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAkB;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,GAAG,OAAO,GAAG,CAAC;IAChC,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,gCAAgC,CAAC,UAAkB;IAC3D,MAAM,WAAW,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAC3D,qEAAqE;IACrE,2EAA2E;IAC3E,mEAAmE;IACnE,OAAO,4CAA4C,WAAW,qFAAqF,CAAC;AACrJ,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAa;IACjD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAI,IAA6B,CAAC,MAAM,CAAC;IACrD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAQ,MAA6B,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACjE,CAAC;AAED,SAAS,gCAAgC,CAAC,IAAa;IACtD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAQ,IAA6B,CAAC,MAAM,KAAK,4BAA4B,CAAC;AAC/E,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB,EAAE,IAAa;IAClE,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAChD,IACC,8CAA8C,CAAC,GAAG,CAAC,WAAW,CAAC;QAC/D,gCAAgC,CAAC,UAAU,CAAC,EAC3C,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAalC;IACA,MAAM,QAAQ,GAA4B;QACzC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;KAClB,CAAC;IACF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC1C,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvC,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACzC,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvC,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC3B,IAAc,EACd,eAAmC,EAAE;IAErC,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,wBAAwB;QAC1D,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,0CAA0C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,aAAa,CAAC;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,aAAa,CAAC;IACpD,MAAM,gBAAgB,GAAG,cAAc,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,mBAAmB,EAAE;QACvF,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,SAAS,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;QACzD,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE1B,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,SAAS,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;YACrD,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,MAAM,CACL,eAAe,CAAC;YACf,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,YAAY,CAAC,OAAO;SAC7B,CAAC,CACF,CAAC;QACF,OAAO,CAAC,CAAC;IACV,CAAC;IAED,MAAM,iBAAiB,GAAG,GAAW,EAAE,CACtC,YAAY,CAAC,UAAU;QACvB,CAAC,YAAY,CAAC,iBAAiB,IAAI,yBAAyB,CAAC,EAAE,CAAC;IACjE,MAAM,UAAU,GACf,YAAY,CAAC,UAAU;QACvB,CAAC,YAAY,CAAC,UAAU;YACvB,CAAC,CAAC,CAAC,QAAgB,EAAE,EAAE,CACtB,kBAAkB,CAAC;gBAClB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE;aAC3D,CAAC;YACH,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,IAAI,mBAAmB,CAAC;IACtE,MAAM,UAAU,GACf,YAAY,CAAC,UAAU;QACvB,CAAC,KAAK,EAAE,QAAgB,EAAE,MAAwB,EAAE,EAAE,CACrD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,gBAAgB,GACrB,YAAY,CAAC,gBAAgB;QAC7B,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;IAChE,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IACjD,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAC1C,cAAc,KAAK,yBAAyB,EAAE,CAAC;IAEhD,KAAK,UAAU,yBAAyB,CACvC,WAA+B;QAE/B,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,IAAI,qBAAqB,CAAC,CACtE,iBAAiB,EAAE,CACnB,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC3D,MAAM,aAAa,GAAG,MAAM,wBAAwB,CACnD,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,IAAI,EACJ,YAAY,CAAC,cAAc,IAAI,cAAc,CAC7C,CAAC;YACF,IACC,CAAC,eAAe,EAAE;gBAClB,CAAC,CAAC,aAAa,CAAC,MAAM,IAAI,wBAAwB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EACxE,CAAC;gBACF,OAAO,KAAK,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC;gBAClE,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,UAAU,EAAE,WAAW;gBACvB,WAAW,EAAE,MAAM;gBACnB,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CACxC,KAAK,EACL,oBAAoB,EACpB,uBAAuB,CAAC,aAAa,CAAC,MAAM,CAAC,CAC7C,CAAC;YACF,OAAO,CACN,QAAQ,KAAK,IAAI;gBACjB,OAAO,QAAQ,KAAK,QAAQ;gBAC3B,QAAoC,CAAC,QAAQ,KAAK,IAAI,CACvD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CACjC,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACrC,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CACvC,CAAC;IACF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpC,SAAS,CACR,MAAM,EACN,gBAAgB,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAChD,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,+BAA+B,CAClC,CAAC;QACF,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,uEAAuE;IACvE,iEAAiE;IACjE,SAAS,kBAAkB,CAC1B,MAAyC;QAEzC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,CACR,MAAM,EACN,oBAAoB,GAAG,CAAC,KAAK,qDAAqD,CAClF,CAAC;YACF,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,YAAY,CAC1B,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3C,IAAI,CAAC,MAAM,EACX,yBAAyB,CACzB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBAChB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,OAAO,MAAM,CAAC,QAAQ,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,KAAK,SAAS;gBAC3C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,WAAW,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC;gBAAE,MAAM,KAAK,CAAC;YACnD,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC,QAAQ,CAAC;QACvB,CAAC;IACF,CAAC;IAED,4EAA4E;IAC5E,sDAAsD;IACtD,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAClD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;YACpD,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7E,MAAM,CACL,QAAQ,CAAC,IAAI;YACZ,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC;YAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CACzC,CAAC;QACF,OAAO,CAAC,CAAC;IACV,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAClD,mEAAmE;QACnE,MAAM,EACL,WAAW,EAAE,QAAQ,EACrB,MAAM,EACN,OAAO,GACP,GAAG,wBAAwB,CAC3B,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAC5C,CAAC;QACF,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;YACpD,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;YACtD,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;QACV,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC7E,MAAM,CACL,QAAQ,CAAC,IAAI;gBACZ,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC;gBAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CACzC,CAAC;YACF,OAAO,CAAC,CAAC;QACV,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAChC,SAAS,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;YAClD,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CACvD,eAAe,EACf,cAAc,CACd;YACA,CAAC,CAAE,eAA0C,CAAC,cAAc,CAAC;YAC7D,CAAC,CAAC,cAAc,CAAC;QAClB,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAI,eAAe,KAAK,SAAS;YAAE,OAAO,eAAe,CAAC;QAC1D,OAAO,eAAe,CACrB,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,QAAQ,CAAC,IAAI,EACb,MAAM,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CACrD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,qEAAqE;IACrE,+BAA+B;IAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;QACxD,SAAS,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,MAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IAE1D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,iBAAiB,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;IACpE,MAAM,YAAY,GAAa,CAAC,GAAG,yBAAyB,CAAC,CAAC;IAC9D,IAAI,iBAAiB,EAAE,CAAC;QACvB,KAAK,MAAM,SAAS,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACpD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;gBAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACpD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;gBAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;IACF,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,4CAA4C;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9E,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;IACtD,IAAI,aAAa,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAClD,OAAO,eAAe,CACrB,MAAM,EACN,MAAM,EACN,MAAM,CAAC,OAAO,EACd,eAAe,EACf,QAAQ,CAAC,IAAI,EACb,MAAM,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CACrD,CAAC;IACH,CAAC;IACD,IAAI,eAAe,IAAI,MAAM,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QAC9D,SAAS,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;QACxD,OAAO,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,SAAS,CAAC,MAAM,EAAE,oBAAoB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,CAAC;IACV,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;IACnC,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,SAAS,CAAC,MAAM,EAAE,oBAAoB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,CAAC;IACV,CAAC;IAED,MAAM,sBAAsB,GAC3B,6BAA6B,CAAC,QAAQ,CAAC,WAAW,CAAC;QACnD,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC/C,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,4BAA4B,GACjC,gCAAgC,CAAC,QAAQ,CACxC,WAAgE,CAChE,CAAC;IACH,MAAM,iBAAiB,GACtB,sBAAsB,IAAI,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1E,MAAM,eAAe,GACpB,YAAY,CAAC,eAAe;QAC5B,CAAC,KAAK,EAAE,IAAY,EAAE,QAA6B,EAAE,EAAE;YACtD,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IAEJ,IAAI,gBAAgB,GAAG,gBAAgB,CAAC;IACxC,IAAI,OAAO,GAAiD,EAAE,CAAC;IAC/D,IAAI,mBAAoD,CAAC;IACzD,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,MAAM,yBAAyB,GAC9B,MAAM,CAAC,OAAO,KAAK,kBAAkB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;IAExE,IAAI,4BAAgD,CAAC;IACrD,IAAI,CAAC;QACJ,4BAA4B,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,GAAG;YACT,GAAG,SAAS,CAAC,OAAO;YACpB,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;YACjD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS,CAAC,OAAO,CAAC,cAAc;SACzE,CAAC;QACF,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;QAC/C,IAAI,yBAAyB,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,aAAa,CACtB,uDAAuD,CACvD,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,YAAY,CAC5B,kBAAkB,EAClB,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAC/B,CAAC;YACF,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;gBAChD,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,CAAC;QACV,CAAC;QACD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,mBAAmB,GACxB,YAAY,CAAC,UAAU,KAAK,SAAS;YACpC,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAE3D,IACC,YAAY,CAAC,UAAU,KAAK,SAAS;YACrC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,WAAW,CAAC,EACtD,CAAC;YACF,iEAAiE;YACjE,gEAAgE;YAChE,8DAA8D;YAC9D,+DAA+D;YAC/D,+DAA+D;YAC/D,4DAA4D;YAC5D,gEAAgE;YAChE,iEAAiE;YACjE,8DAA8D;YAC9D,oCAAoC;YACpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACzD,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACxD,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChE,OAAO,UAAU,CAAC;YACnB,CAAC;QACF,CAAC;QAED,MAAM,wBAAwB,GAC7B,YAAY,CAAC,UAAU,KAAK,SAAS;YACpC,CAAC,CAAC,mBAAmB;gBACpB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS;YACZ,CAAC,CAAC,OAAO,CAAC;QACZ,MAAM,sBAAsB,GAC3B,wBAAwB,KAAK,OAAO;YACpC,OAAO,KAAK,IAAI;YAChB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,wBAAwB,CACnD,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,CAAC,kCAAkC,CAAC,QAAQ,CAAC,WAAW,CAAC,EACzD,YAAY,CAAC,cAAc,IAAI,cAAc,EAC7C,4BAA4B,CAC5B,CAAC;QACF,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxE,4BAA4B,GAAG,aAAa,CAAC,MAAM;YAClD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mBAAmB,KAAK,SAAS;gBAClC,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,6BAA6B,mBAAmB,EAAE,CAAC;QACvD,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC;QAEzC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;QACvD,MAAM,oBAAoB,GACzB,WAAW,KAAK,eAAe;YAC9B,sBAAsB;YACtB,iBAAiB,EAAE,KAAK,KAAK,cAAc;YAC3C,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,cAAc,CAAC;QACnB,MAAM,eAAe,GAAiB,OAAO,CAAC,cAAc;YAC3D,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,WAAW,KAAK,eAAe;gBAChC,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,IAAI,oBAAoB,CAAC,CAAC;QAE1D,MAAM,eAAe,GACpB,OAAO,OAAO,EAAE,eAAe,KAAK,QAAQ;YAC3C,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,kBAAkB,GACvB,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACnC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;YACzB,CAAC,CAAC,OAAO,eAAe,KAAK,QAAQ;gBACpC,CAAC,CAAC,eAAe,GAAG,IAAI;gBACxB,CAAC,CAAC,SAAS,CAAC;QACf,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAClC,sBAAsB;YACrB,WAAW,KAAK,WAAW,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC;QAChE,mBAAmB,GAAG,SAAS,CAAC;QAChC,IACC,sBAAsB;YACtB,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjE,CAAC;YACF,mBAAmB,GAAG,MAAM,0BAA0B,CAAC;gBACtD,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM;aAC9B,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,sBAAsB,EAAE,CAAC;YAC5B,OAAO,aAAa,CAAC,IAAI,CAAC;YAC1B,OAAO,aAAa,CAAC,QAAQ,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,GACX,CAAC,sBAAsB,IAAI,4BAA4B;YACtD,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC;gBACrD,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,UAAU,EAAE,WAAW;gBACvB,WAAW;gBACX,SAAS;gBACT,YAAY;gBACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,aAAa,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI;gBACpC,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,kBAAkB;gBAC7B,cAAc,EAAE,OAAO,CAAC,cAAc;aACtC,CAAC;YACF,CAAC,CAAC,SAAS,CAAC;QACd,IACC,cAAc,KAAK,SAAS;YAC5B,CACC,WAAW,KAAK,YAAY;gBAC5B,WAAW,KAAK,sBAAsB;gBACtC,WAAW,KAAK,wBAAwB,CACxC,EACA,CAAC;YACF,qBAAqB,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,UAAU,GACf,4BAA4B,IAAI,MAAM;YACrC,CAAC,CAAC;gBACD,MAAM;gBACN,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,OAAO,EAAE,mBAAmB;aAC5B;YACD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,YAAY,GAAG,sBAAsB;YAC1C,CAAC,CAAC,IAAI,sBAAsB,CAAC,EAAE,UAAU,EAAE,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QAEb,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;YAC7B,MAAM,EAAE,aAAa;YACrB,WAAW,EACV,MAAM,EAAE,WAAW;gBACnB,CAAC,KAAK,IAAI,EAAE;oBACX,MAAM,IAAI,KAAK,CACd,oEAAoE,CACpE,CAAC;gBACH,CAAC,CAAC;YACH,UAAU,EAAE,MAAM,EAAE,UAAU;YAC9B,UAAU;YACV,MAAM;YACN,UAAU;YACV,WAAW,EAAE,mBAAmB;YAChC,qBAAqB,EAAE,aAAa,CAAC,iBAAiB;YACtD,kBAAkB,EAAE,OAAO,EAAE,OAAO;YACpC,kBAAkB,EACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,gBAAgB;YAC1D,aAAa,EAAE,OAAO,EAAE,SAAS;YACjC,wBAAwB;YACxB,sBAAsB;YACtB,uBAAuB,EAAE,aAAa,CAAC,mBAAmB;YAC1D,kBAAkB,EAAE,cAAc;YAClC,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,OAAO;YACP,MAAM,EAAE,cAAc,IAAI,CAAC,YAAY,CAAC,MAAM;gBAC7C,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;gBACzD,CAAC,CAAC,MAAM;YACT,MAAM,EAAE,cAAc,IAAI,CAAC,YAAY,CAAC,MAAM;gBAC7C,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;gBACzD,CAAC,CAAC,MAAM;YACT,gBAAgB;YAChB,eAAe;YACf,gBAAgB,EAAE,YAAY,EAAE,WAAW;YAC3C,mBAAmB,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;YAC/D,iBAAiB,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;YAChE,kBAAkB,EAAE,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;YAClE,oBAAoB,EAAE,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;YACtE,sBAAsB;YACtB,mBAAmB;SACnB,CAAC,CAAC;QAEH,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,CAAC;QACV,CAAC;QACD,IAAI,OAAO,YAAY,UAAU,IAAI,OAAO,YAAY,MAAM,EAAE,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtB,SAAS,CACR,MAAM,EACN,GAAG,WAAW,yEAAyE,CACvF,CAAC;gBACF,OAAO,UAAU,CAAC;YACnB,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;gBAC7B,2DAA2D;gBAC3D,6DAA6D;gBAC7D,oBAAoB;gBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACP,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,CAAC,CAAC;QACV,CAAC;QACD,MAAM,aAAa,GAAG,sBAAsB;YAC3C,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE;YAC1B,CAAC,CAAC,SAAS,CAAC;QACb,MAAM,QAAQ,GACb,iBAAiB;YAChB,CAAC,OAAO,CAAC,cAAc;YACvB,eAAe,KAAK,OAAO;YAC3B,CAAC,CAAC,CAAC,2BAA2B,CAC7B,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,sBAAsB,CACtB,IAAI,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;YAC3D,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACP,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,cAAc,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YACrD,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC;gBACrC,MAAM,CAAC,YAAY,CAAC,MAAM;oBACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBACjB,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACR,oEAAoE;YACrE,CAAC;YACD,OAAO,KAAK,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAA4B;gBACzC,KAAK,EAAE;oBACN,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,OAAO,EAAE,KAAK,CAAC,WAAW;iBAC1B;aACD,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAgC,CAAC;YAC1D,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACzB,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;YACxC,CAAC;YACD,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;YAC/C,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;gBAClD,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjC,OAAO,UAAU,CAAC;YACnB,CAAC;YACD,MAAM,OAAO,GAA4B;gBACxC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,UAAU;aACrB,CAAC;YACF,IAAI,KAAK,CAAC,UAAU;gBAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;YAC7D,IAAI,KAAK,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC7C,IAAI,KAAK,CAAC,WAAW;gBAAE,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;YAChE,IAAI,KAAK,CAAC,QAAQ;gBAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACtD,IAAI,KAAK,CAAC,mBAAmB;gBAC5B,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC,mBAAmB,CAAC;YAC1D,IAAI,KAAK,CAAC,QAAQ;gBAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACtD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;gBACpC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC;YAC9C,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC;gBACvE,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;gBACnD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACjB,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7B,OAAO,KAAK,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAA4B;gBACzC,KAAK,EAAE;oBACN,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,KAAK,CAAC,QAAQ;iBACzB;aACD,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAgC,CAAC;YAC1D,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC;YACpD,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;YAClC,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC1B,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC;YAChD,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACjC,CAAC;YACD,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC3C,SAAS,CACR,MAAM,EACN,IAAI,CAAC,SAAS,CAAC;gBACd,KAAK,EAAE;oBACN,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,CAAC;iBACZ;aACD,CAAC,CACF,CAAC;YACF,OAAO,CAAC,CAAC;QACV,CAAC;QAED,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG;gBAChB,KAAK,EAAE;oBACN,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAK,CAAC,SAAS;iBAC3B;aACD,CAAC;YACF,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YACnC,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC5B,OAAO,GAAG,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACjE,OAAO,GAAG,qBAAqB,CAAC;gBAC/B,WAAW;gBACX,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO;aACP,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,4BAA4B,EAAE,CAAC;gBAC1D,OAAO,GAAG,GAAG,OAAO,QAAQ,4BAA4B,GAAG,CAAC;YAC7D,CAAC;YACD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,0BAA0B,GAC/B,iBAAiB,KAAK,kCAAkC;gBACvD,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,yBAAyB,GAC9B,0BAA0B,EAAE,MAAM,KAAK,UAAU,CAAC;YACnD,MAAM,iCAAiC,GACtC,iBAAiB,KAAK,6BAA6B;gBACnD,sBAAsB,CAAC;YACxB,IAAI,cAAkC,CAAC;YACvC,IAAI,gBAA2D,CAAC;YAChE,IAAI,0BAA0B,EAAE,CAAC;gBAChC,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC;gBACjD,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,CAAC;gBACrD,IAAI,yBAAyB,EAAE,CAAC;oBAC/B,OAAO;wBACN,kDAAkD,cAAc,IAAI;4BACpE,qCAAqC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACP,OAAO;wBACN,yCAAyC,gBAAgB,eAAe;4BACxE,GAAG,cAAc,GAAG,CAAC;gBACvB,CAAC;YACF,CAAC;iBAAM,IAAI,iCAAiC,EAAE,CAAC;gBAC9C,MAAM,KAAK,GACV,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ;oBAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;oBACzB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;gBACtC,cAAc;oBACb,KAAK,KAAK,GAAG;wBACZ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE;wBACd,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;4BACvB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACvC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpB,gBAAgB,GAAG,UAAU,CAAC;gBAC9B,OAAO;oBACN,uDAAuD,cAAc,IAAI;wBACzE,iEAAiE,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC;YACjG,CAAC;YACD,MAAM,IAAI,GACT,yBAAyB;gBACxB,CAAC,CAAC,6BAA6B;gBAC/B,CAAC,CAAC,0BAA0B,KAAK,SAAS;oBACzC,iCAAiC;oBACjC,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,iBAAiB,KAAK,mBAAmB;wBAC1C,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS;4BACzC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,KAAK,eAAe;gCAC/C,CAAC,CAAC,gBAAgB;gCAClB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC;oCAChE,CAAC,CAAC,gBAAgB;oCAClB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;wCAC7C,CAAC,CAAC,YAAY;wCACd,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;4CAC3B,CAAC,CAAC,iBAAiB;4CACnB,CAAC,CAAC,YAAY,CAAC;YACxB,MAAM,QAAQ,GAA4B;gBACzC,KAAK,EAAE;oBACN,IAAI;oBACJ,OAAO;oBACP,SAAS,EAAE,KAAK,CAAC,QAAQ;iBACzB;aACD,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAgC,CAAC;YACxD,IAAI,cAAc;gBAAE,KAAK,CAAC,eAAe,GAAG,cAAc,CAAC;YAC3D,IAAI,gBAAgB;gBAAE,KAAK,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;YACjE,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,KAAK,CAAC,eAAe,GAAG;oBACvB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;iBACtD,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,KAAK,CAAC,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;YACD,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC5B,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,cAAc,CAAC;QACvB,CAAC;QACD,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACnC,OAAO,cAAc,CAAC;IACvB,CAAC;YAAS,CAAC;QACV,KAAK,OAAO,CAAC;IACd,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAa;IAC3C,IACC,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAC/B,IAAI,CAAC,MAAM,KAAK,IAAI;QACpB,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EACnC,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,IAAI;IAClB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED,SAAS,iBAAiB;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,IAAI,iBAAiB,EAAE,EAAE,CAAC;IACzB,KAAK,IAAI,EAAE,CAAC;AACb,CAAC"}