agentplane 0.1.6 → 0.1.7

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 (111) hide show
  1. package/assets/AGENTS.md +1 -1
  2. package/assets/agents/ORCHESTRATOR.json +1 -1
  3. package/assets/agents/UPGRADER.json +1 -1
  4. package/dist/cli/run-cli.d.ts.map +1 -1
  5. package/dist/cli/run-cli.js +22 -7
  6. package/dist/commands/branch/index.d.ts +60 -0
  7. package/dist/commands/branch/index.d.ts.map +1 -0
  8. package/dist/commands/branch/index.js +511 -0
  9. package/dist/commands/guard/index.d.ts +67 -0
  10. package/dist/commands/guard/index.d.ts.map +1 -0
  11. package/dist/commands/guard/index.js +367 -0
  12. package/dist/commands/hooks/index.d.ts +18 -0
  13. package/dist/commands/hooks/index.d.ts.map +1 -0
  14. package/dist/commands/hooks/index.js +290 -0
  15. package/dist/commands/pr/index.d.ts +46 -0
  16. package/dist/commands/pr/index.d.ts.map +1 -0
  17. package/dist/commands/pr/index.js +854 -0
  18. package/dist/commands/shared/git-diff.d.ts +9 -0
  19. package/dist/commands/shared/git-diff.d.ts.map +1 -0
  20. package/dist/commands/shared/git-diff.js +41 -0
  21. package/dist/commands/shared/git-ops.d.ts +24 -0
  22. package/dist/commands/shared/git-ops.d.ts.map +1 -0
  23. package/dist/commands/shared/git-ops.js +181 -0
  24. package/dist/commands/shared/git-worktree.d.ts +8 -0
  25. package/dist/commands/shared/git-worktree.d.ts.map +1 -0
  26. package/dist/commands/shared/git-worktree.js +48 -0
  27. package/dist/commands/shared/git.d.ts +4 -0
  28. package/dist/commands/shared/git.d.ts.map +1 -0
  29. package/dist/commands/shared/git.js +14 -0
  30. package/dist/commands/shared/path.d.ts +3 -0
  31. package/dist/commands/shared/path.d.ts.map +1 -0
  32. package/dist/commands/shared/path.js +14 -0
  33. package/dist/commands/shared/pr-meta.d.ts +21 -0
  34. package/dist/commands/shared/pr-meta.d.ts.map +1 -0
  35. package/dist/commands/shared/pr-meta.js +72 -0
  36. package/dist/commands/shared/task-backend.d.ts +15 -0
  37. package/dist/commands/shared/task-backend.d.ts.map +1 -0
  38. package/dist/commands/shared/task-backend.js +55 -0
  39. package/dist/commands/task/add.d.ts +8 -0
  40. package/dist/commands/task/add.d.ts.map +1 -0
  41. package/dist/commands/task/add.js +164 -0
  42. package/dist/commands/task/block.d.ts +19 -0
  43. package/dist/commands/task/block.d.ts.map +1 -0
  44. package/dist/commands/task/block.js +86 -0
  45. package/dist/commands/task/comment.d.ts +8 -0
  46. package/dist/commands/task/comment.d.ts.map +1 -0
  47. package/dist/commands/task/comment.js +29 -0
  48. package/dist/commands/task/doc.d.ts +17 -0
  49. package/dist/commands/task/doc.d.ts.map +1 -0
  50. package/dist/commands/task/doc.js +220 -0
  51. package/dist/commands/task/export.d.ts +5 -0
  52. package/dist/commands/task/export.d.ts.map +1 -0
  53. package/dist/commands/task/export.js +27 -0
  54. package/dist/commands/task/finish.d.ts +27 -0
  55. package/dist/commands/task/finish.d.ts.map +1 -0
  56. package/dist/commands/task/finish.js +131 -0
  57. package/dist/commands/task/index.d.ts +23 -0
  58. package/dist/commands/task/index.d.ts.map +1 -0
  59. package/dist/commands/task/index.js +22 -0
  60. package/dist/commands/task/lint.d.ts +5 -0
  61. package/dist/commands/task/lint.d.ts.map +1 -0
  62. package/dist/commands/task/lint.js +22 -0
  63. package/dist/commands/task/list.d.ts +11 -0
  64. package/dist/commands/task/list.d.ts.map +1 -0
  65. package/dist/commands/task/list.js +54 -0
  66. package/dist/commands/task/migrate.d.ts +6 -0
  67. package/dist/commands/task/migrate.d.ts.map +1 -0
  68. package/dist/commands/task/migrate.js +70 -0
  69. package/dist/commands/task/new.d.ts +8 -0
  70. package/dist/commands/task/new.d.ts.map +1 -0
  71. package/dist/commands/task/new.js +117 -0
  72. package/dist/commands/task/next.d.ts +6 -0
  73. package/dist/commands/task/next.d.ts.map +1 -0
  74. package/dist/commands/task/next.js +45 -0
  75. package/dist/commands/task/normalize.d.ts +6 -0
  76. package/dist/commands/task/normalize.d.ts.map +1 -0
  77. package/dist/commands/task/normalize.js +46 -0
  78. package/dist/commands/task/ready.d.ts +6 -0
  79. package/dist/commands/task/ready.d.ts.map +1 -0
  80. package/dist/commands/task/ready.js +57 -0
  81. package/dist/commands/task/scaffold.d.ts +8 -0
  82. package/dist/commands/task/scaffold.d.ts.map +1 -0
  83. package/dist/commands/task/scaffold.js +131 -0
  84. package/dist/commands/task/scrub.d.ts +8 -0
  85. package/dist/commands/task/scrub.d.ts.map +1 -0
  86. package/dist/commands/task/scrub.js +121 -0
  87. package/dist/commands/task/search.d.ts +7 -0
  88. package/dist/commands/task/search.d.ts.map +1 -0
  89. package/dist/commands/task/search.js +79 -0
  90. package/dist/commands/task/set-status.d.ts +19 -0
  91. package/dist/commands/task/set-status.d.ts.map +1 -0
  92. package/dist/commands/task/set-status.js +123 -0
  93. package/dist/commands/task/shared.d.ts +46 -0
  94. package/dist/commands/task/shared.d.ts.map +1 -0
  95. package/dist/commands/task/shared.js +283 -0
  96. package/dist/commands/task/show.d.ts +6 -0
  97. package/dist/commands/task/show.d.ts.map +1 -0
  98. package/dist/commands/task/show.js +35 -0
  99. package/dist/commands/task/start.d.ts +19 -0
  100. package/dist/commands/task/start.d.ts.map +1 -0
  101. package/dist/commands/task/start.js +109 -0
  102. package/dist/commands/task/update.d.ts +8 -0
  103. package/dist/commands/task/update.d.ts.map +1 -0
  104. package/dist/commands/task/update.js +144 -0
  105. package/dist/commands/task/verify.d.ts +14 -0
  106. package/dist/commands/task/verify.d.ts.map +1 -0
  107. package/dist/commands/task/verify.js +362 -0
  108. package/dist/commands/workflow.d.ts +5 -364
  109. package/dist/commands/workflow.d.ts.map +1 -1
  110. package/dist/commands/workflow.js +6 -4617
  111. package/package.json +2 -2
package/assets/AGENTS.md CHANGED
@@ -41,7 +41,7 @@ No other role may assume another role’s authority.
41
41
  ## Truthfulness & safety
42
42
 
43
43
  - Never invent facts about repo state. Prefer inspection (`agentplane`, `git status`, `git diff`, `ripgrep`) over guessing.
44
- - Never modify `.agentplane/tasks.json` manually. It is **agentplane-managed state**.
44
+ - Never modify `.agentplane/tasks.json` manually. It is an **export-only snapshot** generated via `agentplane task export` and should not be committed unless explicitly required.
45
45
  - Task status transitions, task docs, and commits must follow **agentplane** flows where available.
46
46
 
47
47
  ## Cleanliness & untracked files
@@ -15,7 +15,7 @@
15
15
  "workflow": [
16
16
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
17
17
  "Before planning or execution, load .agentplane/config.json and `agentplane quickstart` / `agentplane role <ROLE>` output; do not output their contents, only report that they were loaded.",
18
- "Use `agentplane config show|set` for config changes (workflow_mode, base_branch, branch/task settings); avoid manual edits.",
18
+ "Use `agentplane config show|set` for config changes (workflow_mode, branch/task settings); avoid manual edits.",
19
19
  "Convert the first user message into a top-level plan; do not create tasks until the user approves it.",
20
20
  "Restate the user goal and constraints, then draft a numbered top-level plan with agent assignments and expected outcomes.",
21
21
  "Decompose the top-level plan into atomic tasks, assign each to an existing agent ID, and schedule CREATOR if a required agent is missing.",
@@ -21,7 +21,7 @@
21
21
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
22
22
  "Check the `framework.last_update` date from `.agentplane/config.json`; compare it to UTC today and detect when 10+ days have passed.",
23
23
  "Invoke `agentplane upgrade --force` when a user explicitly requests an update, or rely on the stale-date logic otherwise.",
24
- "Require a clean working tree and run the upgrade from the pinned base branch (default `main`).",
24
+ "Require a clean working tree and run the upgrade from the pinned base branch (or current branch when unpinned in branch_pr).",
25
25
  "After a successful upgrade, update `framework.last_update` to `datetime.now(UTC).date()` and document the run in the owning task/pr artifacts."
26
26
  ]
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-cli.d.ts","sourceRoot":"","sources":["../../src/cli/run-cli.ts"],"names":[],"mappings":"AA0iCA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA62D5D"}
1
+ {"version":3,"file":"run-cli.d.ts","sourceRoot":"","sources":["../../src/cli/run-cli.ts"],"names":[],"mappings":"AA2iCA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA63D5D"}
@@ -17,7 +17,7 @@ import { getVersion } from "../meta/version.js";
17
17
  import { cmdUpgrade } from "../commands/upgrade.js";
18
18
  import { BACKEND_SYNC_USAGE, BACKEND_SYNC_USAGE_EXAMPLE, cmdBackendSync, cmdSync, } from "../commands/backend.js";
19
19
  import { cmdRecipes, cmdScenario } from "../commands/recipes.js";
20
- import { BLOCK_USAGE, BLOCK_USAGE_EXAMPLE, BRANCH_BASE_USAGE, BRANCH_BASE_USAGE_EXAMPLE, BRANCH_REMOVE_USAGE, BRANCH_REMOVE_USAGE_EXAMPLE, BRANCH_STATUS_USAGE, BRANCH_STATUS_USAGE_EXAMPLE, CLEANUP_MERGED_USAGE, CLEANUP_MERGED_USAGE_EXAMPLE, COMMIT_USAGE, COMMIT_USAGE_EXAMPLE, FINISH_USAGE, FINISH_USAGE_EXAMPLE, GUARD_COMMIT_USAGE, GUARD_COMMIT_USAGE_EXAMPLE, HOOK_NAMES, INTEGRATE_USAGE, INTEGRATE_USAGE_EXAMPLE, PR_CHECK_USAGE, PR_CHECK_USAGE_EXAMPLE, PR_NOTE_USAGE, PR_NOTE_USAGE_EXAMPLE, PR_OPEN_USAGE, PR_OPEN_USAGE_EXAMPLE, PR_UPDATE_USAGE, PR_UPDATE_USAGE_EXAMPLE, START_USAGE, START_USAGE_EXAMPLE, TASK_DOC_SET_USAGE, TASK_DOC_SET_USAGE_EXAMPLE, TASK_DOC_SHOW_USAGE, TASK_DOC_SHOW_USAGE_EXAMPLE, VERIFY_USAGE, VERIFY_USAGE_EXAMPLE, WORK_START_USAGE, WORK_START_USAGE_EXAMPLE, cmdBlock, cmdBranchBaseGet, cmdBranchBaseSet, cmdBranchRemove, cmdBranchStatus, cmdCleanupMerged, cmdCommit, cmdFinish, cmdGuardClean, cmdGuardCommit, cmdGuardSuggestAllow, cmdHooksInstall, cmdHooksRun, cmdHooksUninstall, cmdIntegrate, cmdPrCheck, cmdPrNote, cmdPrOpen, cmdPrUpdate, cmdReady, cmdStart, cmdTaskAdd, cmdTaskComment, cmdTaskDocSet, cmdTaskDocShow, cmdTaskExport, cmdTaskLint, cmdTaskMigrate, cmdTaskNew, cmdTaskNext, cmdTaskNormalize, cmdTaskScaffold, cmdTaskScrub, cmdTaskSearch, cmdTaskSetStatus, cmdTaskShow, cmdTaskUpdate, cmdTaskList, cmdVerify, cmdWorkStart, dedupeStrings, ensureInitCommit, gitInitRepo, promptInitBaseBranch, resolveInitBaseBranch, suggestAllowPrefixes, } from "../commands/workflow.js";
20
+ import { BLOCK_USAGE, BLOCK_USAGE_EXAMPLE, BRANCH_BASE_USAGE, BRANCH_BASE_USAGE_EXAMPLE, BRANCH_REMOVE_USAGE, BRANCH_REMOVE_USAGE_EXAMPLE, BRANCH_STATUS_USAGE, BRANCH_STATUS_USAGE_EXAMPLE, CLEANUP_MERGED_USAGE, CLEANUP_MERGED_USAGE_EXAMPLE, COMMIT_USAGE, COMMIT_USAGE_EXAMPLE, FINISH_USAGE, FINISH_USAGE_EXAMPLE, GUARD_COMMIT_USAGE, GUARD_COMMIT_USAGE_EXAMPLE, HOOK_NAMES, INTEGRATE_USAGE, INTEGRATE_USAGE_EXAMPLE, PR_CHECK_USAGE, PR_CHECK_USAGE_EXAMPLE, PR_NOTE_USAGE, PR_NOTE_USAGE_EXAMPLE, PR_OPEN_USAGE, PR_OPEN_USAGE_EXAMPLE, PR_UPDATE_USAGE, PR_UPDATE_USAGE_EXAMPLE, START_USAGE, START_USAGE_EXAMPLE, TASK_DOC_SET_USAGE, TASK_DOC_SET_USAGE_EXAMPLE, TASK_DOC_SHOW_USAGE, TASK_DOC_SHOW_USAGE_EXAMPLE, VERIFY_USAGE, VERIFY_USAGE_EXAMPLE, WORK_START_USAGE, WORK_START_USAGE_EXAMPLE, cmdBlock, cmdBranchBaseGet, cmdBranchBaseClear, cmdBranchBaseExplain, cmdBranchBaseSet, cmdBranchRemove, cmdBranchStatus, cmdCleanupMerged, cmdCommit, cmdFinish, cmdGuardClean, cmdGuardCommit, cmdGuardSuggestAllow, cmdHooksInstall, cmdHooksRun, cmdHooksUninstall, cmdIntegrate, cmdPrCheck, cmdPrNote, cmdPrOpen, cmdPrUpdate, cmdReady, cmdStart, cmdTaskAdd, cmdTaskComment, cmdTaskDocSet, cmdTaskDocShow, cmdTaskExport, cmdTaskLint, cmdTaskMigrate, cmdTaskNew, cmdTaskNext, cmdTaskNormalize, cmdTaskScaffold, cmdTaskScrub, cmdTaskSearch, cmdTaskSetStatus, cmdTaskShow, cmdTaskUpdate, cmdTaskList, cmdVerify, cmdWorkStart, dedupeStrings, ensureInitCommit, gitInitRepo, promptInitBaseBranch, resolveInitBaseBranch, suggestAllowPrefixes, } from "../commands/workflow.js";
21
21
  function parseGlobalArgs(argv) {
22
22
  let help = false;
23
23
  let version = false;
@@ -535,7 +535,7 @@ async function cmdInit(opts) {
535
535
  const existingGitRoot = await findGitRoot(initRoot);
536
536
  const gitRootExisted = Boolean(existingGitRoot);
537
537
  let gitRoot = existingGitRoot;
538
- const baseBranchFallback = defaultConfig().base_branch;
538
+ const baseBranchFallback = "main";
539
539
  if (!gitRoot) {
540
540
  await gitInitRepo(initRoot, baseBranchFallback);
541
541
  gitRoot = initRoot;
@@ -605,7 +605,6 @@ async function cmdInit(opts) {
605
605
  await mkdir(path.join(resolved.agentplaneDir, "backends", "local"), { recursive: true });
606
606
  await mkdir(path.join(resolved.agentplaneDir, "backends", "redmine"), { recursive: true });
607
607
  const rawConfig = defaultConfig();
608
- setByDottedKey(rawConfig, "base_branch", initBaseBranch);
609
608
  setByDottedKey(rawConfig, "workflow_mode", workflow);
610
609
  setByDottedKey(rawConfig, "tasks_backend.config_path", path.relative(resolved.gitRoot, backendPath));
611
610
  setByDottedKey(rawConfig, "agents.approvals.require_plan", String(requirePlanApproval));
@@ -1261,12 +1260,21 @@ export async function runCli(argv) {
1261
1260
  }
1262
1261
  if (namespace === "branch") {
1263
1262
  if (command === "base") {
1264
- const [subcommand, value] = args;
1263
+ const [subcommand, ...rest] = args;
1265
1264
  if (subcommand === "get") {
1266
1265
  return await cmdBranchBaseGet({ cwd: process.cwd(), rootOverride: globals.root });
1267
1266
  }
1268
1267
  if (subcommand === "set") {
1269
- if (!value) {
1268
+ const useCurrent = rest.includes("--current");
1269
+ const value = rest.find((entry) => entry && entry !== "--current");
1270
+ if (useCurrent && value) {
1271
+ throw new CliError({
1272
+ exitCode: 2,
1273
+ code: "E_USAGE",
1274
+ message: usageMessage(BRANCH_BASE_USAGE, BRANCH_BASE_USAGE_EXAMPLE),
1275
+ });
1276
+ }
1277
+ if (!value && !useCurrent) {
1270
1278
  throw new CliError({
1271
1279
  exitCode: 2,
1272
1280
  code: "E_USAGE",
@@ -1277,8 +1285,15 @@ export async function runCli(argv) {
1277
1285
  cwd: process.cwd(),
1278
1286
  rootOverride: globals.root,
1279
1287
  value,
1288
+ useCurrent,
1280
1289
  });
1281
1290
  }
1291
+ if (subcommand === "clear") {
1292
+ return await cmdBranchBaseClear({ cwd: process.cwd(), rootOverride: globals.root });
1293
+ }
1294
+ if (subcommand === "explain") {
1295
+ return await cmdBranchBaseExplain({ cwd: process.cwd(), rootOverride: globals.root });
1296
+ }
1282
1297
  throw new CliError({
1283
1298
  exitCode: 2,
1284
1299
  code: "E_USAGE",
@@ -1445,7 +1460,7 @@ export async function runCli(argv) {
1445
1460
  message: usageMessage(WORK_START_USAGE, WORK_START_USAGE_EXAMPLE),
1446
1461
  });
1447
1462
  }
1448
- if (!agent || !slug || !worktree) {
1463
+ if (!agent || !slug) {
1449
1464
  throw new CliError({
1450
1465
  exitCode: 2,
1451
1466
  code: "E_USAGE",
@@ -2542,7 +2557,7 @@ export async function runCli(argv) {
2542
2557
  continue;
2543
2558
  if (arg === "--base") {
2544
2559
  const next = args[i + 1];
2545
- if (!next)
2560
+ if (!next || next.trim().length === 0)
2546
2561
  throw new CliError({
2547
2562
  exitCode: 2,
2548
2563
  code: "E_USAGE",
@@ -0,0 +1,60 @@
1
+ export { gitInitRepo, resolveInitBaseBranch, promptInitBaseBranch, ensureInitCommit, } from "../shared/git-ops.js";
2
+ export declare const BRANCH_BASE_USAGE = "Usage: agentplane branch base get|set|clear|explain [<name>|--current]";
3
+ export declare const BRANCH_BASE_USAGE_EXAMPLE = "agentplane branch base set --current";
4
+ export declare const BRANCH_STATUS_USAGE = "Usage: agentplane branch status [--branch <name>] [--base <name>]";
5
+ export declare const BRANCH_STATUS_USAGE_EXAMPLE = "agentplane branch status --base main";
6
+ export declare const BRANCH_REMOVE_USAGE = "Usage: agentplane branch remove [--branch <name>] [--worktree <path>] [--force] [--quiet]";
7
+ export declare const BRANCH_REMOVE_USAGE_EXAMPLE = "agentplane branch remove --branch task/20260203-F1Q8AB --worktree .agentplane/worktrees/task";
8
+ export declare const WORK_START_USAGE = "Usage: agentplane work start <task-id> --agent <id> --slug <slug> [--worktree]";
9
+ export declare const WORK_START_USAGE_EXAMPLE = "agentplane work start 202602030608-F1Q8AB --agent CODER --slug cli --worktree";
10
+ export declare const CLEANUP_MERGED_USAGE = "Usage: agentplane cleanup merged [--base <name>] [--yes] [--archive] [--quiet]";
11
+ export declare const CLEANUP_MERGED_USAGE_EXAMPLE = "agentplane cleanup merged --yes";
12
+ export declare function cmdWorkStart(opts: {
13
+ cwd: string;
14
+ rootOverride?: string;
15
+ taskId: string;
16
+ agent: string;
17
+ slug: string;
18
+ worktree: boolean;
19
+ }): Promise<number>;
20
+ export declare function cmdCleanupMerged(opts: {
21
+ cwd: string;
22
+ rootOverride?: string;
23
+ base?: string;
24
+ yes: boolean;
25
+ archive: boolean;
26
+ quiet: boolean;
27
+ }): Promise<number>;
28
+ export declare function cmdBranchBaseGet(opts: {
29
+ cwd: string;
30
+ rootOverride?: string;
31
+ }): Promise<number>;
32
+ export declare function cmdBranchBaseSet(opts: {
33
+ cwd: string;
34
+ rootOverride?: string;
35
+ value?: string;
36
+ useCurrent?: boolean;
37
+ }): Promise<number>;
38
+ export declare function cmdBranchBaseClear(opts: {
39
+ cwd: string;
40
+ rootOverride?: string;
41
+ }): Promise<number>;
42
+ export declare function cmdBranchBaseExplain(opts: {
43
+ cwd: string;
44
+ rootOverride?: string;
45
+ }): Promise<number>;
46
+ export declare function cmdBranchStatus(opts: {
47
+ cwd: string;
48
+ rootOverride?: string;
49
+ branch?: string;
50
+ base?: string;
51
+ }): Promise<number>;
52
+ export declare function cmdBranchRemove(opts: {
53
+ cwd: string;
54
+ rootOverride?: string;
55
+ branch?: string;
56
+ worktree?: string;
57
+ force: boolean;
58
+ quiet: boolean;
59
+ }): Promise<number>;
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/branch/index.ts"],"names":[],"mappings":"AAmCA,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,iBAAiB,2EAC4C,CAAC;AAC3E,eAAO,MAAM,yBAAyB,yCAAyC,CAAC;AAChF,eAAO,MAAM,mBAAmB,sEACqC,CAAC;AACtE,eAAO,MAAM,2BAA2B,yCAAyC,CAAC;AAClF,eAAO,MAAM,mBAAmB,8FAC6D,CAAC;AAC9F,eAAO,MAAM,2BAA2B,iGACwD,CAAC;AACjG,eAAO,MAAM,gBAAgB,mFACqD,CAAC;AACnF,eAAO,MAAM,wBAAwB,kFAC4C,CAAC;AAClF,eAAO,MAAM,oBAAoB,mFACiD,CAAC;AACnF,eAAO,MAAM,4BAA4B,oCAAoC,CAAC;AAoD9E,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2GlB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8IlB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BlB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAWlB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6ClB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDlB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4DlB"}