@tui-sandbox/library 11.5.0 → 11.6.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [11.6.0](https://github.com/mikavilpas/tui-sandbox/compare/library-v11.5.0...library-v11.6.0) (2025-08-05)
4
+
5
+
6
+ ### Features
7
+
8
+ * `tui run` command for running tests ([#559](https://github.com/mikavilpas/tui-sandbox/issues/559)) ([2ca3dba](https://github.com/mikavilpas/tui-sandbox/commit/2ca3dba3da1704ecf73b7d726322fc489cf03154))
9
+
3
10
  ## [11.5.0](https://github.com/mikavilpas/tui-sandbox/compare/library-v11.4.1...library-v11.5.0) (2025-08-05)
4
11
 
5
12
 
@@ -0,0 +1 @@
1
+ export declare function commandRunOnce(): Promise<void>;
@@ -0,0 +1,27 @@
1
+ import concurrently from "concurrently";
2
+ import { debuglog } from "util";
3
+ const log = debuglog("tui-sandbox.commandRunOnce");
4
+ export async function commandRunOnce() {
5
+ const job = concurrently([
6
+ {
7
+ name: "server",
8
+ command: "tui start",
9
+ prefixColor: "blue",
10
+ },
11
+ {
12
+ name: "cypress",
13
+ command: `'wait-on --timeout 60000 http-get://127.0.0.1:3000/ping && pnpm exec cypress run --config baseUrl=http://127.0.0.1:3000 --quiet'`,
14
+ prefixColor: "yellow",
15
+ },
16
+ ], {
17
+ killOthersOn: ["failure", "success"],
18
+ padPrefix: true, // makes all the prefixes the same length
19
+ successCondition: "command-cypress", // the test run that determines success/failure
20
+ });
21
+ await job.result.then(_ => {
22
+ log("All commands completed successfully");
23
+ }, (err) => {
24
+ log("One or more commands failed. Debug info follows.", err);
25
+ });
26
+ }
27
+ //# sourceMappingURL=commandRunOnce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandRunOnce.js","sourceRoot":"","sources":["../../../../src/scripts/commands/commandRunOnce.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAA;AAElD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,GAAG,GAAG,YAAY,CACtB;QACE;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,MAAM;SACpB;QACD;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,kIAAkI;YAC3I,WAAW,EAAE,QAAQ;SACtB;KACF,EACD;QACE,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;QACpC,SAAS,EAAE,IAAI,EAAE,yCAAyC;QAC1D,gBAAgB,EAAE,iBAAiB,EAAE,+CAA+C;KACrF,CACF,CAAA;IAED,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CACnB,CAAC,CAAC,EAAE;QACF,GAAG,CAAC,qCAAqC,CAAC,CAAA;IAC5C,CAAC,EACD,CAAC,GAAY,EAAE,EAAE;QACf,GAAG,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA;IAC9D,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare const parseArguments: (args: string[]) => Promise<ParseArgumentsResult | undefined>;
2
- export type ParseArgumentsResult = NeovimPrepare | NeovimExec | TuiStart;
2
+ export type ParseArgumentsResult = NeovimPrepare | NeovimExec | TuiStart | TuiRunOnce;
3
3
  export type NeovimExec = {
4
4
  action: "neovim exec";
5
5
  command: string;
@@ -10,3 +10,6 @@ export type NeovimPrepare = {
10
10
  export type TuiStart = {
11
11
  action: "start";
12
12
  };
13
+ export type TuiRunOnce = {
14
+ action: "run";
15
+ };
@@ -34,5 +34,15 @@ export const parseArguments = async (args) => {
34
34
  };
35
35
  }
36
36
  }
37
+ {
38
+ // tui start
39
+ const schema = z.tuple([z.literal("run")]);
40
+ const result = schema.safeParse(args);
41
+ if (result.success) {
42
+ return {
43
+ action: "run",
44
+ };
45
+ }
46
+ }
37
47
  };
38
48
  //# sourceMappingURL=parseArguments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseArguments.js","sourceRoot":"","sources":["../../../src/scripts/parseArguments.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,IAAc,EAA6C,EAAE;IAChG,CAAC;QACC,qBAAqB;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACnE,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,gBAAgB;aACzB,CAAA;QACH,CAAC;IACH,CAAC;IAED,CAAC;QACC,4BAA4B;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACxC,MAAM,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAA;YACtD,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,OAAO;aACR,CAAA;QACH,CAAC;IACH,CAAC;IAED,CAAC;QACC,YAAY;QACZ,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACL,MAAM,EAAE,OAAO;aAChB,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"parseArguments.js","sourceRoot":"","sources":["../../../src/scripts/parseArguments.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,IAAc,EAA6C,EAAE;IAChG,CAAC;QACC,qBAAqB;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACnE,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,gBAAgB;aACzB,CAAA;QACH,CAAC;IACH,CAAC;IAED,CAAC;QACC,4BAA4B;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACxC,MAAM,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAA;YACtD,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,OAAO;aACR,CAAA;QACH,CAAC;IACH,CAAC;IAED,CAAC;QACC,YAAY;QACZ,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACL,MAAM,EAAE,OAAO;aAChB,CAAA;QACH,CAAC;IACH,CAAC;IAED,CAAC;QACC,YAAY;QACZ,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACL,MAAM,EAAE,KAAK;aACd,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -17,4 +17,8 @@ it(`can parse "start"`, async () => {
17
17
  expect(await parseArguments(["start"])).toEqual({ action: "start" });
18
18
  expect(await parseArguments(["start", "foo"])).toBeUndefined();
19
19
  });
20
+ it(`can parse "run"`, async () => {
21
+ expect(await parseArguments(["run"])).toEqual({ action: "run" });
22
+ expect(await parseArguments(["run", "foo"])).toBeUndefined();
23
+ });
20
24
  //# sourceMappingURL=parseArguments.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseArguments.test.js","sourceRoot":"","sources":["../../../src/scripts/parseArguments.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;IAC1C,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACzF,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;AAC5E,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5G,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAChE,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAChF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IACpE,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;AAChE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"parseArguments.test.js","sourceRoot":"","sources":["../../../src/scripts/parseArguments.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;IAC1C,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACzF,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;AAC5E,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5G,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAChE,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAChF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IACpE,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;AAChE,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAChE,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;AAC9D,CAAC,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import path from "node:path";
2
+ import { commandRunOnce } from "./commands/commandRunOnce.js";
2
3
  import { commandTuiNeovimExec } from "./commands/commandTuiNeovimExec.js";
3
4
  import { commandTuiNeovimPrepare } from "./commands/commandTuiNeovimPrepare.js";
4
5
  import { commandTuiStart } from "./commands/commandTuiStart.js";
@@ -33,6 +34,10 @@ switch (command?.action) {
33
34
  await commandTuiStart();
34
35
  break;
35
36
  }
37
+ case "run": {
38
+ await commandRunOnce();
39
+ break;
40
+ }
36
41
  default: {
37
42
  command;
38
43
  showUsageAndExit();
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../../src/scripts/tui.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,EAAE;AACF,6CAA6C;AAC7C,EAAE;AAEF,MAAM,cAAc,GAAG,oBAAoB,CAAA;AAE3C;+BAC+B;AAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,WAAW,EAAE;QACX,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC;QACxD,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC;KAC/C;IACD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;CACtC,CAAA;AAE5B,uDAAuD;AACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAElC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;AAE1C,QAAQ,OAAO,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,gBAAgB,CAAC,CAAC,CAAC;QACtB,MAAM,uBAAuB,EAAE,CAAA;QAC/B,MAAK;IACP,CAAC;IACD,KAAK,aAAa,CAAC,CAAC,CAAC;QACnB,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;QACnC,MAAK;IACP,CAAC;IACD,KAAK,OAAO,CAAC,CAAC,CAAC;QACb,MAAM,eAAe,EAAE,CAAA;QACvB,MAAK;IACP,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;QACR,OAA2B,CAAA;QAC3B,gBAAgB,EAAE,CAAA;IACpB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CAAC,GAAG,CACT;QACE,EAAE;QACF,mBAAmB;QACnB,eAAe;QACf,oCAAoC;QACpC,wBAAwB;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../../src/scripts/tui.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,EAAE;AACF,6CAA6C;AAC7C,EAAE;AAEF,MAAM,cAAc,GAAG,oBAAoB,CAAA;AAE3C;+BAC+B;AAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,WAAW,EAAE;QACX,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC;QACxD,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC;KAC/C;IACD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;CACtC,CAAA;AAE5B,uDAAuD;AACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAElC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;AAE1C,QAAQ,OAAO,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,gBAAgB,CAAC,CAAC,CAAC;QACtB,MAAM,uBAAuB,EAAE,CAAA;QAC/B,MAAK;IACP,CAAC;IACD,KAAK,aAAa,CAAC,CAAC,CAAC;QACnB,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;QACnC,MAAK;IACP,CAAC;IACD,KAAK,OAAO,CAAC,CAAC,CAAC;QACb,MAAM,eAAe,EAAE,CAAA;QACvB,MAAK;IACP,CAAC;IACD,KAAK,KAAK,CAAC,CAAC,CAAC;QACX,MAAM,cAAc,EAAE,CAAA;QACtB,MAAK;IACP,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;QACR,OAA2B,CAAA;QAC3B,gBAAgB,EAAE,CAAA;IACpB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CAAC,GAAG,CACT;QACE,EAAE;QACF,mBAAmB;QACnB,eAAe;QACf,oCAAoC;QACpC,wBAAwB;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC"}