@owlmeans/planning 0.1.18-rc.2 → 0.1.18-rc.21
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/README.md +69 -26
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/planning/SKILL.md +157 -45
- package/build/aliases/types.d.ts +49 -0
- package/build/aliases/types.d.ts.map +1 -0
- package/build/aliases/types.js +2 -0
- package/build/aliases/types.js.map +1 -0
- package/build/aliases.d.ts +4 -0
- package/build/aliases.d.ts.map +1 -0
- package/build/aliases.js +27 -0
- package/build/aliases.js.map +1 -0
- package/build/consts.d.ts +23 -34
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +26 -25
- package/build/consts.js.map +1 -1
- package/build/entrypoints/types.d.ts +96 -0
- package/build/entrypoints/types.d.ts.map +1 -0
- package/build/entrypoints/types.js +2 -0
- package/build/entrypoints/types.js.map +1 -0
- package/build/entrypoints.d.ts +5 -1
- package/build/entrypoints.d.ts.map +1 -1
- package/build/entrypoints.js +17 -6
- package/build/entrypoints.js.map +1 -1
- package/build/errors.d.ts +41 -0
- package/build/errors.d.ts.map +1 -1
- package/build/errors.js +61 -0
- package/build/errors.js.map +1 -1
- package/build/helpers/apply/consts.local.d.ts +7 -0
- package/build/helpers/apply/consts.local.d.ts.map +1 -0
- package/build/helpers/apply/consts.local.js +9 -0
- package/build/helpers/apply/consts.local.js.map +1 -0
- package/build/helpers/apply/types.d.ts +32 -0
- package/build/helpers/apply/types.d.ts.map +1 -0
- package/build/helpers/apply/types.js +2 -0
- package/build/helpers/apply/types.js.map +1 -0
- package/build/helpers/apply.d.ts +5 -23
- package/build/helpers/apply.d.ts.map +1 -1
- package/build/helpers/apply.js +121 -143
- package/build/helpers/apply.js.map +1 -1
- package/build/helpers/card/types.d.ts +20 -0
- package/build/helpers/card/types.d.ts.map +1 -0
- package/build/helpers/card/types.js +2 -0
- package/build/helpers/card/types.js.map +1 -0
- package/build/helpers/card.d.ts +11 -7
- package/build/helpers/card.d.ts.map +1 -1
- package/build/helpers/card.js +41 -28
- package/build/helpers/card.js.map +1 -1
- package/build/helpers/changes/consts.local.d.ts +13 -0
- package/build/helpers/changes/consts.local.d.ts.map +1 -0
- package/build/helpers/changes/consts.local.js +13 -0
- package/build/helpers/changes/consts.local.js.map +1 -0
- package/build/helpers/changes/types.d.ts +58 -0
- package/build/helpers/changes/types.d.ts.map +1 -0
- package/build/helpers/changes/types.js +2 -0
- package/build/helpers/changes/types.js.map +1 -0
- package/build/helpers/changes.d.ts +11 -42
- package/build/helpers/changes.d.ts.map +1 -1
- package/build/helpers/changes.js +234 -251
- package/build/helpers/changes.js.map +1 -1
- package/build/helpers/code/types.d.ts +27 -0
- package/build/helpers/code/types.d.ts.map +1 -0
- package/build/helpers/code/types.js +2 -0
- package/build/helpers/code/types.js.map +1 -0
- package/build/helpers/code.d.ts +6 -17
- package/build/helpers/code.d.ts.map +1 -1
- package/build/helpers/code.js +39 -40
- package/build/helpers/code.js.map +1 -1
- package/build/helpers/index.d.ts +12 -0
- package/build/helpers/index.d.ts.map +1 -1
- package/build/helpers/index.js +2 -0
- package/build/helpers/index.js.map +1 -1
- package/build/helpers/query/types.d.ts +23 -0
- package/build/helpers/query/types.d.ts.map +1 -0
- package/build/helpers/query/types.js +2 -0
- package/build/helpers/query/types.js.map +1 -0
- package/build/helpers/query.d.ts +25 -17
- package/build/helpers/query.d.ts.map +1 -1
- package/build/helpers/query.js +108 -280
- package/build/helpers/query.js.map +1 -1
- package/build/helpers/scoped/types.d.ts +59 -0
- package/build/helpers/scoped/types.d.ts.map +1 -0
- package/build/helpers/scoped/types.js +2 -0
- package/build/helpers/scoped/types.js.map +1 -0
- package/build/helpers/scoped.d.ts +24 -0
- package/build/helpers/scoped.d.ts.map +1 -0
- package/build/helpers/scoped.js +197 -0
- package/build/helpers/scoped.js.map +1 -0
- package/build/helpers/specification/types.d.ts +24 -0
- package/build/helpers/specification/types.d.ts.map +1 -0
- package/build/helpers/specification/types.js +2 -0
- package/build/helpers/specification/types.js.map +1 -0
- package/build/helpers/specification.d.ts +9 -13
- package/build/helpers/specification.d.ts.map +1 -1
- package/build/helpers/specification.js +47 -44
- package/build/helpers/specification.js.map +1 -1
- package/build/helpers/status/types.d.ts +48 -0
- package/build/helpers/status/types.d.ts.map +1 -0
- package/build/helpers/status/types.js +2 -0
- package/build/helpers/status/types.js.map +1 -0
- package/build/helpers/status.d.ts +16 -29
- package/build/helpers/status.d.ts.map +1 -1
- package/build/helpers/status.js +77 -73
- package/build/helpers/status.js.map +1 -1
- package/build/helpers/types.local.d.ts +17 -0
- package/build/helpers/types.local.d.ts.map +1 -0
- package/build/helpers/types.local.js +2 -0
- package/build/helpers/types.local.js.map +1 -0
- package/build/helpers/validate/types.d.ts +30 -0
- package/build/helpers/validate/types.d.ts.map +1 -0
- package/build/helpers/validate/types.js +2 -0
- package/build/helpers/validate/types.js.map +1 -0
- package/build/helpers/validate.d.ts +8 -19
- package/build/helpers/validate.d.ts.map +1 -1
- package/build/helpers/validate.js +74 -79
- package/build/helpers/validate.js.map +1 -1
- package/build/helpers/wire/types.d.ts +28 -0
- package/build/helpers/wire/types.d.ts.map +1 -0
- package/build/helpers/wire/types.js +2 -0
- package/build/helpers/wire/types.js.map +1 -0
- package/build/helpers/wire.d.ts +4 -0
- package/build/helpers/wire.d.ts.map +1 -0
- package/build/helpers/wire.js +215 -0
- package/build/helpers/wire.js.map +1 -0
- package/build/i18n/be.json +5 -0
- package/build/i18n/de.json +5 -0
- package/build/i18n/en.json +5 -0
- package/build/i18n/es.json +5 -0
- package/build/i18n/fr.json +56 -0
- package/build/i18n/pl.json +5 -0
- package/build/i18n/ru.json +5 -0
- package/build/i18n/uk.json +5 -0
- package/build/i18n.js +5 -4
- package/build/i18n.js.map +1 -1
- package/build/index.d.ts +4 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/models/index.d.ts +2 -3
- package/build/models/index.d.ts.map +1 -1
- package/build/models/index.js +1 -15
- package/build/models/index.js.map +1 -1
- package/build/models/model.d.ts +5 -0
- package/build/models/model.d.ts.map +1 -0
- package/build/models/model.js +16 -0
- package/build/models/model.js.map +1 -0
- package/build/models/project.d.ts +2 -1
- package/build/models/project.d.ts.map +1 -1
- package/build/models/project.js.map +1 -1
- package/build/models/specification.d.ts +2 -1
- package/build/models/specification.d.ts.map +1 -1
- package/build/models/specification.js.map +1 -1
- package/build/models/types.d.ts +69 -0
- package/build/models/types.d.ts.map +1 -0
- package/build/models/types.js +2 -0
- package/build/models/types.js.map +1 -0
- package/build/models/workcard.d.ts +2 -1
- package/build/models/workcard.d.ts.map +1 -1
- package/build/models/workcard.js +12 -12
- package/build/models/workcard.js.map +1 -1
- package/build/schemas.d.ts +10 -2
- package/build/schemas.d.ts.map +1 -1
- package/build/schemas.js +87 -1
- package/build/schemas.js.map +1 -1
- package/build/types.d.ts +199 -148
- package/build/types.d.ts.map +1 -1
- package/build/utils.d.ts +6 -0
- package/build/utils.d.ts.map +1 -0
- package/build/utils.js +6 -0
- package/build/utils.js.map +1 -0
- package/package.json +11 -11
- package/src/aliases/types.ts +38 -0
- package/src/aliases.ts +31 -0
- package/src/consts.ts +26 -25
- package/src/entrypoints/types.ts +68 -0
- package/src/entrypoints.ts +34 -14
- package/src/errors.ts +71 -0
- package/src/helpers/apply/consts.local.ts +10 -0
- package/src/helpers/apply/types.ts +32 -0
- package/src/helpers/apply.ts +135 -152
- package/src/helpers/card/types.ts +20 -0
- package/src/helpers/card.ts +59 -33
- package/src/helpers/changes/consts.local.ts +17 -0
- package/src/helpers/changes/types.ts +66 -0
- package/src/helpers/changes.ts +267 -280
- package/src/helpers/code/types.ts +31 -0
- package/src/helpers/code.ts +52 -48
- package/src/helpers/index.ts +13 -0
- package/src/helpers/query/types.ts +26 -0
- package/src/helpers/query.ts +144 -314
- package/src/helpers/scoped/types.ts +64 -0
- package/src/helpers/scoped.ts +257 -0
- package/src/helpers/specification/types.ts +26 -0
- package/src/helpers/specification.ts +69 -51
- package/src/helpers/status/types.ts +46 -0
- package/src/helpers/status.ts +117 -93
- package/src/helpers/types.local.ts +18 -0
- package/src/helpers/validate/types.ts +30 -0
- package/src/helpers/validate.ts +84 -77
- package/src/helpers/wire/types.ts +31 -0
- package/src/helpers/wire.ts +251 -0
- package/src/i18n/be.json +5 -0
- package/src/i18n/de.json +5 -0
- package/src/i18n/en.json +5 -0
- package/src/i18n/es.json +5 -0
- package/src/i18n/fr.json +56 -0
- package/src/i18n/pl.json +5 -0
- package/src/i18n/ru.json +5 -0
- package/src/i18n/uk.json +5 -0
- package/src/i18n.ts +6 -4
- package/src/index.ts +4 -0
- package/src/models/index.ts +2 -17
- package/src/models/model.ts +18 -0
- package/src/models/project.ts +2 -1
- package/src/models/specification.ts +2 -1
- package/src/models/types.ts +70 -0
- package/src/models/workcard.ts +14 -16
- package/src/schemas.ts +98 -2
- package/src/types.ts +207 -126
- package/src/utils.ts +9 -0
- package/tests/apply.spec.ts +95 -31
- package/tests/code.spec.ts +9 -9
- package/tests/entrypoints.spec.ts +18 -2
- package/tests/error-status.spec.ts +6 -1
- package/tests/models.spec.ts +16 -15
- package/tests/query.spec.ts +13 -15
- package/tests/schemas.spec.ts +8 -8
- package/tests/scoped.spec.ts +154 -0
- package/tests/status.spec.ts +31 -22
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { AnyTypeSchema, SpecificationSlot, TransitionExecution, Workcard, WorkcardChanges } from '../../types.js';
|
|
2
|
+
import type { FlowLookup } from '../types.local.js';
|
|
3
|
+
export interface ChangeSet {
|
|
4
|
+
changes: WorkcardChanges;
|
|
5
|
+
unset: string[];
|
|
6
|
+
/** Transit only: the flow that moved, and the move. */
|
|
7
|
+
flow?: string;
|
|
8
|
+
from?: string;
|
|
9
|
+
to?: string;
|
|
10
|
+
}
|
|
11
|
+
/** What a transition records — computed from an execution, and the guards it must pass first. */
|
|
12
|
+
export interface ChangesHelper {
|
|
13
|
+
/** Structural equality over JSON values. */
|
|
14
|
+
sameValue: (left: unknown, right: unknown) => boolean;
|
|
15
|
+
/** A shallow merge that drops keys patched to `null`. */
|
|
16
|
+
mergeFields: (base?: Record<string, unknown> | null, patch?: Record<string, unknown> | null) => Record<string, unknown>;
|
|
17
|
+
/** A copy of the record with the paths (`key`, `fields.key`, `flows.id`) removed. */
|
|
18
|
+
applyUnset: <T extends object>(record: T, unset?: string[]) => T;
|
|
19
|
+
/**
|
|
20
|
+
* Refuse an execution that writes what only the transition, the flow or the executor may write.
|
|
21
|
+
*
|
|
22
|
+
* `status`/`intrinsic`/`flows`/`closedAt` move only through `transit` (a create's draft may name
|
|
23
|
+
* the initial status); `code` is fixed once minted unless the type's policy says `mutable`;
|
|
24
|
+
* `category` is fixed; `revision`/`bodyChars` are computed; `createdBy` is the create DRAFT's
|
|
25
|
+
* alone — named in `changes` or `unset` it is refused on every action, so an owner check
|
|
26
|
+
* (`card.createdBy === profileId`) can trust it.
|
|
27
|
+
*
|
|
28
|
+
* @throws {PlanningError} `planning:immutable:<field>`
|
|
29
|
+
*/
|
|
30
|
+
assertMutable: (exec: TransitionExecution, type: AnyTypeSchema) => void;
|
|
31
|
+
/**
|
|
32
|
+
* The `changes`/`unset` a transition records (plan step 9).
|
|
33
|
+
*
|
|
34
|
+
* - `create`: the whole initial record from the draft (overlaid by `exec.changes`) — `parents`
|
|
35
|
+
* normalized, every flow at its initial status (the draft's `status` for the primary one),
|
|
36
|
+
* `status`/`intrinsic` mirrored, `closedAt` when it starts closed; a specification gets its
|
|
37
|
+
* format, `bodyChars` and revision 1 when the slot is revisioned.
|
|
38
|
+
* - `update`: only what differs; `null` or `exec.unset` clears a field that has a value; a moved
|
|
39
|
+
* `parent` replaces the old one in `parents`; a revisioned document whose content changed gets
|
|
40
|
+
* `revision + 1`. An update that changes nothing is empty ({@link ChangesHelper.isEmptyChange}).
|
|
41
|
+
* - `transit`: `flows[flow] = rule.to`, `status` when the flow is primary, `intrinsic` when it
|
|
42
|
+
* moves, `closedAt` set on entering closed and cleared on leaving it — plus the caller's own
|
|
43
|
+
* changes, diffed as in an update.
|
|
44
|
+
* - `link`, `unlink`, `delete`: nothing.
|
|
45
|
+
*
|
|
46
|
+
* `createdBy` comes from a create's draft only: `changes` and `unset` never carry it, on any action
|
|
47
|
+
* ({@link ChangesHelper.assertMutable} refuses an execution that tries).
|
|
48
|
+
*
|
|
49
|
+
* @throws {IllegalTransition} a transit the flow does not offer from the current status
|
|
50
|
+
* @throws {PlanningError} `malformed:*` for an execution missing what its action needs
|
|
51
|
+
*/
|
|
52
|
+
computeChanges: (card: Workcard | null | undefined, exec: TransitionExecution, type: AnyTypeSchema, registry: FlowLookup, at: string, opts?: {
|
|
53
|
+
slot?: SpecificationSlot | null;
|
|
54
|
+
}) => ChangeSet;
|
|
55
|
+
/** Nothing to write: no changed value and nothing to clear. */
|
|
56
|
+
isEmptyChange: (set: Pick<ChangeSet, 'changes' | 'unset'>) => boolean;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/helpers/changes/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EACjF,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IACrD,yDAAyD;IACzD,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvH,qFAAqF;IACrF,UAAU,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAChE;;;;;;;;;;OAUG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IACvE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,cAAc,EAAE,CACd,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjC,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,UAAU,EACpB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;KAAE,KACvC,SAAS,CAAA;IACd,+DAA+D;IAC/D,aAAa,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,OAAO,CAAA;CACtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/helpers/changes/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,51 +1,20 @@
|
|
|
1
|
-
import type { AnyTypeSchema,
|
|
2
|
-
type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
flow?: string;
|
|
8
|
-
from?: string;
|
|
9
|
-
to?: string;
|
|
10
|
-
}
|
|
11
|
-
/** Structural equality over JSON values. */
|
|
1
|
+
import type { AnyTypeSchema, SpecificationSlot, TransitionExecution, Workcard } from '../types.js';
|
|
2
|
+
import type { ChangeSet, ChangesHelper } from './changes/types.js';
|
|
3
|
+
import type { FlowLookup } from './types.local.js';
|
|
4
|
+
export declare const createChangesHelper: () => ChangesHelper;
|
|
5
|
+
export declare const changesHelper: ChangesHelper;
|
|
6
|
+
/** @deprecated compat:factory-refactor — use `changesHelper.sameValue(…)` */
|
|
12
7
|
export declare const sameValue: (left: unknown, right: unknown) => boolean;
|
|
13
|
-
/**
|
|
8
|
+
/** @deprecated compat:factory-refactor — use `changesHelper.mergeFields(…)` */
|
|
14
9
|
export declare const mergeFields: (base?: Record<string, unknown> | null, patch?: Record<string, unknown> | null) => Record<string, unknown>;
|
|
15
|
-
/**
|
|
10
|
+
/** @deprecated compat:factory-refactor — use `changesHelper.applyUnset(…)` */
|
|
16
11
|
export declare const applyUnset: <T extends object>(record: T, unset?: string[]) => T;
|
|
17
|
-
/**
|
|
18
|
-
* Refuse an execution that writes what only the transition, the flow or the executor may write.
|
|
19
|
-
*
|
|
20
|
-
* `status`/`intrinsic`/`flows`/`closedAt` move only through `transit` (a create's draft may name
|
|
21
|
-
* the initial status); `code` is fixed once minted unless the type's policy says `mutable`;
|
|
22
|
-
* `category` is fixed; `revision`/`bodyChars` are computed.
|
|
23
|
-
*
|
|
24
|
-
* @throws {PlanningError} `planning:immutable:<field>`
|
|
25
|
-
*/
|
|
12
|
+
/** @deprecated compat:factory-refactor — use `changesHelper.assertMutable(…)` */
|
|
26
13
|
export declare const assertMutable: (exec: TransitionExecution, type: AnyTypeSchema) => void;
|
|
27
|
-
/**
|
|
28
|
-
* The `changes`/`unset` a transition records (plan step 9).
|
|
29
|
-
*
|
|
30
|
-
* - `create`: the whole initial record from the draft (overlaid by `exec.changes`) — `parents`
|
|
31
|
-
* normalized, every flow at its initial status (the draft's `status` for the primary one),
|
|
32
|
-
* `status`/`intrinsic` mirrored, `closedAt` when it starts closed; a specification gets its
|
|
33
|
-
* format, `bodyChars` and revision 1 when the slot is revisioned.
|
|
34
|
-
* - `update`: only what differs; `null` or `exec.unset` clears a field that has a value; a moved
|
|
35
|
-
* `parent` replaces the old one in `parents`; a revisioned document whose content changed gets
|
|
36
|
-
* `revision + 1`. An update that changes nothing is empty ({@link isEmptyChange}).
|
|
37
|
-
* - `transit`: `flows[flow] = rule.to`, `status` when the flow is primary, `intrinsic` when it
|
|
38
|
-
* moves, `closedAt` set on entering closed and cleared on leaving it — plus the caller's own
|
|
39
|
-
* changes, diffed as in an update.
|
|
40
|
-
* - `link`, `unlink`, `delete`: nothing.
|
|
41
|
-
*
|
|
42
|
-
* @throws {IllegalTransition} a transit the flow does not offer from the current status
|
|
43
|
-
* @throws {PlanningError} `malformed:*` for an execution missing what its action needs
|
|
44
|
-
*/
|
|
14
|
+
/** @deprecated compat:factory-refactor — use `changesHelper.computeChanges(…)` */
|
|
45
15
|
export declare const computeChanges: (card: Workcard | null | undefined, exec: TransitionExecution, type: AnyTypeSchema, registry: FlowLookup, at: string, opts?: {
|
|
46
16
|
slot?: SpecificationSlot | null;
|
|
47
17
|
}) => ChangeSet;
|
|
48
|
-
/**
|
|
18
|
+
/** @deprecated compat:factory-refactor — use `changesHelper.isEmptyChange(…)` */
|
|
49
19
|
export declare const isEmptyChange: (set: Pick<ChangeSet, 'changes' | 'unset'>) => boolean;
|
|
50
|
-
export {};
|
|
51
20
|
//# sourceMappingURL=changes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/helpers/changes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/helpers/changes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAiB,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,EAAkC,MAAM,aAAa,CAAA;AAEjJ,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAQlD,eAAO,MAAM,mBAAmB,QAAO,aAkRtC,CAAA;AAED,eAAO,MAAM,aAAa,eAAwB,CAAA;AAElD,6EAA6E;AAC7E,eAAO,MAAM,SAAS,SAAU,OAAO,SAAS,OAAO,KAAG,OAA+C,CAAA;AAEzG,+EAA+E;AAC/E,eAAO,MAAM,WAAW,UACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAC5E,MAAM,CAAC,MAAM,EAAE,OAAO,CAA2C,CAAA;AAEpE,8EAA8E;AAC9E,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,UAAU,CAAC,UAAU,MAAM,EAAE,KAAG,CAA+C,CAAA;AAE1H,iFAAiF;AACjF,eAAO,MAAM,aAAa,SAAU,mBAAmB,QAAQ,aAAa,KAAG,IAA+C,CAAA;AAE9H,kFAAkF;AAClF,eAAO,MAAM,cAAc,SACnB,QAAQ,GAAG,IAAI,GAAG,SAAS,QAC3B,mBAAmB,QACnB,aAAa,YACT,UAAU,MAChB,MAAM,SACH;IAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAAE,KACzC,SAA+E,CAAA;AAElF,iFAAiF;AACjF,eAAO,MAAM,aAAa,QAAS,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAG,OAA2C,CAAA"}
|