paperlint 6.2.2 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +8 -1
  2. package/dist/adapters/hotcrp/index.d.ts +7 -0
  3. package/dist/adapters/hotcrp/index.d.ts.map +1 -0
  4. package/dist/adapters/hotcrp/index.js +7 -0
  5. package/dist/adapters/hotcrp/index.js.map +1 -0
  6. package/dist/adapters/hotcrp/portal.io.d.ts +20 -0
  7. package/dist/adapters/hotcrp/portal.io.d.ts.map +1 -0
  8. package/dist/adapters/hotcrp/portal.io.js +90 -0
  9. package/dist/adapters/hotcrp/portal.io.js.map +1 -0
  10. package/dist/adapters/hotcrp/response.d.ts +13 -0
  11. package/dist/adapters/hotcrp/response.d.ts.map +1 -0
  12. package/dist/adapters/hotcrp/response.js +138 -0
  13. package/dist/adapters/hotcrp/response.js.map +1 -0
  14. package/dist/cli.d.ts +3 -1
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +109 -34
  17. package/dist/cli.js.map +1 -1
  18. package/dist/domain/result.d.ts +4 -0
  19. package/dist/domain/result.d.ts.map +1 -1
  20. package/dist/domain/result.js +2 -0
  21. package/dist/domain/result.js.map +1 -1
  22. package/dist/domain/submission.d.ts +106 -0
  23. package/dist/domain/submission.d.ts.map +1 -0
  24. package/dist/domain/submission.js +39 -0
  25. package/dist/domain/submission.js.map +1 -0
  26. package/dist/domain/venue-name.d.ts +38 -0
  27. package/dist/domain/venue-name.d.ts.map +1 -0
  28. package/dist/domain/venue-name.js +71 -0
  29. package/dist/domain/venue-name.js.map +1 -0
  30. package/dist/folder-venue-rule.d.ts +51 -0
  31. package/dist/folder-venue-rule.d.ts.map +1 -0
  32. package/dist/folder-venue-rule.js +96 -0
  33. package/dist/folder-venue-rule.js.map +1 -0
  34. package/dist/init.d.ts +6 -0
  35. package/dist/init.d.ts.map +1 -1
  36. package/dist/init.js +3 -3
  37. package/dist/init.js.map +1 -1
  38. package/dist/lib/paper-config.d.ts.map +1 -1
  39. package/dist/lib/paper-config.js +5 -1
  40. package/dist/lib/paper-config.js.map +1 -1
  41. package/dist/new-paper.d.ts +19 -5
  42. package/dist/new-paper.d.ts.map +1 -1
  43. package/dist/new-paper.js +23 -4
  44. package/dist/new-paper.js.map +1 -1
  45. package/dist/paper-settings.d.ts +3 -0
  46. package/dist/paper-settings.d.ts.map +1 -1
  47. package/dist/paper-settings.js +20 -4
  48. package/dist/paper-settings.js.map +1 -1
  49. package/dist/ports/submission-portal.d.ts +19 -0
  50. package/dist/ports/submission-portal.d.ts.map +1 -0
  51. package/dist/ports/submission-portal.js +2 -0
  52. package/dist/ports/submission-portal.js.map +1 -0
  53. package/dist/presets.d.ts +24 -0
  54. package/dist/presets.d.ts.map +1 -1
  55. package/dist/presets.js +35 -3
  56. package/dist/presets.js.map +1 -1
  57. package/dist/rules-config.js +1 -1
  58. package/dist/submission.d.ts +61 -0
  59. package/dist/submission.d.ts.map +1 -0
  60. package/dist/submission.js +211 -0
  61. package/dist/submission.js.map +1 -0
  62. package/dist/tex-requirements.d.ts +3 -0
  63. package/dist/tex-requirements.d.ts.map +1 -1
  64. package/dist/tex-requirements.js +3 -0
  65. package/dist/tex-requirements.js.map +1 -1
  66. package/dist/tex-venue-rules.d.ts +6 -7
  67. package/dist/tex-venue-rules.d.ts.map +1 -1
  68. package/dist/tex-venue-rules.js +10 -14
  69. package/dist/tex-venue-rules.js.map +1 -1
  70. package/dist/types.d.ts +13 -0
  71. package/dist/types.d.ts.map +1 -1
  72. package/docs/configuration.md +17 -10
  73. package/docs/rules/paper/folder-venue-leftover.md +104 -0
  74. package/docs/rules/talk/captions-cover.md +1 -1
  75. package/docs/rules/talk/duration-floor.md +1 -1
  76. package/docs/rules.md +44 -42
  77. package/docs/skills.md +5 -4
  78. package/docs/submission.md +64 -0
  79. package/docs/talk.md +1 -1
  80. package/lib/paper-config.ts +6 -1
  81. package/lib/skill-checks.d.mts +7 -0
  82. package/lib/skill-trigger-cases.mjs +11 -0
  83. package/package.json +2 -2
  84. package/presets/aidc.jsonc +6 -0
  85. package/presets/venue-profile.schema.json +17 -1
  86. package/skills/paper-pipeline/paper-pipeline.harness.mjs +4 -0
  87. package/skills/submission-portal/SKILL.md +69 -0
  88. package/skills/submission-portal/SKILL.md.spec.ts +71 -0
  89. package/skills/submission-portal/submission-portal.eval.mjs +15 -0
  90. package/skills/submission-portal/submission-portal.test.ts +81 -0
  91. package/skills/submit-paper/SKILL.md +2 -1
  92. package/skills/submit-paper/SKILL.md.spec.ts +1 -0
  93. package/skills/verify-citations/SKILL.md +8 -4
  94. package/skills/verify-citations/SKILL.md.spec.ts +7 -3
  95. package/skills/verify-citations/scripts/verify-cites.mjs +23 -5
  96. package/skills/verify-citations/scripts/verify-cites.test.mjs +76 -5
  97. package/src/adapters/hotcrp/cassette/README.md +24 -0
  98. package/src/adapters/hotcrp/cassette/get-noauth.json +10 -0
  99. package/src/adapters/hotcrp/cassette/get-paper.json +39 -0
  100. package/src/adapters/hotcrp/cassette/post-dot.json +21 -0
  101. package/src/adapters/hotcrp/cassette/post-ok.json +12 -0
  102. package/src/adapters/hotcrp/index.ts +11 -0
  103. package/src/adapters/hotcrp/portal.io.ts +130 -0
  104. package/src/adapters/hotcrp/portal.test.ts +503 -0
  105. package/src/adapters/hotcrp/response.ts +181 -0
  106. package/src/cli.test.ts +109 -0
  107. package/src/cli.ts +140 -21
  108. package/src/domain/result.test.ts +9 -1
  109. package/src/domain/result.ts +5 -0
  110. package/src/domain/submission.test.ts +45 -0
  111. package/src/domain/submission.ts +141 -0
  112. package/src/domain/venue-name.test.ts +115 -0
  113. package/src/domain/venue-name.ts +129 -0
  114. package/src/folder-venue-rule.test.ts +182 -0
  115. package/src/folder-venue-rule.ts +141 -0
  116. package/src/init.test.ts +22 -0
  117. package/src/init.ts +9 -2
  118. package/src/new-paper.harness.mjs +11 -9
  119. package/src/new-paper.test.ts +129 -8
  120. package/src/new-paper.ts +38 -7
  121. package/src/paper-settings.test.ts +12 -1
  122. package/src/paper-settings.ts +25 -5
  123. package/src/parse-args.test.ts +19 -0
  124. package/src/ports/submission-portal.ts +26 -0
  125. package/src/presets.test.ts +22 -0
  126. package/src/presets.ts +46 -3
  127. package/src/rule-cases.test.ts +19 -0
  128. package/src/rules-config.ts +1 -1
  129. package/src/submission.test.ts +496 -0
  130. package/src/submission.ts +311 -0
  131. package/src/tex-requirements.ts +8 -0
  132. package/src/tex-venue-rules.test.ts +1 -1
  133. package/src/tex-venue-rules.ts +12 -25
  134. package/src/types.ts +13 -0
package/dist/cli.js CHANGED
@@ -56,8 +56,10 @@ import { REGISTER_BAND_RULE_LEVELS, registerBandRules, } from "./register-bands.
56
56
  import { paperRules, identityField, stringFields, } from "./paper-settings.js";
57
57
  import { referenceRules, REFERENCE_RULE_LEVELS } from "./reference-rules.js";
58
58
  import { onlineReferences } from "./adapters/references/index.js";
59
+ import { hotcrpPortal } from "./adapters/hotcrp/index.js";
60
+ import { runSubmission } from "./submission.js";
59
61
  import { narrowToOwners, ownedPatterns, ruleOwners, scopeToOwned, } from "./paper-files.js";
60
- import { paperPreset, settingsProblemLine, presetProblemText, resolvePreset, shippedPresets, SHIPPED_PREFIX, } from "./presets.js";
62
+ import { paperPreset, settingsProblemLine, presetProblemText, resolvePreset, shippedPresets, shippedSpec, shippedVenueNames, SHIPPED_PREFIX, } from "./presets.js";
61
63
  import { mergeRequirements, declaredUnion, requirementsFor, NO_REQUIREMENTS, } from "./tex-requirements.js";
62
64
  import { doctor } from "./doctor.js";
63
65
  import { askOnTerminal, askOrDefault, init, processInteractivity, } from "./init.js";
@@ -70,6 +72,7 @@ import { parseRuleBlocks, parseRuleEntries, shippedRuleIds, unknownKeys, } from
70
72
  export { init };
71
73
  export { nextSteps } from "./init.js";
72
74
  import paperStages from "#eslint-rules/paper-stages";
75
+ import { FOLDER_VENUE_RULE_LEVELS, folderVenueRules, } from "./folder-venue-rule.js";
73
76
  import typography from "#eslint-rules/paper-typography";
74
77
  import texBuild from "#eslint-rules/tex-build";
75
78
  import bibReachable from "#eslint-rules/bib-reachable-entry";
@@ -87,7 +90,9 @@ const USAGE = `paperlint — machine-checkable gates for a paper kept in git
87
90
  .claude/settings.json, offer the CI step, report what is missing
88
91
  npx paperlint new <name> [--venue <preset>] [--kind <kind>] [--format tex|md]
89
92
  create <papers>/<name>/ from the template; never overwrites,
90
- on an existing folder adds only the missing files, then lints it
93
+ on an existing folder adds only the missing files, then lints it.
94
+ A <name> that names a venue (aisec-2026) is refused: name the
95
+ paper after the work
91
96
  npx paperlint lint [paths…] run every rule over your papers
92
97
  npx paperlint build <paper> | --all
93
98
  compile paper.tex to paper.pdf: pdflatex and bibtex, rerun until
@@ -103,6 +108,14 @@ const USAGE = `paperlint — machine-checkable gates for a paper kept in git
103
108
  into ~/.cache/paperlint/texlive (PAPERLINT_TEXLIVE_DIR overrides); a second
104
109
  run does nothing. --check: report what is missing, change nothing
105
110
  npx paperlint doctor say what is actually wired — and what only LOOKS wired
111
+ npx paperlint submission show [paper]
112
+ the paper's submission on the venue's portal: status, title,
113
+ type, topics, abstract length, the PDF the portal holds, and
114
+ whether it is the local paper.pdf (sha256)
115
+ npx paperlint submission update [paper] [--pdf <file>] [--abstract <file>] [--submit] [--save]
116
+ send the PDF (default: the paper's own), an abstract, or
117
+ "submitted". A DRY RUN unless --save: the portal checks the
118
+ change and keeps nothing
106
119
  npx paperlint hook <name> run an editor hook (.claude/settings.json calls this)
107
120
  npx paperlint --help
108
121
 
@@ -121,6 +134,19 @@ new:
121
134
  --kind <kind> the paper's kind at that venue (its page limit), e.g. short — one of the
122
135
  preset's kinds; needs --venue
123
136
  --format tex|md the paper's source format; default tex
137
+ --allow-venue-name create the folder even though its name names a venue (a whole word such as
138
+ "realm" can be the work's own). Without it such a name is refused: a rejected
139
+ paper moves to another venue and keeps its folder
140
+
141
+ submission:
142
+ The venue preset declares the portal — "portal": { "kind": "hotcrp", "url": "<site>" } — and the
143
+ paper's paperlint.json its submission there — "submission": { "id": <number> }. The token comes
144
+ only from the environment: HOTCRP_TOKEN (HotCRP: Account settings → Developer).
145
+ [paper] the paper's folder; default the current directory
146
+ --pdf <file> the PDF to compare (show) or send (update) instead of the paper's own
147
+ --abstract <file> update: a plain-text file whose text replaces the abstract
148
+ --submit update: mark the submission submitted
149
+ --save update: really change the submission. Without it, nothing is saved
124
150
 
125
151
  lint:
126
152
  npx paperlint lint [paths…] [--fix] [--config <file.json>] [--json]
@@ -222,11 +248,22 @@ export function buildConfig(opts = {}, texLanguage) {
222
248
  },
223
249
  {
224
250
  files: ["**/PIPELINE-STATUS.md"],
225
- plugins: { markdown, paper: paperStages },
251
+ // Every paper folder has one, whatever its source format: the rules about the folder itself
252
+ // (its stages, its frozen sources, its name) are judged here, once per paper.
253
+ plugins: {
254
+ markdown,
255
+ paper: {
256
+ rules: {
257
+ ...paperStages.rules,
258
+ ...folderVenueRules({ files: nodeFiles, venuesDir: presetsDir() }),
259
+ },
260
+ },
261
+ },
226
262
  ...md,
227
263
  rules: {
228
264
  "paper/stages": "error",
229
265
  "paper/source": "error",
266
+ ...FOLDER_VENUE_RULE_LEVELS,
230
267
  },
231
268
  },
232
269
  {
@@ -618,10 +655,15 @@ export function parseArgs(argv) {
618
655
  check: false,
619
656
  yes: false,
620
657
  noHooks: false,
658
+ allowVenueName: false,
621
659
  paper: null,
622
660
  format: null,
623
661
  venue: null,
624
662
  kind: null,
663
+ pdf: null,
664
+ abstract: null,
665
+ submit: false,
666
+ save: false,
625
667
  hooksMode: null,
626
668
  // -1 = warnings NEVER fail the run. In this set most findings are advisory by design, and a
627
669
  // gate that fails on advice gets muted entirely.
@@ -661,30 +703,16 @@ export function parseArgs(argv) {
661
703
  out.missingValue = a;
662
704
  return inline === "" ? undefined : inline;
663
705
  };
664
- if (a === "--json")
665
- out.json = true;
666
- else if (a === "--fix")
667
- out.fix = true;
668
- else if (a === "--all")
669
- out.all = true;
670
- else if (a === "--dry-run")
671
- out.dryRun = true;
672
- else if (a === "--check")
673
- out.check = true;
674
- else if (a === "--yes" || a === "-y")
675
- out.yes = true;
676
- else if (a === "--no-hooks")
677
- out.noHooks = true;
706
+ const on = SWITCHES.get(a);
707
+ if (on !== undefined)
708
+ out[on] = true;
678
709
  else if (a.startsWith("--hooks="))
679
710
  out.hooksMode = a.slice("--hooks=".length);
680
- else if (a === "--paper")
681
- out.paper = take() ?? null;
682
- else if (a === "--format")
683
- out.format = take() ?? null;
684
- else if (a === "--venue")
685
- out.venue = take() ?? null;
686
- else if (a === "--kind")
687
- out.kind = take() ?? null;
711
+ else if (STRING_FLAGS.has(a)) {
712
+ const field = STRING_FLAGS.get(a);
713
+ if (field !== undefined)
714
+ out[field] = take() ?? null;
715
+ }
688
716
  // `--options` was the first spelling and is kept working. It named the wrong thing — every
689
717
  // other tool in the stack calls this file its config — but a flag in someone's CI is not
690
718
  // ours to break.
@@ -705,12 +733,32 @@ export function parseArgs(argv) {
705
733
  }
706
734
  return out;
707
735
  }
736
+ /** The flags that take no value: each turns one field of `Args` on. */
737
+ const SWITCHES = new Map([
738
+ ["--json", "json"],
739
+ ["--fix", "fix"],
740
+ ["--all", "all"],
741
+ ["--dry-run", "dryRun"],
742
+ ["--check", "check"],
743
+ ["--yes", "yes"],
744
+ ["-y", "yes"],
745
+ ["--no-hooks", "noHooks"],
746
+ ["--allow-venue-name", "allowVenueName"],
747
+ ["--submit", "submit"],
748
+ ["--save", "save"],
749
+ ]);
750
+ /** The flags whose value is one string field of `Args`. */
751
+ const STRING_FLAGS = new Map([
752
+ ["--paper", "paper"],
753
+ ["--format", "format"],
754
+ ["--venue", "venue"],
755
+ ["--kind", "kind"],
756
+ ["--pdf", "pdf"],
757
+ ["--abstract", "abstract"],
758
+ ]);
708
759
  /** The flags that take a value, in either spelling: `--flag value` or `--flag=value`. */
709
760
  const VALUE_FLAGS = new Set([
710
- "--paper",
711
- "--format",
712
- "--venue",
713
- "--kind",
761
+ ...STRING_FLAGS.keys(),
714
762
  "--config",
715
763
  "--options",
716
764
  "--max-warnings",
@@ -846,8 +894,11 @@ resolve = (spec) => createRequire(import.meta.url).resolve(spec), } = {}) {
846
894
  * become two implementations. The lint runs on THAT folder, so the first thing printed after the
847
895
  * file list is its verdict rather than the old "missing PIPELINE-STATUS.md".
848
896
  */
849
- export async function createPaperAt(papersRoot, name, format, { log, err, cwd, venue = null, }) {
850
- const result = newPaper(papersRoot, name, format, { venue });
897
+ export async function createPaperAt(papersRoot, name, format, { log, err, cwd, venue = null, allowVenueName = false, }) {
898
+ const result = newPaper(papersRoot, name, format, {
899
+ venue,
900
+ venues: allowVenueName ? [] : shippedVenueNames(PRESET_DEPS),
901
+ });
851
902
  const here = (p) => shown(cwd, p);
852
903
  for (const line of reportNewPaper(result, here))
853
904
  log(line);
@@ -938,7 +989,7 @@ function venueSpec(venue, { shipped, paperDir, cwd, }) {
938
989
  : venue;
939
990
  if (!shipped.includes(name))
940
991
  return bad(`--venue ${venue}: no such venue preset. Shipped: ${shipped.join(", ")} — or a path to your own preset, starting with ./ or ../`);
941
- return { ok: true, value: `${SHIPPED_PREFIX}${name}` };
992
+ return { ok: true, value: shippedSpec(name) };
942
993
  }
943
994
  /**
944
995
  * `paperlint new <name>` — the papers directory comes from the same declaration every other command
@@ -996,6 +1047,7 @@ async function runNew(a, { log, err, cwd, ask = askOnTerminal, }) {
996
1047
  err,
997
1048
  cwd,
998
1049
  venue: venue.value,
1050
+ allowVenueName: a.allowVenueName,
999
1051
  });
1000
1052
  }
1001
1053
  /**
@@ -1105,7 +1157,29 @@ const SIMPLE = {
1105
1157
  banal: hostBanalInstaller(),
1106
1158
  tex: toolchainTex(cwd),
1107
1159
  }),
1160
+ submission: (a, { log, err, cwd }) => runSubmission({
1161
+ sub: a.paths[0],
1162
+ paperDir: a.paths[1] ?? ".",
1163
+ extra: a.paths.slice(2),
1164
+ pdf: a.pdf,
1165
+ abstract: a.abstract,
1166
+ submit: a.submit,
1167
+ save: a.save,
1168
+ }, {
1169
+ files: nodeFiles,
1170
+ presets: PRESET_DEPS,
1171
+ cwd,
1172
+ env: (name) => process.env[name],
1173
+ portalFor,
1174
+ log,
1175
+ err,
1176
+ }),
1177
+ };
1178
+ /** The adapter of each portal kind — one per kind, chosen here at the root. */
1179
+ const PORTALS = {
1180
+ hotcrp: (url, token) => hotcrpPortal({ url, token }),
1108
1181
  };
1182
+ const portalFor = (p, token) => PORTALS[p.kind](p.url, token);
1109
1183
  /** banal's installer, wired from this process's environment: the composition root's work. */
1110
1184
  function hostBanalInstaller() {
1111
1185
  const s = parseBanalSettings(process.env, hostDirs());
@@ -1165,6 +1239,7 @@ async function runInit(a, { log, err, cwd, }) {
1165
1239
  paper: a.paper,
1166
1240
  format: isFormat(a.format) ? a.format : null,
1167
1241
  createPaper: (papersRoot, name, format) => createPaperAt(papersRoot, name, format, { log, err, cwd }),
1242
+ venues: shippedVenueNames(PRESET_DEPS),
1168
1243
  tex: initTexLive(a, { log, err, cwd }),
1169
1244
  resolveCliPapers: (root) => cliPapers({ ...a, config: null }, root),
1170
1245
  });
@@ -1222,8 +1297,8 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
1222
1297
  // editing a file.
1223
1298
  //
1224
1299
  // 🔴 A path FROM THE CONFIG is resolved relative to the PROJECT ROOT, not the current directory.
1225
- // Otherwise walking up is pointless: from `papers/aisec-2026` the root would be found, but
1226
- // `"papersDir": "papers"` would point at `papers/aisec-2026/papers`. A command-line argument stays
1300
+ // Otherwise walking up is pointless: from `papers/rule-drift` the root would be found, but
1301
+ // `"papersDir": "papers"` would point at `papers/rule-drift/papers`. A command-line argument stays
1227
1302
  // relative to the current directory: it was typed here and now.
1228
1303
  //
1229
1304
  // Both kinds end up ABSOLUTE: ESLint below runs from `lintRoot`, not from here, and would resolve a
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,4CAA4C;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,aAAa,EACb,YAAY,GAEb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,GAGf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,GAEhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,IAAI,EACJ,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,cAAc,GAGf,MAAM,gBAAgB,CAAC;AACxB,qGAAqG;AACrG,qGAAqG;AACrG,wCAAwC;AACxC,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,WAAW,GAKZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,0FAA0F;AAC1F,MAAM,cAAc,GAAG,GAAa,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;AAEpE,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAmCyB,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAuCH,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;CAWzF,CAAC;AAEF,kGAAkG;AAClG,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,UAAU,EAAE;IACvB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,iGAAiG;AACjG,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,UAAU,EAAE;IACvB,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;IAC1C,OAAO,EAAE,WAAW;CACrB,CAAC;AAEF,4GAA4G;AAC5G,MAAM,UAAU,WAAW,CACzB,OAAwB,EAAE,EAC1B,WAAoB;IAEpB,MAAM,UAAU,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3C,+EAA+E;IAC/E,MAAM,aAAa,GAAG;QACpB,GAAG,UAAU;QACb,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;KACxC,CAAC;IACF,qFAAqF;IACrF,MAAM,KAAK,GAAG;QACZ,oBAAoB,EAAE,MAAM;QAC5B,oBAAoB,EAAE,MAAM;KAC7B,CAAC;IACF,MAAM,EAAE,GAAG;QACT,QAAQ,EAAE,cAAc;QACxB,eAAe,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;KACzC,CAAC;IAEF,MAAM,GAAG,GAAkB;QACzB,mGAAmG;QACnG,4FAA4F;QAC5F,oGAAoG;QACpG,0FAA0F;QAC1F,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE;QAC9B,8FAA8F;QAC9F,+FAA+F;QAC/F,+FAA+F;QAC/F,8FAA8F;QAC9F,0DAA0D;QAC1D;YACE,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,KAAK,EAAE;wBACL,GAAG,QAAQ,CAAC,KAAK;wBACjB,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;qBAC7D;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;iBACrE;aACF;SACF;QACD;YACE,KAAK,EAAE,CAAC,uBAAuB,CAAC;YAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;YACzC,GAAG,EAAE;YACL,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,cAAc,EAAE,OAAO;aACxB;SACF;QACD;YACE,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;YACrC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACnD,GAAG,EAAE;YACL,KAAK,EAAE,KAAK;SACb;QACD;YACE,KAAK,EAAE,CAAC,iBAAiB,CAAC;YAC1B,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;YAChD,GAAG,EAAE;YACL,2EAA2E;YAC3E,yCAAyC;YACzC,KAAK,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE;SACzC;QACD;YACE,wFAAwF;YACxF,6FAA6F;YAC7F,KAAK,EAAE,CAAC,kBAAkB,CAAC;YAC3B,OAAO,EAAE,CAAC,uBAAuB,CAAC;YAClC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;YAClD,GAAG,EAAE;YACL,KAAK,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE;SACzC;KACF,CAAC;IAEF,iGAAiG;IACjG,mFAAmF;IACnF,IAAI,WAAW;QACb,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;oBACjC,KAAK,EAAE;wBACL,GAAG,QAAQ;wBACX,GAAG,aAAa,CAAC,aAAa,CAAC;wBAC/B,kBAAkB,EAAE,mBAAmB,CAAC,aAAa,CAAC;wBACtD,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC;wBACrC,GAAG,iBAAiB,CAAC,aAAa,CAAC;qBACpC;iBACF;gBACD,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC/B,GAAG,EAAE,YAAY;gBACjB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE;gBAC1C,MAAM,EAAE;oBACN,KAAK,EAAE;wBACL,GAAG,WAAW,CAAC,aAAa,CAAC;wBAC7B,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;qBACjE;iBACF;aACF;YACD,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,GAAG,qBAAqB;gBACxB,wBAAwB,EAAE,MAAM;gBAChC,qBAAqB,EAAE,MAAM;gBAC7B,oBAAoB,EAAE,MAAM;gBAC5B,oEAAoE;gBACpE,sBAAsB,EAAE,MAAM;gBAC9B,+EAA+E;gBAC/E,cAAc,EAAE,MAAM;gBACtB,qFAAqF;gBACrF,qFAAqF;gBACrF,GAAG,yBAAyB;gBAC5B,8BAA8B,EAAE,OAAO;gBACvC,+EAA+E;gBAC/E,GAAG,iBAAiB;gBACpB,GAAG,qBAAqB;gBACxB,GAAG,qBAAqB;gBACxB,GAAG,kBAAkB;gBACrB,GAAG,sBAAsB;gBACzB,uFAAuF;gBACvF,GAAG,gBAAgB;aACpB;SACF,CAAC,CAAC;IACL,kGAAkG;IAClG,oGAAoG;IACpG,wGAAwG;IACxG,mGAAmG;IACnG,2FAA2F;IAC3F,mEAAmE;IACnE,MAAM,SAAS,GAA2B,WAAW;QACnD,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,CAAC,UAAU,CAAC;gBACnB,OAAO,EAAE,CAAC,cAAc,CAAC;gBACzB,OAAO,EAAE;oBACP,GAAG,EAAE;wBACH,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;wBACjC,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE;qBACxD;oBACD,KAAK,EAAE;wBACL,KAAK,EAAE;4BACL,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;4BAChD,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;4BAChD,kBAAkB,EAAE,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC;yBACzD;qBACF;iBACF;gBACD,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE;oBACL,oBAAoB,EAAE,MAAM;oBAC5B,oBAAoB,EAAE,MAAM;oBAC5B,wBAAwB,EAAE,MAAM;oBAChC,oBAAoB,EAAE,MAAM;iBAC7B;aACF;SACF;QACH,CAAC,CAAC,EAAE,CAAC;IACP,oGAAoG;IACpG,6FAA6F;IAC7F,iGAAiG;IACjG,uFAAuF;IACvF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,oFAAoF;IACpF,iGAAiG;IACjG,iGAAiG;IACjG,0FAA0F;IAC1F,GAAG,CAAC,IAAI,CACN,GAAG,SAAS,EACZ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAChE,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,CAAU,EAAsB,EAAE,CACvD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAEtC,MAAM,UAAU,YAAY,CAAC,MAA8B;IACzD,MAAM,KAAK,GAAuB,MAAM,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,cAAc,CAC9D,WAAW,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,EAC7C,CAAC,QAAQ,CAAC,CACX,CAAC;AAQF;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,WAAqB;IAC/C,MAAM,GAAG,GAAuD,EAAE,CAAC;IACnE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,EAAE,EAAE,WAAW,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YAC9D,IAAI,MAAM,KAAK,QAAQ;gBACrB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACtE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,KAAK,SAAS;QACzC,OAAO;YACL,GAAG,GAAG;YACN,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;SAC1D,CAAC;IACJ,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,WAAqB;IAC5C,OAAO,YAAY,CAAC;QAClB;YACE,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;YACjC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;SACvE;QACD;YACE,IAAI,EAAE,gCAAgC;YACtC,KAAK,EAAE,mBAAmB;YAC1B,aAAa,EAAE,EAAE,6BAA6B,EAAE,KAAK,EAAE;SACxD;KACF,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,MAAM,IAAI,GAAG,CAAC,KAAc,EAAW,EAAE;IACvC,MAAM,GAAG,GAAY,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CACxD,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,CACvB,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CACpB,CACJ,CACF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qHAAqH;AACrH,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;KAC/D,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA8C,EAC9C,KAAwB,EACxB,IAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CACrB,CACF,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QACnE,0EAA0E;QAC1E,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,EAAE,IAAI,QAAQ;YAAE,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,KAAwB;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAwB;IAExB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAA8C;QACrD,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,EAAE;KACR,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CACnB,GAAW,EACX,CAAqD;IAErD,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACvB,MAAM,UAAU,GACd,CAAC,CAAC,IAAI,KAAK,UAAU;QACnB,CAAC,CAAC,gBAAgB,CACd,CAAC,CAAC,MAAM,CAAC,KAAK,EACd,oBAAoB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAC1D,aAAa,CACd;QACH,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtC,MAAM,GAAG,GACP,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,EAAE,EAAE;QAClC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7B,CAAC,CAAC,eAAe,CACb,QAAQ,CAAC,KAAK,EACd,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EACtB,aAAa,EACb,GAAG,CACJ;YACH,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,gGAAgG;IAChG,gGAAgG;IAChG,MAAM,MAAM,GAAG,CAAC,KAAgC,EAAe,EAAE,CAC/D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;KACjE,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,SAAS,QAAQ,CACf,GAAW,EACX,QAAuB;IAEvB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,mBAAmB,GAAa,aAAa,CACjD,WAAW,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAC9C,CAAC;AAEF,+FAA+F;AAC/F,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;AAClD,MAAM,SAAS,GAAG,CAAC;KAChB,KAAK,CAAC;IACL,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE;QAC1D,MAAM,EAAE,KAAK;KACd,CAAC;CACH,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAa,EACb,KAAa,EACb,OAAe;IAEf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,yBAAyB,EAAE,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EACH,GAAG,KAAK,gBAAgB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACrG,yDAAyD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACnG,CAAC;IACJ,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACxD,IAAI,SAAS,KAAK,SAAS;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,KAAK,MAAM,SAAS,mDAAmD,WAAW,EAAE;SAC/F,CAAC;IACJ,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,CAAC,OAAO;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,KAAK,2IAA2I;SAC3J,CAAC;IACJ,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC;YAChC,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAAwB,EAAU,EAAE,CAClE,SAAS,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAE9B,oGAAoG;AACpG,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAExE,uDAAuD;AACvD,MAAM,SAAS,GAAG,CAAC,KAAwB,EAAU,EAAE;IACrD,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CACxC,CAAC;IACF,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC/C,8FAA8F;IAC9F,4EAA4E;IAC5E,MAAM,GAAG,GAAS;QAChB,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;QACf,4FAA4F;QAC5F,iDAAiD;QACjD,WAAW,EAAE,CAAC,CAAC;KAChB,CAAC;IACF,oFAAoF;IACpF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,4FAA4F;IAC5F,sFAAsF;IACtF,oGAAoG;IACpG,gGAAgG;IAChG,uFAAuF;IACvF,iCAAiC;IACjC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAsB,EAAE;QACpD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACnE,2FAA2F;QAC3F,kFAAkF;QAClF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,MAAM,GACV,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,GAAuB,EAAE;YACpC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,MAAM,KAAK,EAAE;gBAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;YACxC,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;aAC/B,IAAI,CAAC,KAAK,OAAO;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;aAClC,IAAI,CAAC,KAAK,OAAO;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;aAClC,IAAI,CAAC,KAAK,WAAW;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;aACzC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;aACtC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;aAChD,IAAI,CAAC,KAAK,YAAY;YAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;aAC3C,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;YAC/B,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACxC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;aAChD,IAAI,CAAC,KAAK,UAAU;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;aAClD,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;aAChD,IAAI,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;QACnD,2FAA2F;QAC3F,yFAAyF;QACzF,iBAAiB;aACZ,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,WAAW;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;aACvE,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,SAAS;gBAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QACzD,wFAAwF;aACnF,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG;YAAE,GAAG,CAAC,WAAW,KAAK,CAAC,CAAC;;YAC1D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yFAAyF;AACzF,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IAC/C,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,UAAU;IACV,WAAW;IACX,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,CAAO,EACP,EACE,GAAG,GAAG,OAAO,CAAC,GAAG,EACjB,GAAG,GAAG,OAAO,CAAC,KAAK,EACnB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,MAKjB,EAAE;IAEN,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM;QACnB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAE/D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,GAAG,UAAU,uBAAuB,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,+FAA+F;IAC/F,yFAAyF;IACzF,EAAE;IACF,+FAA+F;IAC/F,8EAA8E;IAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,WAAW,CAAC,IAAqB;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAChC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjE,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE,CACrD,gBAAgB,GAAG,6DAA6D,gBAAgB,IAAI;IACpG,MAAM,WAAW,gCAAgC,CAAC;AAEpD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAG3B,EAAY,EAAE,CACb,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAEtE,gGAAgG;AAChG,MAAM,UAAU,OAAO,CAAC,MAAe;IACrC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAC7D,CAAC;IACJ,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,OAAO,CACrB,IAAwB,EACxB,EACE,GAAG,GAAG,OAAO,CAAC,KAAK,EACnB,GAAG,GAAG,SAAS;AACf,+FAA+F;AAC/F,wEAAwE;AACxE,4FAA4F;AAC5F,6FAA6F;AAC7F,+DAA+D;AAC/D,kEAAkE;AAClE,6FAA6F;AAC7F,gGAAgG;AAChG,0DAA0D;AAC1D,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CACjC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAU5C,EAAE;IAEN,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,GAAG,CAAC,iEAAiE,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAC3B,IAAI,GAAG,CAAC,YAAY,IAAI,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CACtD,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,kBAAkB,IAAI,2BAA2B,OAAO,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CACD,gEAAgE,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK;YAC/G,SAAS,IAAI,qFAAqF;YAClG,yDAAyD,CAC5D,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CACX,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,EACjD;QACE,KAAK,EAAE,SAAS;KACjB,CACF,CAAC;IACF,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,IAAY,EACZ,MAAmB,EACnB,EACE,GAAG,EACH,GAAG,EACH,GAAG,EACH,KAAK,GAAG,IAAI,GAOb;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,IAAI;QAChB,GAAG,CACD,wCAAwC,MAAM,0DAA0D,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACvI,CAAC;SACC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACpD,GAAG,CACD,uBAAuB,KAAK,CAAC,KAAK,kCAAkC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,MAAM,uCAAuC,CAC5J,CAAC;IACJ,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACtD,CAAC;AAUD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAsE,EACtE,EACE,QAAQ,EACR,GAAG,EACH,WAAW,EACX,GAAG,GAMJ;IAED,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;QAC7C,OAAO,GAAG,CACR,qHAAqH,KAAK,CAAC,IAAI,IAAI,CACpI,CAAC;IACJ,MAAM,KAAK,GAAG,KAAK,EAAE,CAAS,EAAmB,EAAE,CACjD,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,KAAK,GACT,KAAK,CAAC,KAAK;QACX,CAAC,WAAW;YACV,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACnE,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;QAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,WAAW,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YACpB,OAAO,GAAG,CACR,UAAU,KAAK,CAAC,IAAI,OAAO,KAAK,wEAAwE,CACzG,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7B,OAAO,GAAG,CACR,UAAU,KAAK,CAAC,IAAI,OAAO,KAAK,oBAAoB,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnG,CAAC;IACN,CAAC;IACD,MAAM,IAAI,GACR,KAAK,CAAC,IAAI;QACV,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAC9B,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,OAAO,EAAE,IAAI,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACzD,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvC,KAAK;YACL,KAAK;SACN;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,CAAwB;IAExB,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,KAAa,EAAgC,EAAE,CAAC,CAAC;IAC5D,EAAE,EAAE,KAAK;IACT,KAAK;CACN,CAAC,CAAC;AAEH,2FAA2F;AAC3F,SAAS,SAAS,CAChB,KAAa,EACb,EACE,OAAO,EACP,QAAQ,EACR,GAAG,GAC2D;IAEhE,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,OAAO,GAAG,CACR,WAAW,KAAK,mBAAmB,IAAI,qDAAqD,CAC7F,CAAC;QACJ,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;QAC3C,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC;IACV,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzB,OAAO,GAAG,CACR,WAAW,KAAK,oCAAoC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,0DAA0D,CACjI,CAAC;IACJ,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,GAAG,IAAI,EAAE,EAAE,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,MAAM,CACnB,CAAO,EACP,EACE,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,GAAG,aAAa,GAMpB;IAED,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CACD,uHAAuH,CACxH,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,GAAgB,cAAc,CAAC;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,GAAG,CACD,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,CACtE,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,CAAC;SAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,CACR,MAAM,YAAY,CAAC,GAAG,EAAE,qBAAqB,cAAc,IAAI,CAAC,CACjE,EAAE,IAAI,EAAE,CAAC;QACV,IAAI,QAAQ,CAAC,CAAC,CAAC;YAAE,MAAM,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,CACD,IAAI,gBAAgB,sDAAsD,IAAI,KAAK,CACpF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAClB,GAAG,CACD,8DAA8D,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CACvF,CAAC;IACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxC,8FAA8F;IAC9F,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1D,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,GAAG,CACD,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,mFAAmF,CACjI,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,IAAI,EAAE;QACpC,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE;YACnB,QAAQ;YACR,GAAG;YACH,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW;YACpD,GAAG;SACJ,CAAC,CAAC;IACP,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;QAC7C,GAAG;QACH,GAAG;QACH,GAAG;QACH,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,QAAQ,CACrB,CAAO,EACP,EACE,GAAG,EACH,GAAG,EACH,GAAG,EACH,eAAe,GAMhB;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CACD,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,EAAE,CAC3E,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,GAAG,CACD,+FAA+F;YAC7F,0FAA0F;YAC1F,qEAAqE,CACxE,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,6FAA6F;IAC7F,uFAAuF;IACvF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE;QACrC,GAAG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG;QACH,eAAe;QACf,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM;QAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,mFAAmF;AACnF,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;AAElE;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACxC,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;QAC/C,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,GAAG;KACJ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK;SACjB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;SAC3C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,SAAS,CACtB,OAA0B,EAC1B,CAAO,EACP,EAAE,GAAG,EAAE,GAAG,EAA0D;IAEpE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK;SACd,GAAG,CAAC,iBAAiB,CAAC;SACtB,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC;QAC9B,GAAG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,WAAW;QACpD,GAAG,EAAE,aAAa;QAClB,GAAG;QACH,GAAG;KACJ,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,wFAAwF;AACxF,MAAM,MAAM,GAaR;IACF,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAClC,YAAY,CAAC;QACX,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,GAAG;QACH,GAAG;QACH,KAAK,EAAE,kBAAkB,EAAE;QAC3B,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,6FAA6F;AAC7F,SAAS,kBAAkB;IACzB,MAAM,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,CAAC,CAAC,UAAU;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC;IACH,OAAO,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,CAAO,EACP,EACE,GAAG,EACH,GAAG,EACH,GAAG,GACiE,EACtE,YAAiC,YAAY;IAE7C,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;QAC5D,OAAO,EAAE,GAAG,EAAE,CACZ,SAAS,CAAC;YACR,KAAK,EAAE,KAAK;YACZ,GAAG;YACH,GAAG;YACH,KAAK,EAAE,kBAAkB,EAAE;YAC3B,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;SACnD,CAAC;KACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,CAAO,EAAE,GAAW;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS;QAC5B,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,OAAO,CACpB,CAAO,EACP,EACE,GAAG,EACH,GAAG,EACH,GAAG,GACiE;IAEtE,4FAA4F;IAC5F,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QACzB,GAAG,CACD,WAAW,CAAC,CAAC,SAAS,wEAAwE;YAC5F,mDAAmD,CACtD,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;QACnC,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO;QACjB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QAC5C,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CACxC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC5D,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACtC,gBAAgB,EAAE,CAAC,IAAY,EAAiB,EAAE,CAChD,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,IAAuB,EACvB,EACE,GAAG,GAAG,OAAO,CAAC,GAAG,EACjB,GAAG,GAAG,OAAO,CAAC,KAAK,EACnB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,eAAe,GAAG,gBAAgB,MAUhC,EAAE;IAEN,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,2FAA2F;IAC3F,gGAAgG;IAChG,2BAA2B;IAC3B,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QACnB,GAAG,CACD,GAAG,CAAC,CAAC,YAAY,uCAAuC;YACtD,wFAAwF;YACxF,iCAAiC,CACpC,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChC,GAAG,CACD,kBAAkB,CAAC,CAAC,WAAW,4CAA4C,CAC5E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,CAAC;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,8FAA8F;IAC9F,yFAAyF;IACzF,8BAA8B;IAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,4FAA4F;IAC5F,+FAA+F;IAC/F,2FAA2F;IAC3F,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;YACZ,GAAG;YACH,GAAG;YACH,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,GAAG;YACpD,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM;QAAE,OAAO,MAAM,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;QACnB,GAAG,CACD,uFAAuF,CACxF,CAAC;IACJ,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QAC1C,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IAE3B,gGAAgG;IAChG,kBAAkB;IAClB,EAAE;IACF,iGAAiG;IACjG,2FAA2F;IAC3F,mGAAmG;IACnG,gEAAgE;IAChE,EAAE;IACF,oGAAoG;IACpG,iDAAiD;IACjD,MAAM,KAAK,GACT,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,GAAG,CACD,qBAAqB,gBAAgB,4DAA4D,CAClG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,kGAAkG;IAClG,yFAAyF;IACzF,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,gGAAgG;IAChG,gGAAgG;IAChG,0FAA0F;IAC1F,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,6FAA6F;IAC7F,mFAAmF;IACnF,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG;QACjB,GAAG,IAAI;QACP,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;KAC5E,CAAC;IAEF,gGAAgG;IAChG,2FAA2F;IAC3F,wEAAwE;IACxE,IAAI,WAAW,GAAY,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,mGAAmG;IACnG,+FAA+F;IAC/F,uEAAuE;IACvE,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACtD,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,WAAW;SACnB,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,gGAAgG;IAChG,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAC9B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/D,WAAW,CACT,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CACrB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,GAAG,CAAC,CAAC,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QAC1B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,YAAY,CAAC;YAC3B,GAAG,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;YACvC,GAAG,aAAa,CAAC,MAAM,CAAC;SACzB,CAAC;QACF,GAAG,EAAE,CAAC,CAAC,GAAG;KACX,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CACD,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,6CAA6C,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4FAA4F;IAC5F,+FAA+F;IAC/F,gGAAgG;IAChG,qBAAqB;IACrB,IAAI,OAA4B,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,EAAE,CAAC;;YAC3B,MAAM,CAAC,CAAC;IACf,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,CAAC,GAAG;QAAE,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE7C,4FAA4F;IAC5F,mFAAmF;IACnF,gGAAgG;IAChG,6EAA6E;IAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,GAAG,CACD,4BAA4B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uHAAuH,CAC9L,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAClD,CAAC;QACD,GAAG;QACH,GAAG;QACH,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG;QACjC,IAAI,EAAE,UAAU;QAChB,4EAA4E;QAC5E,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC;aAC5B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAC7B,MAAc,EACd,KAAwB;IAExB,KAAK,MAAM,CAAC,IAAI,KAAK;QACnB,IACE,UAAU,CAAC,CAAC,CAAC;YACb,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACpB,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAE/B,OAAO,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,uFAAuF;AACvF,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,KAAK,CAAC,EAAE,CAAC,CAAC;AAEb,MAAM,UAAU,GAAG,CAAC,CAAU,EAAW,EAAE;IACzC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,CACL,IAAI,CAAC,eAAe,KAAK,gBAAgB;QACzC,IAAI,CAAC,eAAe,KAAK,2BAA2B;QACpD,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,KAAK,UAAU,UAAU,CACvB,MAAc,EACd,OAA4B,EAC5B,SAA4C,EAC5C,EACE,CAAC,EACD,GAAG,EACH,GAAG,EACH,KAAK,EACL,IAAI,EACJ,aAAa,GAQd;IAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,MAAM,EACN,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,aAAa,CAAC,EACrD,IAAI,CACL,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,GAAG,CACD,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wFAAwF;YAC1G,wBAAwB,KAAK,oEAAoE,CACpG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,CAAC,IAAI;QACR,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACvE,CAAC;QACJ,0FAA0F;QAC1F,0EAA0E;QAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1E,GAAG,CACD,GAAG,CAAC,IAAI,EAAE;YACR,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5E,gGAAgG;IAChG,uDAAuD;IACvD,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,GAAG,CACD,GAAG,MAAM,CAAC,QAAQ,CAAC,kDAAkD,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAC7F,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gEAAgE;AAChE,2DAA2D;AAC3D,qGAAqG;AACrG,gGAAgG;AAChG,mGAAmG;AACnG,oDAAoD;AACpD,0FAA0F;AAC1F,iGAAiG;AACjG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAAE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export type Result<T, E> = {
12
12
  };
13
13
  export declare const ok: <T>(value: T) => Result<T, never>;
14
14
  export declare const err: <E>(error: E) => Result<never, E>;
15
+ /** Whether `r` succeeded — a type guard, so `filter(isOk)` keeps the successes as successes. */
16
+ export declare const isOk: <T, E>(r: Result<T, E>) => r is Extract<Result<T, E>, {
17
+ readonly ok: true;
18
+ }>;
15
19
  export declare const map: <T, U, E>(r: Result<T, E>, f: (t: T) => U) => Result<U, E>;
16
20
  export declare const andThen: <T, U, E, F>(r: Result<T, E>, f: (t: T) => Result<U, F>) => Result<U, E | F>;
17
21
  export declare const match: <T, E, R>(r: Result<T, E>, on: {
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/domain/result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE9C,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAA0B,CAAC;AAC3E,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAA2B,CAAC;AAE7E,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAC/C,CAAC;AAE5B,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KACxB,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAA4B,CAAC;AAE/C,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3B,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;CAAE,KAC1D,CAA8C,CAAC"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/domain/result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE9C,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAA0B,CAAC;AAC3E,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAA2B,CAAC;AAE7E,gGAAgG;AAChG,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EACvB,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KACd,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,CAAS,CAAC;AAE7D,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAC/C,CAAC;AAE5B,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KACxB,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAA4B,CAAC;AAE/C,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3B,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;CAAE,KAC1D,CAA8C,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export const ok = (value) => ({ ok: true, value });
2
2
  export const err = (error) => ({ ok: false, error });
3
+ /** Whether `r` succeeded — a type guard, so `filter(isOk)` keeps the successes as successes. */
4
+ export const isOk = (r) => r.ok;
3
5
  export const map = (r, f) => r.ok ? ok(f(r.value)) : r;
4
6
  export const andThen = (r, f) => (r.ok ? f(r.value) : r);
5
7
  export const match = (r, on) => (r.ok ? on.ok(r.value) : on.err(r.error));
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/domain/result.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,KAAQ,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAQ,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAU,CAAe,EAAE,CAAc,EAAgB,EAAE,CAC5E,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,CAAe,EACf,CAAyB,EACP,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,CAAe,EACf,EAA2D,EACxD,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/domain/result.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,KAAQ,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAQ,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAE7E,gGAAgG;AAChG,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,CAAe,EACoC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAE7D,MAAM,CAAC,MAAM,GAAG,GAAG,CAAU,CAAe,EAAE,CAAc,EAAgB,EAAE,CAC5E,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,CAAe,EACf,CAAyB,EACP,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,CAAe,EACf,EAA2D,EACxD,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * THE SUBMISSION ON A CONFERENCE PORTAL — what `paperlint submission` reads and changes.
3
+ *
4
+ * Two declarations, each in the file that owns the fact:
5
+ *
6
+ * venue preset `portal` where the venue takes submissions: `{ "kind": "hotcrp", "url": … }`
7
+ * paper `submission` which submission on that portal is this paper's: `{ "id": 7 }`
8
+ *
9
+ * The values here are the portal's answers in paperlint's words, not in any one portal's: an adapter
10
+ * per portal kind maps its API onto them (`src/adapters/hotcrp/`).
11
+ */
12
+ import { type Result } from "./result.ts";
13
+ import type { Sha256 } from "./sha256.ts";
14
+ /** The portal kinds an adapter exists for. Any other kind is refused by name. */
15
+ export type PortalKind = "hotcrp";
16
+ export declare const PORTAL_KINDS: readonly PortalKind[];
17
+ /** A venue preset's `portal`, as the preset declares it: the kind is checked where it is used. */
18
+ export interface VenuePortal {
19
+ readonly kind: string;
20
+ /** The portal site's base URL, without a trailing slash. */
21
+ readonly url: string;
22
+ }
23
+ /** A portal whose kind has an adapter. */
24
+ export interface SupportedPortal {
25
+ readonly kind: PortalKind;
26
+ readonly url: string;
27
+ }
28
+ /** The declared portal → one paperlint can talk to, or the refusal naming the kind. Pure. */
29
+ export declare function supportedPortal(p: VenuePortal): Result<SupportedPortal, string>;
30
+ /** A paper's `submission`: which submission on the venue's portal is this paper's. */
31
+ export interface PaperSubmission {
32
+ readonly id: number;
33
+ }
34
+ /** A paper's `submission` key → the value, null when absent, or one line saying what is wrong. Pure. */
35
+ export declare function parsePaperSubmission(v: unknown): Result<PaperSubmission | null, string>;
36
+ /** The PDF the portal holds for a submission. */
37
+ export interface PortalDocument {
38
+ /** The sha256 of the stored bytes; null when the portal names another hash or none. */
39
+ readonly sha256: Sha256 | null;
40
+ /** The hash as the portal spells it. */
41
+ readonly hash: string;
42
+ readonly size: number | null;
43
+ readonly mimetype: string | null;
44
+ /** Unix seconds; null when the portal does not say. */
45
+ readonly uploadedAt: number | null;
46
+ }
47
+ /** One submission, as the portal shows it to its author. */
48
+ export interface SubmissionView {
49
+ readonly id: number;
50
+ readonly status: string;
51
+ readonly title: string | null;
52
+ readonly paperType: string | null;
53
+ readonly topics: readonly string[];
54
+ readonly abstract: string | null;
55
+ /** The PDF the portal holds; null when none is uploaded. */
56
+ readonly pdf: PortalDocument | null;
57
+ /** Unix seconds; null when not submitted or not said. */
58
+ readonly submittedAt: number | null;
59
+ readonly modifiedAt: number | null;
60
+ /** What the portal said beside the answer. */
61
+ readonly messages: readonly PortalMessage[];
62
+ }
63
+ /** A change to send. Every absent part is left as the portal has it. */
64
+ export interface SubmissionChange {
65
+ readonly pdf: {
66
+ readonly name: string;
67
+ readonly bytes: Uint8Array;
68
+ } | null;
69
+ readonly abstract: string | null;
70
+ /** Mark the submission submitted (ready for review). */
71
+ readonly submit: boolean;
72
+ }
73
+ /** One message from the portal: its text, and the field it is about when it names one. */
74
+ export interface PortalMessage {
75
+ readonly message: string;
76
+ readonly field: string | null;
77
+ /** The portal's severity number, when it gives one. */
78
+ readonly status: number | null;
79
+ }
80
+ /** What the portal answered to a change. */
81
+ export interface UpdateOutcome {
82
+ readonly httpStatus: number;
83
+ /** The change is valid; for a saved change, it was also committed. */
84
+ readonly valid: boolean;
85
+ /** The fields the change touched. */
86
+ readonly changes: readonly string[];
87
+ readonly messages: readonly PortalMessage[];
88
+ /** The portal reports that nothing was saved. */
89
+ readonly dryRun: boolean;
90
+ }
91
+ /** Why the portal gave no usable answer. */
92
+ export type PortalFailure = {
93
+ readonly kind: "refused";
94
+ readonly httpStatus: number;
95
+ readonly messages: readonly PortalMessage[];
96
+ } | {
97
+ readonly kind: "unreachable";
98
+ readonly detail: string;
99
+ } | {
100
+ readonly kind: "malformed";
101
+ readonly httpStatus: number;
102
+ readonly detail: string;
103
+ };
104
+ /** Words in a text, as a reader counts them: runs of non-space. Pure. */
105
+ export declare const wordCount: (s: string) => number;
106
+ //# sourceMappingURL=submission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../../src/domain/submission.ts"],"names":[],"mappings":"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"}