@wrenautomation/aerie 0.4.5 → 0.5.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/dist/store.d.ts CHANGED
@@ -48,6 +48,17 @@ export interface Decision {
48
48
  why?: string | undefined;
49
49
  }
50
50
  /** Where a task sits and its alias areas: the parts of a write outside the Task fields. */
51
+ export interface RouteRule {
52
+ id: number;
53
+ rank: number;
54
+ filter: Filter;
55
+ runner: string;
56
+ model: string | null;
57
+ lane: string | null;
58
+ why: string;
59
+ by: string;
60
+ at: string;
61
+ }
51
62
  export interface Placement {
52
63
  area?: string;
53
64
  addAliases?: string[];
@@ -71,6 +82,37 @@ export interface AreaInfo {
71
82
  export declare function aerieStore(o: StoreOptions): {
72
83
  get: (id: string, q?: Queryable) => Promise<TaskRecord | null>;
73
84
  list: (f?: Filter, sorts?: Sort[]) => Promise<TaskRecord[]>;
85
+ routeRules: () => Promise<RouteRule[]>;
86
+ addRouteRule: (r: Omit<RouteRule, "id" | "at" | "by" | "rank"> & {
87
+ rank?: number;
88
+ }, by: string) => Promise<RouteRule>;
89
+ removeRouteRule: (id: number, by: string) => Promise<boolean>;
90
+ log: (taskId: string, by: string, kind: string, body: unknown, why?: string) => Promise<void>;
91
+ lastEvent: (taskId: string, kind: string) => Promise<{
92
+ seq: number;
93
+ taskId: string;
94
+ at: string;
95
+ by: string;
96
+ kind: string;
97
+ why: string | null;
98
+ body: unknown;
99
+ words: string | null;
100
+ } | null>;
101
+ countEvents: (taskId: string, kind: string, body?: Record<string, unknown>, after?: number) => Promise<number>;
102
+ searchEvents: (words: string, o?: {
103
+ task?: string;
104
+ kind?: string;
105
+ limit?: number;
106
+ }) => Promise<{
107
+ rank: number;
108
+ seq: number;
109
+ taskId: string;
110
+ at: string;
111
+ by: string;
112
+ kind: string;
113
+ why: string | null;
114
+ body: unknown;
115
+ }[]>;
74
116
  create: (input: Edit & Placement & {
75
117
  title: string;
76
118
  }, by: string, opts?: {
package/dist/store.js CHANGED
@@ -696,15 +696,103 @@ export function aerieStore(o) {
696
696
  }
697
697
  async function events(id) {
698
698
  const t = await must(id, db);
699
+ const { words: _w, ...cols } = getTableColumns(s.taskEvent);
699
700
  return db
700
- .select()
701
+ .select(cols)
701
702
  .from(s.taskEvent)
702
703
  .where(eq(s.taskEvent.taskId, t.id))
703
704
  .orderBy(asc(s.taskEvent.seq));
704
705
  }
706
+ // ── routing and runs (D18) ──
707
+ async function routeRules() {
708
+ const rs = await db
709
+ .select()
710
+ .from(s.routeRule)
711
+ .orderBy(asc(s.routeRule.rank), asc(s.routeRule.id));
712
+ return rs.map((r) => ({ ...r, filter: r.filter }));
713
+ }
714
+ /** rank default: after the last rule */
715
+ async function addRouteRule(r, by) {
716
+ if (r.runner === "session" && !r.lane)
717
+ throw new AerieError("a session rule needs a lane");
718
+ return write(by, async (tx) => {
719
+ await ensureActors(tx, [by]);
720
+ const [last] = await tx
721
+ .select({ rank: s.routeRule.rank })
722
+ .from(s.routeRule)
723
+ .orderBy(sql `${s.routeRule.rank} desc`)
724
+ .limit(1);
725
+ const [row] = await tx
726
+ .insert(s.routeRule)
727
+ .values({
728
+ rank: r.rank ?? (last?.rank ?? 0) + 10,
729
+ filter: r.filter,
730
+ runner: r.runner,
731
+ model: r.model ?? null,
732
+ lane: r.lane ?? null,
733
+ why: r.why,
734
+ by,
735
+ at: now(),
736
+ })
737
+ .returning();
738
+ return { ...row, filter: r.filter };
739
+ });
740
+ }
741
+ async function removeRouteRule(id, by) {
742
+ return write(by, async (tx) => {
743
+ const r = await tx
744
+ .delete(s.routeRule)
745
+ .where(eq(s.routeRule.id, id))
746
+ .returning({ id: s.routeRule.id });
747
+ return r.length > 0;
748
+ });
749
+ }
750
+ /** one task_event row with no task write: routes and run events */
751
+ async function log(taskId, by, kind, body, why) {
752
+ const t = await must(taskId, db);
753
+ await write(by, async (tx) => {
754
+ await ensureActors(tx, [by]);
755
+ await event(tx, t.id, by, kind, body, why);
756
+ });
757
+ }
758
+ async function lastEvent(taskId, kind) {
759
+ const [r] = await db
760
+ .select()
761
+ .from(s.taskEvent)
762
+ .where(and(eq(s.taskEvent.taskId, taskId.toUpperCase()), eq(s.taskEvent.kind, kind)))
763
+ .orderBy(sql `${s.taskEvent.seq} desc`)
764
+ .limit(1);
765
+ return r ?? null;
766
+ }
767
+ /** after: only events past this seq */
768
+ async function countEvents(taskId, kind, body, after = 0) {
769
+ const [r] = await db
770
+ .select({ n: sql `count(*)::int` })
771
+ .from(s.taskEvent)
772
+ .where(and(eq(s.taskEvent.taskId, taskId.toUpperCase()), eq(s.taskEvent.kind, kind), ...(body ? [sql `${s.taskEvent.body} @> ${JSON.stringify(body)}::jsonb`] : []), sql `${s.taskEvent.seq} > ${after}`));
773
+ return Number(r?.n ?? 0);
774
+ }
775
+ /** full-text over every event: web-search words ("a b", -c, or); newest first among equal ranks */
776
+ async function searchEvents(words, o = {}) {
777
+ const q = sql `websearch_to_tsquery('simple', ${words})`;
778
+ const { words: _w, ...cols } = getTableColumns(s.taskEvent);
779
+ return db
780
+ .select({ ...cols, rank: sql `ts_rank(${s.taskEvent.words}, ${q})` })
781
+ .from(s.taskEvent)
782
+ .where(and(sql `${s.taskEvent.words} @@ ${q}`, ...(o.task ? [eq(s.taskEvent.taskId, (await must(o.task, db)).id)] : []), ...(o.kind ? [eq(s.taskEvent.kind, o.kind)] : [])))
783
+ .orderBy(sql `ts_rank(${s.taskEvent.words}, ${q}) desc`, sql `${s.taskEvent.seq} desc`)
784
+ .limit(o.limit ?? 50);
785
+ }
705
786
  return {
706
787
  get,
707
788
  list,
789
+ routeRules,
790
+ addRouteRule,
791
+ removeRouteRule,
792
+ log,
793
+ lastEvent,
794
+ countEvents,
795
+ searchEvents,
708
796
  create,
709
797
  edit,
710
798
  importTasks,
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAY,GAAG,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAGL,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,UAAU,EAGV,OAAO,EACP,IAAI,EACJ,OAAO,EAGP,QAAQ,EAIR,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAgD,MAAM,SAAS,CAAC;AAC3F,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAsDjC,MAAM,MAAM,GAAG,CAAC,CAA6B,EAAa,EAAE,CAAC,CAAC;IAC5D,EAAE,EAAE,CAAC,CAAC,EAAE;IACR,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,MAAM,EAAE,CAAC,CAAC,MAAgB;IAC1B,IAAI,EAAE,CAAC,CAAC,IAAc;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;IAC/B,MAAM,EAAE,CAAC,CAAC,MAA6B;IACvC,OAAO,EAAG,CAAC,CAAC,OAA2B,IAAI,SAAS;CACrD,CAAC,CAAC;AAsCH,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACrE,qEAAqE;AACrE,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE,CACjC,CAAC,IAAI,IAAI;IACP,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;SAC3D,WAAW,EAAE;SACb,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACnC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE,CAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAIrF,MAAM,UAAU,UAAU,CAAC,CAAe;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;IACzB,4DAA4D;IAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM;QACxB,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,EAAE;QAClB,CAAC,CAAC,GAAG,CAAA,oBAAoB,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC;IACxG,KAAK,UAAU,QAAQ,CAAC,IAAe,EAAE;QACvC,0EAA0E;QAC1E,MAAM,CAAC,GAAG,MAAM,CAAC;aACd,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC;IAEpC,KAAK,UAAU,KAAK,CAAI,EAAU,EAAE,EAA0B;QAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACxC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,EAAE,YAAY,aAAa,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,cAAc;IACd,+GAA+G;IAC/G,IAAI,IAAsD,CAAC;IAC3D,KAAK,UAAU,SAAS,CAAC,CAAY,EAAE,KAAK,GAAG,KAAK;QAClD,IAAI,CAAC,IAAI,IAAI,KAAK;YAAE,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,UAAU,QAAQ,CAAC,CAAY;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAU,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,CAAY,EAAE,IAAY;QAClD,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,GAAG,SAAS,CAAC;QACjB,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAC5F,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;iBAChB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;iBACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CACJ,GAAG,CACD,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EACtE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CACtB,CACF,CAAC;YACJ,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,CAAY,EAAE,IAAY;QAChD,MAAM,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5F,IAAI,EAAE,IAAI,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,CAAY,EAAE,GAAa;QACrD,IAAI,GAAG,CAAC,MAAM;YACZ,MAAM,CAAC;iBACJ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;iBACf,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC/E,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc;IACd,6GAA6G;IAC7G,KAAK,UAAU,IAAI,CAAC,CAAY,EAAE,KAAW;QAC3C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,CAAC;iBACE,MAAM,CAAC;gBACN,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1B,WAAW,EAAE,GAAG,CAEf,6BAA6B,CAAC,CAAC,SAAS,CAAC,OAAO,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,6BAA6B;gBACnM,SAAS,EAAE,GAAG,CAEb,6BAA6B,CAAC,CAAC,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;gBACjK,QAAQ,EAAE,GAAG,CAEZ,6BAA6B,CAAC,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAC,QAAQ,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;aAC9H,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,KAAK,CAAC;YACf,SAAS,CAAC,CAAC,CAAC;SACb,CAAC,CAAC;QACH,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,CAAI,CAAe,EAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,MAAM,CACJ,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,EACzB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EACjE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;aAC9B,IAAI,EAAE,CACV,CACF,CAAC;IACJ,CAAC;IAED,SAAS,MAAM,CAAC,CAAM,EAAE,IAAY,EAAE,SAAmB,EAAE,OAAiB;QAC1E,MAAM,CAAC,GAAe;YACpB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI;YACJ,OAAO;YACP,KAAK,EAAE,CAAC,CAAC,KAAc;YACvB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC;QACF,MAAM,GAAG,GAA4B;YACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;YACnC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;YACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;YAC/B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS;YACzC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;SAC5B,CAAC;QACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4CAA4C;IAC5C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,SAAS,cAAc,EAAE,GAAG,CAAC;QAC1F,OAAO,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC;IACjD,CAAC,CAAC;IAEF,KAAK,UAAU,GAAG,CAAC,EAAU,EAAE,IAAe,EAAE;QAC9C,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,CAAY;QAC1C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,EAAE,QAAgB,EAAE;QACpD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,8DAA8D;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,EAAE,EACF,GAAG,CACD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAC7B,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/D,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EACpD,CAAC,CAAC,GAAG;YACH,CAAC,CAAC,OAAO,CACL,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EACxB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAClC;YACH,CAAC,CAAC,SAAS,CACd,CACF,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB;IACpB,KAAK,UAAU,KAAK,CAAC,KAAa;QAChC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,8BAA8B;IAC9B,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,CAAwB;QAC7D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACzC,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG;gBACV,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;aAC3B,CAAC;YACF,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;iBACjB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;iBACd,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;iBACvC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;iBAChE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,EAAY,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY;QACnD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAClC,EAAE;aACC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;aACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aAC1D,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAChC,CAAC;QACF,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,wBAAwB;IACxB,KAAK,UAAU,SAAS,CAAC,IAAwC,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChB,KAAK,CACJ,GAAG,CACD,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,cAAc,EAC/C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAClD,CACF;aACA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAA2B;YACtC,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS;YAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAW;YACnC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YACjB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;YAC7B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS;YACrC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;YAC/B,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS;SACxB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qEAAqE;IACrE,KAAK,UAAU,GAAG,CAChB,CACiF,EACjF,EAAU;QAEV,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACxE,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,EAAc,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;iBACjB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,MAAM,CAAC;gBACN,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;gBACxC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,MAAM;gBACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACpD,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,GAAG,EAAE;gBACd,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI;aACnB,CAAC;iBACD,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,EAAE,EAAY,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,MAAM;YACpB,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IACzD,CAAC;IAED,2GAA2G;IAC3G,KAAK,UAAU,MAAM,CAAC,EAAU,EAAE,MAAc,EAAE,EAAU,EAAE,GAAY;QACxE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QACxF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;iBACpE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,QAAQ,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,MAAM,IAAI,CACR,CAAC,EACD,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACzF,EAAE,EACF,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAC1B,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IACzD,CAAC;IAED,eAAe;IACf,iFAAiF;IACjF,KAAK,UAAU,GAAG,CAAC,EAAM,EAAE,CAAO,EAAE,MAAc,EAAE,KAAY;QAC9D,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM;YACN,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;YAClC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;YACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE;YAC/B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,KAAK;YACL,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;SACvB,CAAC;QACF,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAClC,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;aACd,MAAM,CAAC,MAAM,CAAC;aACd,kBAAkB,CAAC;YAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACjB,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAA,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE;SACtD,CAAC,CAAC;QACL,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;aACnB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,MAAM;YACf,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChG,uCAAuC;QACvC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CACzF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAChB,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM;YACb,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,MAAM;YACd,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;iBACrE,kBAAkB,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;gBAClD,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAA,eAAe,EAAE;aAClC,CAAC,CAAC;IACT,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,EAAM,EAAE,EAAU,EAAE,CAAY;QACxD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACnF,CAAC;IACH,CAAC;IAED,KAAK,UAAU,KAAK,CAClB,EAAM,EACN,MAAc,EACd,EAAU,EACV,IAAY,EACZ,IAAa,EACb,GAAY;QAEZ,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,EAAM,EAAE,EAAU;QACvC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAClD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAClB,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,uFAAuF;IACvF,KAAK,UAAU,MAAM,CAAC,EAAM,EAAE,MAAe;QAC3C,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,yDAAyD,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACvF,iDAAiD;QACjD,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,EAAE;aAChB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EACrB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtD,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9B,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;aACjB,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;aACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,KAA2C,EAC3C,EAAU,EACV,OAAyB,EAAE;QAE3B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,IAAI,KAAK,CAAC,SAAS;gBACjB,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAW,EAAE,CAAC;YACtF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,KAAK,GAAS;gBAClB,EAAE;gBACF,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO;gBAC/B,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,EAAE;gBACd,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,CAAC,SAAS,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;YACrE,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,IAAI,CACjB,EAAU,EACV,CAAmB,EACnB,EAAU,EACV,OAAkB,EAAE;QAEpB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO;gBAC1D,MAAM,IAAI,UAAU,CAAC,UAAU,GAAG,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,QAAQ;gBAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxE,IAAI,CAAC,CAAC,SAAS;gBAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAW,EAAE,CAAC;YACzF,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpF,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,mGAAmG;IACnG,KAAK,UAAU,WAAW,CACxB,KAAsD,EACtD,EAAU;QAEV,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,EAAc,EAAE,OAAO,EAAE,EAAc,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACxE,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvC,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;wBACxB,MAAM,IAAI,UAAU,CAAC,UAAU,GAAG,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/E,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,CAAC,GAAG,IAAI,CAAC;gBACf,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC1D,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5F,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAwB;IACxB,KAAK,UAAU,KAAK;QAClB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,EAAE;aACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC;aAChE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,EAAU,EACV,IAA+D,EAAE;QAEjE,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG;gBACV,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,KAAK,UAAU,WAAW;QACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,GAAG;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC5E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,IAAc,EAAE,EAAU;QAC1E,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;iBAClE,mBAAmB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,IAAc,EAAE,EAAU;QAC3E,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAC1B,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,MAAM;QACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG;YAC/B,KAAK,EAAE,CAAC,CAAC,OAAO;YAChB,IAAI,EAAE,CAAC,CAAC,IAAgB;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,eAAe;IACf,KAAK,UAAU,MAAM;QACnB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gEAAgE;IAChE,KAAK,UAAU,YAAY,CAAC,KAAa;QACvC,MAAM,CAAC,GAAG,MAAM,EAAE;aACf,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;aAC1B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,GAAG,CAAA,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,EAAU,EAAE,CAA2C,EAAE,EAAU;QACzF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG;gBACV,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpF,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,KAAK,UAAU,QAAQ,CAAC,GAAa;QACnC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aAChD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;IACjB,KAAK,UAAU,UAAU,CAAC,GAAW;QACnC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACzB,CAAC;IACD,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,KAAa,EAAE,EAAU,EAAE,WAAW,GAAG,KAAK;QACnF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW;gBAChB,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE;gBACzB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,KAAK,UAAU,WAAW,CAAC,GAAc;QACvC,OAAO,EAAE;aACN,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;aAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe;QACtF,MAAM,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,cAAc,CAC3B,IAAuE;QAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG;YACvC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;iBAC9B,kBAAkB,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;gBAC3B,GAAG,EAAE;oBACH,IAAI,EAAE,GAAG,CAAA,eAAe;oBACxB,IAAI,EAAE,GAAG,CAAA,eAAe;oBACxB,OAAO,EAAE,GAAG,CAAA,kBAAkB;oBAC9B,EAAE,EAAE,GAAG,CAAA,OAAO;iBACf;aACF,CAAC,CAAC;IACT,CAAC;IAED,mBAAmB;IACnB,KAAK,UAAU,UAAU;QACvB,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7B,EAAE;iBACC,MAAM,CAAC;gBACN,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;gBACpB,KAAK,EAAE,GAAG,CAAQ,eAAe;gBACjC,IAAI,EAAE,GAAG,CAAQ,0BAA0B,CAAC,CAAC,IAAI,CAAC,MAAM,iBAAiB;aAC1E,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;aACpF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,EAAyD,EACzD,EAAU;QAEV,IAAI,CAAC,EAAE,CAAC,MAAM;YAAE,OAAO;QACvB,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE;gBAChB,MAAM,EAAE;qBACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;qBACnB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;qBACxE,kBAAkB,CAAC;oBAClB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE;oBACtB,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE;iBAC5D,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yFAAyF;IACzF,KAAK,UAAU,WAAW,CAAC,CAAY,EAAE,CAA4B;QACnE,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CAAA,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa,CAAC,GAAG,CACzF,CAAC;QACJ,OAAO,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,EAAU;QAC9B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,EAAE;aACN,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,+BAA+B;IAC/B,KAAK,UAAU,UAAU;QACvB,MAAM,EAAE,GAAG,MAAM,EAAE;aAChB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,wCAAwC;IACxC,KAAK,UAAU,YAAY,CACzB,CAAmE,EACnE,EAAU;QAEV,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC3F,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC5B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE;iBACpB,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;iBAClC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;iBACjB,OAAO,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;iBACtC,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;iBACnB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,MAAM,CAAC;gBACN,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE;gBACtC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;gBACpB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,EAAE;gBACF,EAAE,EAAE,GAAG,EAAE;aACV,CAAC;iBACD,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,GAAI,GAAuC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAe,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,EAAU;QACnD,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC5B,MAAM,CAAC,GAAG,MAAM,EAAE;iBACf,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC7B,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,KAAK,UAAU,GAAG,CAAC,MAAc,EAAE,EAAU,EAAE,IAAY,EAAE,IAAa,EAAE,GAAY;QACtF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,IAAY;QACnD,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aACpF,OAAO,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;aACrC,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IAED,uCAAuC;IACvC,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,IAAY,EACZ,IAA8B,EAC9B,KAAK,GAAG,CAAC;QAET,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAC5C,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAC1B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7E,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,EAAE,CACnC,CACF,CAAC;QACJ,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,mGAAmG;IACnG,KAAK,UAAU,YAAY,CACzB,KAAa,EACb,IAAsD,EAAE;QAExD,MAAM,CAAC,GAAG,GAAG,CAAA,kCAAkC,KAAK,GAAG,CAAC;QACxD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,EAAE;aACN,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAQ,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;aAC3E,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,EAAE,EACjC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACxE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClD,CACF;aACA,OAAO,CAAC,GAAG,CAAA,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;aACpF,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,GAAG;QACH,IAAI;QACJ,UAAU;QACV,YAAY;QACZ,eAAe;QACf,GAAG;QACH,SAAS;QACT,WAAW;QACX,YAAY;QACZ,MAAM;QACN,IAAI;QACJ,WAAW;QACX,KAAK;QACL,OAAO;QACP,WAAW;QACX,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,UAAU;QACV,aAAa;QACb,QAAQ;QACR,WAAW;QACX,aAAa;QACb,cAAc;QACd,MAAM;QACN,KAAK;QACL,QAAQ;QACR,UAAU;QACV,SAAS;QACT,GAAG;QACH,MAAM;QACN,QAAQ;QACR,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAID,+CAA+C;AAC/C,MAAM,UAAU,KAAK,CAAC,CAAa;IACjC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,18 @@
1
+ CREATE TABLE "aerie"."route_rule" (
2
+ "id" serial NOT NULL,
3
+ "rank" integer NOT NULL,
4
+ "filter" jsonb DEFAULT '{}'::jsonb NOT NULL,
5
+ "runner" text NOT NULL,
6
+ "model" text,
7
+ "lane" text,
8
+ "why" text NOT NULL,
9
+ "by" text NOT NULL,
10
+ "at" timestamp with time zone DEFAULT now() NOT NULL,
11
+ CONSTRAINT "pk_route_rule" PRIMARY KEY("id"),
12
+ CONSTRAINT "route_rule_runner_check" CHECK ("runner" IN ('claude', 'codex', 'grok', 'api', 'autobrowse-do', 'session')),
13
+ CONSTRAINT "route_rule_lane_check" CHECK (runner <> 'session' or lane is not null)
14
+ );
15
+ --> statement-breakpoint
16
+ ALTER TABLE "aerie"."task_event" ADD COLUMN "words" "tsvector" GENERATED ALWAYS AS (to_tsvector('simple', kind || ' ' || coalesce(why, '')) || jsonb_to_tsvector('simple', body, '["string"]')) STORED;--> statement-breakpoint
17
+ CREATE INDEX "route_rule_rank_idx" ON "aerie"."route_rule" USING btree ("rank");--> statement-breakpoint
18
+ CREATE INDEX "task_event_words_idx" ON "aerie"."task_event" USING gin ("words");