@agenticprimitives/capability-claims 0.0.0-alpha.18 → 0.0.0-alpha.20

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.
@@ -0,0 +1,359 @@
1
+ /** The runtime risk ladder (spec 350 §3). The YAML shorthand R0–R4 normalises onto it. */
2
+ export type ContractRisk = 'informational' | 'low' | 'medium' | 'high' | 'critical';
3
+ /** Accepts either form; returns the named risk or null. Normalising here means the corpus may write
4
+ * `risk: R2` (the 350 §7 shape) and every consumer sees exactly one vocabulary. */
5
+ export declare function normalizeRisk(v: unknown): ContractRisk | null;
6
+ /**
7
+ * Spec 398 §7.2 — HOW MANY TIMES THIS ACT MAY LAND FOR ONE REQUEST. Declared per capability so a surface
8
+ * knows its retry affordance and a CLI knows whether to take `--idempotency-key`:
9
+ * `one-per-request` — a retry of the same request must not repeat the effect (a payment);
10
+ * `one-per-resource-version` — repeating it against an unchanged resource is a no-op (an edit);
11
+ * `replay-safe` — repeating it is harmless (a read, a listing).
12
+ * It is VERIFIED by the intent-derived single-use nonce the harness already carries (spec 350) — this
13
+ * declaration informs the UI and the client; it never becomes a second mechanism and no gate reads it.
14
+ */
15
+ export type IdempotencyV1 = 'one-per-request' | 'one-per-resource-version' | 'replay-safe';
16
+ /**
17
+ * Spec 398 §7.2 — WHAT KIND OF THING COMES BACK, as a closed set beside the `interaction.result` component
18
+ * NAME (spec 361). A generated client or CLI needs to know it is holding a receipt or a listing without
19
+ * resolving a component; a wrong kind costs a worse render, never a wrong verdict (361 §1).
20
+ */
21
+ export type ResultKindV1 = 'artifact' | 'receipt' | 'membership' | 'message' | 'decision' | 'listing';
22
+ export interface ValidationResult {
23
+ ok: boolean;
24
+ /** Sentences, each naming the path it is about. Relayed verbatim by compilers. */
25
+ errors: string[];
26
+ }
27
+ /** What a skill DECLARES about executing (spec 350 §7). Everything beyond `name` is optional because
28
+ * the existing corpus is behavioral-only (name/skills/category/description) and K1's gate is that the
29
+ * EXISTING archetypes validate — a playbook with no execution contract is a playbook, not an error. */
30
+ /**
31
+ * Spec 367 W2 — ONE EXAMPLE SENTENCE a person says, and what it means for THIS skill. Positive: the
32
+ * arguments the sentence yields (their WORDS — "David", "10" — never resolved values). Negative
33
+ * (`isNot`): a sentence that sounds like this act and is not, with the reason. Rendered into the planner's
34
+ * few-shot context by the compiler and replayed as the scenario eval set (`check:ask-scenarios`), so a
35
+ * scenario ships with the skill and is tested before it is deployed rather than discovered at the prompt.
36
+ */
37
+ export interface UtteranceV1 {
38
+ says: string;
39
+ /** The arguments this sentence yields for the skill's tool, as the person's words. */
40
+ args?: Record<string, string>;
41
+ /** When set, this sentence is NOT this act — the reason a planner is told. Mutually exclusive with args. */
42
+ isNot?: string;
43
+ }
44
+ export interface SkillExecutionContractV1 {
45
+ name: string;
46
+ /** Spec 371 — the FACT WORDS a question uses to name what this READ answers ("balance", "how much").
47
+ * Only on an informational skill: question admission requires the plan to include the read that
48
+ * answers a fact the sentence names. */
49
+ answers?: string[];
50
+ /** Spec 371 — the author's sentence for this read's result: `{{field}}` over the tool's result (once per
51
+ * `items[]` element for a list). Rendered, never composed, so the unit is the author's. */
52
+ answer?: string;
53
+ /** Spec 370 P5 — on the ARCHETYPE's own document only: what the playbook asks on its own, and when. */
54
+ triggers?: TriggerV1[];
55
+ /** Spec 367 W1/W2 — the IMPERATIVES that name this act ("send", "pay", "create a team"). Plan admission
56
+ * refuses a plan for a sentence opening with one that contains no act. Only for authority-bearing skills. */
57
+ verbs?: string[];
58
+ /** Spec 367 W2 — example sentences, positive and negative. See `UtteranceV1`. */
59
+ utterances?: UtteranceV1[];
60
+ /** Spec 367 §6 — what a successful act of this skill ESTABLISHES about the requested outcome: `lookup` (who
61
+ * was meant), `submission` (accepted / pending — an invitation recorded is not a membership), or
62
+ * `authoritative` (the outcome itself, with evidence). Default: lookup for an informational skill,
63
+ * authoritative for an act. A reply may claim only what this class establishes. */
64
+ establishes?: 'lookup' | 'submission' | 'authoritative';
65
+ /** ADR-0051 canonical capability id — the SAME string the profile publishes. */
66
+ capability?: string;
67
+ /** Intent ids this skill satisfies. */
68
+ satisfies?: string[];
69
+ risk?: ContractRisk;
70
+ /** Input name → ontology class (a T-box term; the compiler resolves it, this schema keeps the string). */
71
+ inputs?: Record<string, string>;
72
+ authority?: {
73
+ mandateRequired: boolean;
74
+ /** Present iff mandateRequired. `type` MUST be a `urn:ap:rar:` requirement type. */
75
+ requirement?: {
76
+ type: string;
77
+ actions: string[];
78
+ };
79
+ /** WHICH ARG carries the resource a mandate scopes (`asset`). Execution-contract information: the
80
+ * verifier compares the mandate's resource to THIS arg, so a skill that does not say which arg it is
81
+ * cannot be gated on one. Was hand-kept in the compiler's capability map; it belongs here. */
82
+ resourceArg?: string;
83
+ /** WHICH ARG names whose authority is spent (`payer`) — never inferred from the sentence. */
84
+ authorityArg?: string;
85
+ };
86
+ /** Input names the skill cannot run without. `inputs` says what the inputs ARE; this says which the
87
+ * harness must ask for rather than proceed without. */
88
+ required?: string[];
89
+ /** A PolicyEvaluator input, BY NAME — never inline policy (policy lives with the policy). */
90
+ approvals?: {
91
+ derivedFrom: string;
92
+ };
93
+ knowledge?: {
94
+ requires: string[];
95
+ };
96
+ /** MCP tool ids the plan may use. */
97
+ tools?: string[];
98
+ evidence?: {
99
+ produces: string[];
100
+ };
101
+ /** Spec 360 — what FOLLOWS a successful act of this skill. `evidence` names the artifact; this says how
102
+ * it is discharged, and the pair is the promise and the keeping of it. A skill declaring evidence with
103
+ * no effect to produce it is making a promise nothing executes — the defect spec 360 exists to close. */
104
+ effects?: DeclaredEffectV1[];
105
+ /** Spec 361 — how this act meets a person: editor / review / result component names + navigation key. */
106
+ interaction?: InteractionBindingV1;
107
+ /**
108
+ * Spec 363 W5 — the DECISION POINTS this capability consults, by id (`payment.sourceAccount`).
109
+ *
110
+ * WHAT A DOMAIN AUTHOR MAY SAY, and what they may not. They may say WHICH questions this act lets the
111
+ * substrate answer on the person's behalf instead of asking — that is behaviour, it is theirs, and it
112
+ * is the difference between an act that interrupts and one that does not. They may NOT write the
113
+ * rules: a rule's basis is a modelled fact and its ordering decides whose money moves, so the points
114
+ * and their rules stay in `packages/ontology` where a gate checks them (spec 363 §2).
115
+ *
116
+ * A point this substrate does not publish is a REFUSAL, not a silent skip: a contract naming a
117
+ * decision nobody implements would read as "this asks nothing" while asking everything.
118
+ */
119
+ decisions?: string[];
120
+ /** Spec 398 §7.2 — how many times this act may land for one request. Informs the retry affordance and
121
+ * the CLI's `--idempotency-key`; verified by the existing nonce, never a second mechanism. */
122
+ idempotency?: IdempotencyV1;
123
+ /** Spec 398 §7.2 — the closed kind of what comes back, beside `interaction.result`'s component NAME. */
124
+ result?: {
125
+ kind: ResultKindV1;
126
+ };
127
+ /** The compensating skill's name, if this act can be unwound. */
128
+ compensation?: string;
129
+ }
130
+ export declare function validateSkillExecutionContract(input: unknown): ValidationResult;
131
+ /** One tool as the definition exposes it — the `orchestration.ToolSpec` subset that is DATA (a
132
+ * definition carries no functions; the app binds invokers by id at admission). */
133
+ export interface DefinitionToolV1 {
134
+ id: string;
135
+ description: string;
136
+ inputSchema?: Record<string, unknown>;
137
+ capability?: {
138
+ id: string;
139
+ action: string;
140
+ resourceArg?: string;
141
+ authorityArg?: string;
142
+ };
143
+ risk?: ContractRisk;
144
+ /** Spec 358 W4 — what this tool's result enumerates, when it does. An ontology relation IRI. */
145
+ enumerates?: {
146
+ relation: string;
147
+ };
148
+ /** Spec 361 — the interaction binding the contract declared, carried for surfaces to resolve. */
149
+ interaction?: InteractionBindingV1;
150
+ /** Spec 363 W5 — the decision points this capability consults. Behaviour, never authority: consulting
151
+ * one lets the substrate answer a question instead of asking it, and every rule still cites itself. */
152
+ decisions?: string[];
153
+ /** Spec 367 — the imperatives naming this act (plan admission) and the example sentences (few-shot + evals). */
154
+ verbs?: string[];
155
+ utterances?: UtteranceV1[];
156
+ /** Spec 367 §6 — the outcome class a successful step establishes. */
157
+ establishes?: 'lookup' | 'submission' | 'authoritative';
158
+ /** Spec 398 §7.2 — carried from the contract for the generated client, CLI and retry affordance. */
159
+ idempotency?: IdempotencyV1;
160
+ result?: {
161
+ kind: ResultKindV1;
162
+ };
163
+ /** Spec 371 — the fact words this read answers, and the author's rendered sentence for its result. */
164
+ answers?: string[];
165
+ answer?: string;
166
+ }
167
+ /**
168
+ * HOW A CAPABILITY MEETS A PERSON — spec 361 §2. The interaction half of the contract: which component
169
+ * edits a draft of this act, which one a person reviews before approving, how the outcome renders, and
170
+ * where "open it" goes afterwards.
171
+ *
172
+ * NAMES, NEVER IMPLEMENTATIONS. Every field is a string an APP resolves through its own registry — a
173
+ * white-label app resolves the same name to a different component (ADR-0021), and an app with no
174
+ * registration falls back to generic rendering: the binding refines, its absence breaks nothing.
175
+ * `navigationTarget` is a route KEY, not a URL — a contract that could point a surface at an arbitrary
176
+ * address would be a phishing primitive, so anything URL- or path-shaped is refused by the validator.
177
+ *
178
+ * PURELY BEHAVIOURAL. A widget is not a plan step (spec 361 §1): a bound editor may prepare and a bound
179
+ * review may display, but committing stays with the harness under the mandate. This block is merged the
180
+ * way `description` is; the authority fields around it stay unmergeable.
181
+ */
182
+ export interface InteractionBindingV1 {
183
+ /** Component name that EDITS a draft of this act. */
184
+ editor?: string;
185
+ /** Component name a person REVIEWS before approving — what the authority card renders as its body. */
186
+ review?: string;
187
+ /** Component name the OUTCOME renders through, grounded in the receipt (spec 358 W3). */
188
+ result?: string;
189
+ /** App route key "open it" navigates to after done (`members`, `treasuries`) — never a URL. */
190
+ navigationTarget?: string;
191
+ }
192
+ /**
193
+ * WHAT THE PLAYBOOK PROMISES FOLLOWS A SUCCESSFUL STEP — spec 360.
194
+ *
195
+ * AN EFFECT IS NOT A STEP. A step is planned, chosen by a planner, carries a capability and waits on a
196
+ * mandate. An effect is none of those: it is a consequence declared in advance and discharged
197
+ * deterministically when the step it belongs to succeeds. A model never decides whether it fires, never
198
+ * picks its recipient, and never composes its content.
199
+ *
200
+ * That is the entire reason it may ride the authorizing step's mandate rather than needing its own. The
201
+ * incident: USDC moved from Alice to Bob and neither was told, while the Treasury playbook already said
202
+ * "every payment leaves a receipt" — a promise with no mechanism.
203
+ *
204
+ * THE DISCLOSURE RULE (§1): the recipient MUST be a party already named in the step. Telling the payee
205
+ * named in a payment's mandate that the payment happened discloses a fact they are already party to.
206
+ * Anything wider is a new act and needs its own authority — without this rule, "effects ride the mandate"
207
+ * is authority laundering with a nicer name.
208
+ *
209
+ * An effect grants nothing, is consulted by no verifier, and MUST NOT be able to fail a step that already
210
+ * settled on chain (a receipt that could un-do a payment would be worse than no receipt).
211
+ */
212
+ export interface DeclaredEffectV1 {
213
+ /** Only `success` today. A failed step discloses nothing — you do not tell someone about a payment that
214
+ * did not happen, and an effect is never a way to reach a party before authority exists. */
215
+ on: 'success';
216
+ /** The ontology class of the artifact produced (`PaymentReceipt`). Bound to the T-box by the app that
217
+ * discharges it; named here so the promise and its discharge cannot drift apart. */
218
+ produces: string;
219
+ /** WHICH ARG names the counterparty. The harness pins the recipient to this arg of the step it follows,
220
+ * resolved by its own party resolution — never to text a model wrote, never to a literal here. */
221
+ recipientArg: string;
222
+ /** The party roles that receive the artifact (`payer`, `payee`). ROLES, never addresses: an address in
223
+ * a definition is a recipient chosen at authoring time for a step that had not happened yet. */
224
+ deliverTo: string[];
225
+ /** Where it lands. `record` is the artifact itself (a vault record, ADR-0055); `thread` is a PROJECTION
226
+ * of that record where a person will actually see it — never a second source of truth. */
227
+ surface: Array<'record' | 'thread'>;
228
+ }
229
+ /**
230
+ * The compiled definition (spec 350 §7 / 354). DATA, end to end: what a Home shows under
231
+ * Behaviour → Playbook, what a card release binds by digest, what run admission loads and verifies.
232
+ *
233
+ * Compiled FROM archetype + skills + tool catalog + policy BY the `~/skills` compiler (K2) — this repo
234
+ * never compiles, it validates and consumes. `sourceCommitments` ties the output to its inputs so the
235
+ * build is reproducible-checkable: same inputs ⇒ same digest, and a differing digest names which input
236
+ * moved.
237
+ */
238
+ /**
239
+ * Spec 370 P5 — a TRIGGER: the playbook itself asks, on a schedule, with the agent as the asker and NO
240
+ * mandate. An informational ask completes and is posted where the agent's stewards read; an ask that
241
+ * reaches an authority-bearing step suspends into the stewards' unfinished runs — the obligation model IS
242
+ * "pause for approval", so a trigger needs no new approval mechanism and carries no standing authority.
243
+ * Spec 375 — four kinds, one rule: a trigger fires a run the agent starts as itself, holding nothing.
244
+ * An inbound message never triggers an act (spec 365): its run may draft one, a steward performs it.
245
+ */
246
+ export type TriggerV1 = {
247
+ /** A slug, unique within the definition. */
248
+ id: string;
249
+ kind: 'schedule';
250
+ /** ISO 8601 duration between runs — `PT24H`, `P7D`, `PT1H`. Never under an hour. */
251
+ every: string;
252
+ /** The ask, in the words a steward would say it. */
253
+ ask: string;
254
+ }
255
+ /** Spec 375 — fired by the interactions object after it COMMITS an Endeavor command whose appended
256
+ * events include this type (the Endeavor log's own type names: `EndeavorRequestSubmitted`,
257
+ * `PlanAdopted`, `ContributionCommitted`, `PlanStepSatisfied`, …). Fires at the principal and at the
258
+ * agent the event names, each under its own playbook. */
259
+ | {
260
+ id: string;
261
+ kind: 'event';
262
+ on: {
263
+ event: string;
264
+ };
265
+ ask: string;
266
+ }
267
+ /** Spec 375 — fired by `POST /harness/hooks/<agent>/<triggerId>` with the row's bearer token. The
268
+ * token is admission, never authority; the payload is context, never trusted. */
269
+ | {
270
+ id: string;
271
+ kind: 'webhook';
272
+ ask: string;
273
+ }
274
+ /** Spec 375 W2 — fired by the messaging skill after it ADMITS an inbound exchange of this profile
275
+ * into the agent's inbox. An inbound message never performs an act (spec 365): the run may draft one. */
276
+ | {
277
+ id: string;
278
+ kind: 'message';
279
+ on: {
280
+ profile: string;
281
+ };
282
+ ask: string;
283
+ };
284
+ /**
285
+ * Spec 376 W2 — A SPECIALIST FOR A CAPABILITY: the playbook's rule that a step of this capability is HANDED
286
+ * to another agent (a service runtime, a treasury bot), which runs it under a child mandate attenuated from
287
+ * the one the person granted (spec 376 §1). Behaviour, never authority: the rule names who does the work;
288
+ * the person still signs the parent mandate, the child is minted from it, and the specialist's own gate
289
+ * judges the child. `executor` is a name in the agent's own tier (or an address); the harness resolves it
290
+ * like any party and asks when several answer to it.
291
+ */
292
+ export interface SpecialistV1 {
293
+ capability: string;
294
+ executor: string;
295
+ }
296
+ export interface AgentHarnessDefinitionV1 {
297
+ type: 'ap.agent-harness-definition.v1';
298
+ /** Spec 376 W2 — which capabilities are handed to which specialist. Behaviour, never authority. */
299
+ specialists?: SpecialistV1[];
300
+ /** Spec 370 P5 — what this playbook asks on its own, and when. Behaviour, never authority. */
301
+ triggers?: TriggerV1[];
302
+ /** The archetype's canonical skill id (`skill:<ns>/<name>`) and exact version. NEVER 'latest' —
303
+ * spec 340's pinning doctrine: a historical record naming 'latest' is a record that changes meaning. */
304
+ archetypeId: string;
305
+ archetypeVersion: string;
306
+ /** Which agent classes may take this archetype (ADR-0061 slugs: person|org|team|treasury|…).
307
+ * Assignment across class is refused at the ceremony; declaring it here makes that checkable. */
308
+ applicableAgentTypes: string[];
309
+ /** The system-prompt half — behavior in prose. Rendered from the skills; grants nothing. */
310
+ instructions: string;
311
+ tools: DefinitionToolV1[];
312
+ /** Every `urn:ap:rar:` type any tool here may end up asking for — the ceremony's diff preview reads
313
+ * this ("mandate types the agent would START ASKING for"). Derived, and re-derivable. */
314
+ requiredMandateTypes: string[];
315
+ /** PolicyEvaluator inputs by name (the approvals half of the contracts). */
316
+ approvalPolicyRefs: string[];
317
+ /** Seed queries for the context tier (spec 350 W4 / Deep-Agents row) — versioned retrieval guidance. */
318
+ retrievalQueries: string[];
319
+ /** Evidence classes runs under this playbook are expected to produce. */
320
+ evidenceRequirements: string[];
321
+ /** Optional deterministic plan shapes (the compiled-fan-out pattern generalised). Opaque here. */
322
+ planTemplates?: Array<{
323
+ match: string;
324
+ steps: unknown[];
325
+ }>;
326
+ /** Spec 360 — what follows a successful step, per capability id. Keyed by the CAPABILITY the effect
327
+ * belongs to, so the harness can find an effect from the step that just ran without a second lookup.
328
+ * Absent ⇒ the playbook promises no consequences, which is a claim, not a gap. */
329
+ declaredEffects?: Record<string, DeclaredEffectV1[]>;
330
+ /** Content commitments of every input the compiler consumed: skill versions, the tool catalog, the
331
+ * policy set. What makes "byte-reproducible" a checkable claim instead of a promise. */
332
+ sourceCommitments: Record<string, string>;
333
+ }
334
+ /** Milliseconds of an ISO 8601 duration limited to days, hours and minutes (`P7D`, `PT24H`, `PT90M`). */
335
+ export declare function durationMs(iso: string): number;
336
+ export declare function validateAgentHarnessDefinition(input: unknown): ValidationResult;
337
+ /**
338
+ * The definition's digest — keccak over CANONICAL JSON (sorted keys, no whitespace), the same
339
+ * commitment discipline as the corpus. This is the string an `ArchetypeAssignmentV1` pins, a card
340
+ * release binds, and run admission verifies: the digest IS the identity of a compiled behavior.
341
+ */
342
+ export declare function definitionDigest(definition: AgentHarnessDefinitionV1): string;
343
+ /** WHICH playbook this agent runs, pinned by digest. A VAULT record on the assigned agent — behavior is
344
+ * private posture (an org may not want its playbook public); the card release binds the digest when the
345
+ * steward WANTS it public. Never chain state, never authority. */
346
+ export interface ArchetypeAssignmentV1 {
347
+ type: 'ap.archetype-assignment.v1';
348
+ agentSa: string;
349
+ archetypeId: string;
350
+ archetypeVersion: string;
351
+ definitionDigest: string;
352
+ /** The steward who assigned it. */
353
+ assignedBy: string;
354
+ /** The approval ceremony's reference (spec 347 discipline: editor ≠ approver ≠ writer). */
355
+ approvalRef: string;
356
+ assignedAt: string;
357
+ }
358
+ export declare function validateArchetypeAssignment(input: unknown): ValidationResult;
359
+ //# sourceMappingURL=harness-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-contract.d.ts","sourceRoot":"","sources":["../src/harness-contract.ts"],"names":[],"mappings":"AAsBA,0FAA0F;AAC1F,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAIpF;oFACoF;AACpF,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAI7D;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,aAAa,CAAC;AAG3F;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAatG,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,kFAAkF;IAClF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID;;wGAEwG;AACxG;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,4GAA4G;IAC5G,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;6CAEyC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;gGAC4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB;kHAC8G;IAC9G,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iFAAiF;IACjF,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B;;;wFAGoF;IACpF,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,eAAe,CAAC;IACxD,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,0GAA0G;IAC1G,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE;QACV,eAAe,EAAE,OAAO,CAAC;QACzB,oFAAoF;QACpF,WAAW,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QAClD;;uGAE+F;QAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,6FAA6F;QAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;4DACwD;IACxD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6FAA6F;IAC7F,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACnC,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClC;;8GAE0G;IAC1G,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,yGAAyG;IACzG,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;mGAC+F;IAC/F,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,wGAAwG;IACxG,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IAChC,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA4E/E;AAuBD;mFACmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzF,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,gGAAgG;IAChG,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,iGAAiG;IACjG,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;4GACwG;IACxG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gHAAgH;IAChH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,qEAAqE;IACrE,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,eAAe,CAAC;IACxD,oGAAoG;IACpG,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IAChC,sGAAsG;IACtG,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAkBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;iGAC6F;IAC7F,EAAE,EAAE,SAAS,CAAC;IACd;yFACqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB;uGACmG;IACnG,YAAY,EAAE,MAAM,CAAC;IACrB;qGACiG;IACjG,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;+FAC2F;IAC3F,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GACjB;IACE,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;CACb;AACH;;;0DAG0D;GACxD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AACnE;kFACkF;GAChF;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAC9C;0GAC0G;GACxG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gCAAgC,CAAC;IACvC,mGAAmG;IACnG,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;IAC7B,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB;6GACyG;IACzG,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB;sGACkG;IAClG,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,4FAA4F;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B;8FAC0F;IAC1F,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,4EAA4E;IAC5E,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wGAAwG;IACxG,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,yEAAyE;IACzE,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kGAAkG;IAClG,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3D;;uFAEmF;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACrD;6FACyF;IACzF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,yGAAyG;AACzG,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAqH/E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,wBAAwB,GAAG,MAAM,CAS7E;AAID;;mEAEmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAc5E"}