@sharpee/stdlib 0.9.106 → 0.9.107

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @sharpee/stdlib
2
2
 
3
- Standard library for the Sharpee IF Platform - 43 standard IF actions with four-phase pattern (validate/execute/report/blocked).
3
+ Standard library for the Sharpee IF Platform - 48 standard IF actions with four-phase pattern (validate/execute/report/blocked).
4
4
 
5
5
  ## Overview
6
6
 
@@ -100,9 +100,9 @@ interface Action {
100
100
  }
101
101
  ```
102
102
 
103
- ### Available Actions (43 Total)
103
+ ### Available Actions (48 Total)
104
104
 
105
- **Movement**: going, entering, exiting
105
+ **Movement**: going, entering, exiting, climbing
106
106
  **Manipulation**: taking, dropping, putting, inserting, removing, giving, throwing
107
107
  **Containers/Doors**: opening, closing, locking, unlocking
108
108
  **Examination**: looking, examining, searching, reading
@@ -111,7 +111,7 @@ interface Action {
111
111
  **Wearables**: wearing, taking off
112
112
  **Consumables**: eating, drinking
113
113
  **Senses**: touching, smelling, listening
114
- **Meta**: inventory, score, help, save, restore, restart, quit, undo, wait, about, sleep
114
+ **Meta**: inventory, score, help, save, restore, restart, quit, undo, again, wait, about, version, sleep
115
115
 
116
116
  ## Language System
117
117
 
@@ -1 +1 @@
1
- {"version":3,"file":"closing.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/closing/closing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAU/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAcrD,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA+N9D,CAAC"}
1
+ {"version":3,"file":"closing.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/closing/closing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAU/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgBrD,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA+O9D,CAAC"}
@@ -65,18 +65,21 @@ exports.closingAction = {
65
65
  }
66
66
  // Check for interceptor on the target entity (ADR-118)
67
67
  const interceptorResult = (0, world_model_1.getInterceptorForAction)(noun, constants_1.IFActions.CLOSING);
68
- if (interceptorResult) {
69
- const { interceptor } = interceptorResult;
70
- const interceptorData = {};
71
- if (interceptor.preValidate) {
72
- const result = interceptor.preValidate(noun, context.world, context.player.id, interceptorData);
73
- if (result !== null && !result.valid) {
74
- return {
75
- valid: false,
76
- error: result.error,
77
- params: result.params
78
- };
79
- }
68
+ const interceptor = interceptorResult?.interceptor;
69
+ const interceptorData = {};
70
+ // Store for later phases (blocked needs access to onBlocked)
71
+ const sharedData = getClosingSharedData(context);
72
+ sharedData.interceptor = interceptor;
73
+ sharedData.interceptorData = interceptorData;
74
+ // === PRE-VALIDATE HOOK ===
75
+ if (interceptor?.preValidate) {
76
+ const result = interceptor.preValidate(noun, context.world, context.player.id, interceptorData);
77
+ if (result !== null && !result.valid) {
78
+ return {
79
+ valid: false,
80
+ error: result.error,
81
+ params: result.params
82
+ };
80
83
  }
81
84
  }
82
85
  // Check scope - must be able to reach the target
@@ -202,6 +205,16 @@ exports.closingAction = {
202
205
  */
203
206
  blocked(context, result) {
204
207
  const noun = context.command.directObject?.entity;
208
+ // === ON-BLOCKED HOOK ===
209
+ const sharedData = getClosingSharedData(context);
210
+ const interceptor = sharedData.interceptor;
211
+ const interceptorData = sharedData.interceptorData || {};
212
+ if (interceptor?.onBlocked && noun && result.error) {
213
+ const customEffects = interceptor.onBlocked(noun, context.world, context.player.id, result.error, interceptorData);
214
+ if (customEffects !== null) {
215
+ return customEffects.map(effect => context.event(effect.type, effect.payload));
216
+ }
217
+ }
205
218
  const error = result.error || '';
206
219
  // If error already contains dots (e.g., story interceptor ID), use as-is; otherwise prefix with action ID
207
220
  const messageId = error.includes('.') ? error : `${context.action.id}.${error}`;
@@ -1 +1 @@
1
- {"version":3,"file":"closing.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/closing/closing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closing.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/closing/closing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opening.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/opening/opening.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAM/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQrD,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA4L9D,CAAC"}
1
+ {"version":3,"file":"opening.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/opening/opening.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAM/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAoBrD,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA4M9D,CAAC"}
@@ -17,6 +17,9 @@ const world_model_1 = require("../../../../world-model/index.js");
17
17
  const constants_1 = require("../../constants");
18
18
  const types_1 = require("../../../scope/types");
19
19
  const opening_messages_1 = require("./opening-messages");
20
+ function getOpeningSharedData(context) {
21
+ return context.sharedData;
22
+ }
20
23
  exports.openingAction = {
21
24
  id: constants_1.IFActions.OPENING,
22
25
  // Default scope requirements for this action's slots
@@ -55,18 +58,21 @@ exports.openingAction = {
55
58
  }
56
59
  // Check for interceptor on the target entity (ADR-118)
57
60
  const interceptorResult = (0, world_model_1.getInterceptorForAction)(noun, constants_1.IFActions.OPENING);
58
- if (interceptorResult) {
59
- const { interceptor } = interceptorResult;
60
- const interceptorData = {};
61
- if (interceptor.preValidate) {
62
- const result = interceptor.preValidate(noun, context.world, context.player.id, interceptorData);
63
- if (result !== null && !result.valid) {
64
- return {
65
- valid: false,
66
- error: result.error,
67
- params: result.params
68
- };
69
- }
61
+ const interceptor = interceptorResult?.interceptor;
62
+ const interceptorData = {};
63
+ // Store for later phases (blocked needs access to onBlocked)
64
+ const sharedData = getOpeningSharedData(context);
65
+ sharedData.interceptor = interceptor;
66
+ sharedData.interceptorData = interceptorData;
67
+ // === PRE-VALIDATE HOOK ===
68
+ if (interceptor?.preValidate) {
69
+ const result = interceptor.preValidate(noun, context.world, context.player.id, interceptorData);
70
+ if (result !== null && !result.valid) {
71
+ return {
72
+ valid: false,
73
+ error: result.error,
74
+ params: result.params
75
+ };
70
76
  }
71
77
  }
72
78
  // Check scope - must be able to reach the target
@@ -163,6 +169,16 @@ exports.openingAction = {
163
169
  */
164
170
  blocked(context, result) {
165
171
  const noun = context.command.directObject?.entity;
172
+ // === ON-BLOCKED HOOK ===
173
+ const sharedData = getOpeningSharedData(context);
174
+ const interceptor = sharedData.interceptor;
175
+ const interceptorData = sharedData.interceptorData || {};
176
+ if (interceptor?.onBlocked && noun && result.error) {
177
+ const customEffects = interceptor.onBlocked(noun, context.world, context.player.id, result.error, interceptorData);
178
+ if (customEffects !== null) {
179
+ return customEffects.map(effect => context.event(effect.type, effect.payload));
180
+ }
181
+ }
166
182
  const error = result.error || '';
167
183
  // If error already contains dots (e.g., story interceptor ID), use as-is; otherwise prefix with action ID
168
184
  const messageId = error.includes('.') ? error : `${context.action.id}.${error}`;
@@ -1 +1 @@
1
- {"version":3,"file":"opening.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/opening/opening.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opening.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/opening/opening.ts"],"names":[],"mappings":"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"}
package/npc/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  export * from './types';
7
7
  export * from './npc-messages';
8
8
  export * from './character-messages';
9
- export { NpcService, createNpcService, registerNpcCombatResolver, clearNpcCombatResolver, type INpcService, type NpcCombatResolver, } from './npc-service';
9
+ export { NpcService, createNpcService, registerNpcCombatResolver, clearNpcCombatResolver, type INpcService, type NpcCombatResolver, type NpcTickContext, type NpcTickPhase, } from './npc-service';
10
10
  export { observeEvent, filterPerception, injectHallucinations, DefaultStateTransitions, type StateTransitionRule, } from './character-observer';
11
11
  export { processLucidityDecay, enterLucidityWindow, DECAY_RATE_TURNS, } from './lucidity-decay';
12
12
  export { guardBehavior, passiveBehavior, createWandererBehavior, createFollowerBehavior, createPatrolBehavior, } from './behaviors';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
package/npc/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,cAAc;AACd,iDAA+B;AAC/B,uDAAqC;AAErC,UAAU;AACV,6CAOuB;AANrB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,wHAAA,yBAAyB,OAAA;AACzB,qHAAA,sBAAsB,OAAA;AAKxB,qDAAqD;AACrD,2DAM8B;AAL5B,kHAAA,YAAY,OAAA;AACZ,sHAAA,gBAAgB,OAAA;AAChB,0HAAA,oBAAoB,OAAA;AACpB,6HAAA,uBAAuB,OAAA;AAGzB,mDAI0B;AAHxB,sHAAA,oBAAoB,OAAA;AACpB,qHAAA,mBAAmB,OAAA;AACnB,kHAAA,gBAAgB,OAAA;AAGlB,qBAAqB;AACrB,yCAMqB;AALnB,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,iHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,cAAc;AACd,iDAA+B;AAC/B,uDAAqC;AAErC,UAAU;AACV,6CASuB;AARrB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,wHAAA,yBAAyB,OAAA;AACzB,qHAAA,sBAAsB,OAAA;AAOxB,qDAAqD;AACrD,2DAM8B;AAL5B,kHAAA,YAAY,OAAA;AACZ,sHAAA,gBAAgB,OAAA;AAChB,0HAAA,oBAAoB,OAAA;AACpB,6HAAA,uBAAuB,OAAA;AAGzB,mDAI0B;AAHxB,sHAAA,oBAAoB,OAAA;AACpB,qHAAA,mBAAmB,OAAA;AACnB,kHAAA,gBAAgB,OAAA;AAGlB,qBAAqB;AACrB,yCAMqB;AALnB,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,iHAAA,oBAAoB,OAAA"}
@@ -6,6 +6,11 @@
6
6
  import { ISemanticEvent, EntityId, SeededRandom } from "../../core/index";
7
7
  import { IFEntity, WorldModel } from "../../world-model/index";
8
8
  import { NpcBehavior } from './types';
9
+ /**
10
+ * A tick phase handler that runs during NPC turn processing.
11
+ * Registered by higher-level packages (e.g., @sharpee/character).
12
+ */
13
+ export type NpcTickPhase = (npcs: IFEntity[], context: NpcTickContext) => ISemanticEvent[];
9
14
  /**
10
15
  * NPC Combat Resolver function type.
11
16
  *
@@ -47,6 +52,8 @@ export interface INpcService {
47
52
  removeBehavior(id: string): void;
48
53
  /** Get a behavior by ID */
49
54
  getBehavior(id: string): NpcBehavior | undefined;
55
+ /** Register a tick phase handler (ADR-142/144/145/146) */
56
+ registerTickPhase(name: string, handler: NpcTickPhase): void;
50
57
  /** Execute the NPC turn phase */
51
58
  tick(context: NpcTickContext): ISemanticEvent[];
52
59
  /** Notify NPCs that player entered a room */
@@ -63,9 +70,18 @@ export interface INpcService {
63
70
  */
64
71
  export declare class NpcService implements INpcService {
65
72
  private behaviors;
73
+ private readonly tickPhases;
66
74
  registerBehavior(behavior: NpcBehavior): void;
67
75
  removeBehavior(id: string): void;
68
76
  getBehavior(id: string): NpcBehavior | undefined;
77
+ /**
78
+ * Register a tick phase handler (ADR-142/144/145/146).
79
+ * Phases run in registration order after behavior onTurn processing.
80
+ *
81
+ * @param name - Phase name for debugging
82
+ * @param handler - Function called with active NPCs and tick context
83
+ */
84
+ registerTickPhase(name: string, handler: NpcTickPhase): void;
69
85
  /**
70
86
  * Execute the NPC turn phase
71
87
  */
@@ -1 +1 @@
1
- {"version":3,"file":"npc-service.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/npc-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npc-service.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/npc-service.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ function createEvent(type, data, npcId) {
60
60
  */
61
61
  class NpcService {
62
62
  behaviors = new Map();
63
+ tickPhases = [];
63
64
  registerBehavior(behavior) {
64
65
  this.behaviors.set(behavior.id, behavior);
65
66
  }
@@ -69,6 +70,16 @@ class NpcService {
69
70
  getBehavior(id) {
70
71
  return this.behaviors.get(id);
71
72
  }
73
+ /**
74
+ * Register a tick phase handler (ADR-142/144/145/146).
75
+ * Phases run in registration order after behavior onTurn processing.
76
+ *
77
+ * @param name - Phase name for debugging
78
+ * @param handler - Function called with active NPCs and tick context
79
+ */
80
+ registerTickPhase(name, handler) {
81
+ this.tickPhases.push({ name, handler });
82
+ }
72
83
  /**
73
84
  * Execute the NPC turn phase
74
85
  */
@@ -98,6 +109,11 @@ class NpcService {
98
109
  events.push(...decayEvents);
99
110
  }
100
111
  }
112
+ // Registered tick phases (ADR-142/144/145/146)
113
+ for (const phase of this.tickPhases) {
114
+ const phaseEvents = phase.handler(npcs, context);
115
+ events.push(...phaseEvents);
116
+ }
101
117
  return events;
102
118
  }
103
119
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"npc-service.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/npc-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npc-service.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/npc-service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAoDH,8DAEC;AAKD,wDAEC;AAsnBD,4CAEC;AAlrBD,sDAA2I;AAM3I,iDAA6C;AAC7C,qDAAwD;AAwBxD;;;GAGG;AACH,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AAElE,SAAS,oBAAoB;IAC3B,OAAQ,UAAsC,CAAC,uBAAuB,CAAkC,CAAC;AAC3G,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CAAC,QAA2B;IAClE,UAAsC,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,OAAQ,UAAsC,CAAC,uBAAuB,CAAC,CAAC;AAC1E,CAAC;AAmED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,IAAY,EACZ,IAA6B,EAC7B,KAAgB;IAEhB,OAAO;QACL,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC;QACxB,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;QACvC,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAa,UAAU;IACb,SAAS,GAA6B,IAAI,GAAG,EAAE,CAAC;IACvC,UAAU,GAA8C,EAAE,CAAC;IAE5E,gBAAgB,CAAC,QAAqB;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAY,EAAE,OAAqB;QACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAuB;QAC1B,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAElE,6BAA6B;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEvC,mBAAmB;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAa,CAAC;YACpD,oEAAoE;YACpE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE,SAAS;YAEtE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,GAAG,EACH,KAAK,EACL,MAAM,EACN,IAAI,EACJ,cAAc,EACd,WAAW,CACZ,CAAC;YAEF,mBAAmB;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAE7B,iEAAiE;YACjE,IAAI,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,eAAe,CAAC,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAA,qCAAoB,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,KAAiB,EACjB,MAAgB,EAChB,MAAoB,EACpB,IAAY;QAEZ,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAE7C,uBAAuB;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAa,CAAC;YACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE,SAAS;YAEtE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,cAAc;gBAAE,SAAS;YAExC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,GAAG,EACH,KAAK,EACL,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,CACP,CAAC;YAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,KAAiB,EACjB,MAAgB,EAChB,MAAoB,EACpB,IAAY;QAEZ,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEzD,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAa,CAAC;YACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE,SAAS;YAEtE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,cAAc;gBAAE,SAAS;YAExC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,GAAG,EACH,KAAK,EACL,MAAM,EACN,IAAI,EACJ,cAAc,EACd,MAAM,CACP,CAAC;YAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,KAAiB,EACjB,KAAe,EACf,KAAa,EACb,MAAoB,EACpB,IAAY;QAEZ,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAa,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC1B,iCAAiC;YACjC,OAAO;gBACL,WAAW,CACT,WAAW,EACX;oBACE,GAAG,EAAE,KAAK;oBACV,SAAS,EAAE,0BAAW,CAAC,eAAe;oBACtC,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE;iBAC5B,EACD,KAAK,CACN;aACF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,GAAG,EACH,KAAK,EACL,MAAM,EACN,IAAI,EACJ,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,aAAa,CACX,KAAiB,EACjB,KAAe,EACf,UAAoB,EACpB,MAAoB,EACpB,IAAY;QAEZ,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAa,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,UAAU;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,GAAG,EACH,KAAK,EACL,MAAM,EACN,IAAI,EACJ,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,4DAA4D;IAEpD,aAAa,CAAC,KAAiB;QACrC,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAa,CAAC;YAClD,wFAAwF;YACxF,OAAO,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,WAAW,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,GAAa;QACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAa,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAEO,gBAAgB,CACtB,GAAa,EACb,KAAiB,EACjB,MAAoB,EACpB,IAAY,EACZ,cAAwB,EACxB,WAAqB;QAErB,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE/C,OAAO;YACL,GAAG;YACH,KAAK;YACL,MAAM;YACN,SAAS,EAAE,IAAI;YACf,cAAc;YACd,WAAW;YACX,YAAY;YACZ,aAAa,EAAE,WAAW,KAAK,cAAc;YAC7C,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC;YACvD,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC;SACxE,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACtB,KAAiB,EACjB,MAAgB,EAChB,GAAa;QAEb,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,EAAE,KAAK;YAAE,OAAO,EAAE,CAAC;QAEjC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,GAAG,CAAa,CAAC;QACpD,MAAM,KAAK,GAA0D,EAAE,CAAC;QAExE,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAiB,CAAC;YACnC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,4EAA4E;gBAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,OAAO;oBAAE,SAAS;gBAChC,IAAI,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACtD,IAAI,QAAQ,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAE7E,KAAK,CAAC,IAAI,CAAC;oBACT,SAAS,EAAE,SAA0B;oBACrC,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,cAAc,CACpB,GAAa,EACb,OAAoB,EACpB,KAAiB,EACjB,MAAoB;QAEpB,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CACnB,GAAa,EACb,MAAiB,EACjB,KAAiB,EACjB,MAAoB;QAEpB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAExD,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEvD,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAErD,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAErD,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAE/D,KAAK,OAAO;gBACV,OAAO;oBACL,WAAW,CACT,WAAW,EACX;wBACE,GAAG,EAAE,GAAG,CAAC,EAAE;wBACX,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,MAAM,EAAE,MAAM,CAAC,IAAI;qBACpB,EACD,GAAG,CAAC,EAAE,CACP;iBACF,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,WAAW,CACT,YAAY,EACZ;wBACE,GAAG,EAAE,GAAG,CAAC,EAAE;wBACX,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,MAAM,EAAE,MAAM,CAAC,IAAI;qBACpB,EACD,GAAG,CAAC,EAAE,CACP;iBACF,CAAC;YAEJ,KAAK,MAAM;gBACT,OAAO,EAAE,CAAC,CAAC,wBAAwB;YAErC,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;YAE1B;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEO,WAAW,CACjB,GAAa,EACb,SAAwB,EACxB,KAAiB;QAEjB,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,uBAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,CAAC;QAE9C,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5B,eAAe;QACf,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAEtC,OAAO;YACL,WAAW,CACT,WAAW,EACX;gBACE,GAAG,EAAE,GAAG,CAAC,EAAE;gBACX,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,WAAW;gBACf,SAAS;aACV,EACD,GAAG,CAAC,EAAE,CACP;SACF,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,GAAa,EACb,MAAgB,EAChB,KAAiB;QAEjB,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe;YAAE,OAAO,EAAE,CAAC;QAEhC,eAAe;QACf,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO;YACL,WAAW,CACT,WAAW,EACX;gBACE,GAAG,EAAE,GAAG,CAAC,EAAE;gBACX,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,MAAM;aACX,EACD,GAAG,CAAC,EAAE,CACP;SACF,CAAC;IACJ,CAAC;IAEO,WAAW,CACjB,GAAa,EACb,QAAkB,EAClB,KAAiB;QAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,+BAA+B;QAC/B,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAEnC,OAAO;YACL,WAAW,CACT,UAAU,EACV;gBACE,GAAG,EAAE,GAAG,CAAC,EAAE;gBACX,MAAM,EAAE,QAAQ;aACjB,EACD,GAAG,CAAC,EAAE,CACP;SACF,CAAC;IACJ,CAAC;IAEO,WAAW,CACjB,GAAa,EACb,QAAkB,EAClB,KAAiB;QAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5B,8BAA8B;QAC9B,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAExC,OAAO;YACL,WAAW,CACT,aAAa,EACb;gBACE,GAAG,EAAE,GAAG,CAAC,EAAE;gBACX,MAAM,EAAE,QAAQ;aACjB,EACD,GAAG,CAAC,EAAE,CACP;SACF,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,GAAa,EACb,QAAkB,EAClB,KAAiB,EACjB,MAAoB;QAEpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,sDAAsD;QACtD,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,yEAAyE;QACzE,OAAO;YACL,WAAW,CACT,cAAc,EACd;gBACE,GAAG,EAAE,GAAG,CAAC,EAAE;gBACX,MAAM,EAAE,QAAQ;aACjB,EACD,GAAG,CAAC,EAAE,CACP;SACF,CAAC;IACJ,CAAC;CACF;AAnhBD,gCAmhBC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,IAAI,UAAU,EAAE,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sharpee/stdlib",
3
- "version": "0.9.106",
3
+ "version": "0.9.107",
4
4
  "description": "Standard library for Sharpee IF Platform - actions, commands, and game mechanics",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -12,11 +12,11 @@
12
12
  }
13
13
  },
14
14
  "dependencies": {
15
- "@sharpee/core": "^0.9.106",
16
- "@sharpee/if-domain": "^0.9.106",
17
- "@sharpee/if-services": "^0.9.106",
18
- "@sharpee/lang-en-us": "^0.9.106",
19
- "@sharpee/world-model": "^0.9.106"
15
+ "@sharpee/core": "^0.9.107",
16
+ "@sharpee/if-domain": "^0.9.107",
17
+ "@sharpee/if-services": "^0.9.107",
18
+ "@sharpee/lang-en-us": "^0.9.107",
19
+ "@sharpee/world-model": "^0.9.107"
20
20
  },
21
21
  "keywords": [
22
22
  "interactive-fiction",