modality-ts 0.0.15 → 0.0.17

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.
Files changed (177) hide show
  1. package/dist/check/check-model.d.ts +4 -0
  2. package/dist/check/check-model.d.ts.map +1 -0
  3. package/dist/check/check-model.js +159 -0
  4. package/dist/check/check-model.js.map +1 -0
  5. package/dist/check/index.d.ts +2 -2
  6. package/dist/check/index.d.ts.map +1 -1
  7. package/dist/check/index.js +2 -2
  8. package/dist/check/index.js.map +1 -1
  9. package/dist/check/model-api.d.ts.map +1 -0
  10. package/dist/check/model-api.js +8 -0
  11. package/dist/check/model-api.js.map +1 -0
  12. package/dist/check/native.d.ts +6 -0
  13. package/dist/check/native.d.ts.map +1 -0
  14. package/dist/check/native.js +69 -0
  15. package/dist/check/native.js.map +1 -0
  16. package/dist/check/serialize-properties.d.ts +4 -0
  17. package/dist/check/serialize-properties.d.ts.map +1 -0
  18. package/dist/check/serialize-properties.js +4 -0
  19. package/dist/check/serialize-properties.js.map +1 -0
  20. package/dist/cli/features/check/command.d.ts.map +1 -1
  21. package/dist/cli/features/check/command.js +25 -6
  22. package/dist/cli/features/check/command.js.map +1 -1
  23. package/dist/cli/features/extract/command.d.ts +4 -1
  24. package/dist/cli/features/extract/command.d.ts.map +1 -1
  25. package/dist/cli/features/extract/command.js +262 -193
  26. package/dist/cli/features/extract/command.js.map +1 -1
  27. package/dist/cli/features/extract/project.d.ts +36 -0
  28. package/dist/cli/features/extract/project.d.ts.map +1 -0
  29. package/dist/cli/features/extract/project.js +783 -0
  30. package/dist/cli/features/extract/project.js.map +1 -0
  31. package/dist/cli/features/init/command.d.ts.map +1 -1
  32. package/dist/cli/features/init/command.js +0 -1
  33. package/dist/cli/features/init/command.js.map +1 -1
  34. package/dist/cli/runtime/index.d.ts.map +1 -1
  35. package/dist/cli/runtime/index.js +2 -1
  36. package/dist/cli/runtime/index.js.map +1 -1
  37. package/dist/core/artifacts/index.d.ts +3 -0
  38. package/dist/core/artifacts/index.d.ts.map +1 -1
  39. package/dist/core/artifacts/index.js +238 -0
  40. package/dist/core/artifacts/index.js.map +1 -1
  41. package/dist/core/index.d.ts +1 -0
  42. package/dist/core/index.d.ts.map +1 -1
  43. package/dist/core/index.js +1 -0
  44. package/dist/core/index.js.map +1 -1
  45. package/dist/core/ir/eval.d.ts +6 -0
  46. package/dist/core/ir/eval.d.ts.map +1 -0
  47. package/dist/core/ir/eval.js +104 -0
  48. package/dist/core/ir/eval.js.map +1 -0
  49. package/dist/core/ir/types.d.ts +83 -0
  50. package/dist/core/ir/types.d.ts.map +1 -1
  51. package/dist/core/props/index.d.ts +23 -54
  52. package/dist/core/props/index.d.ts.map +1 -1
  53. package/dist/core/props/index.js +182 -116
  54. package/dist/core/props/index.js.map +1 -1
  55. package/dist/core/report/types.d.ts +7 -0
  56. package/dist/core/report/types.d.ts.map +1 -1
  57. package/dist/extract/engine/pipeline/index.d.ts +4 -0
  58. package/dist/extract/engine/pipeline/index.d.ts.map +1 -1
  59. package/dist/extract/engine/pipeline/index.js +39 -15
  60. package/dist/extract/engine/pipeline/index.js.map +1 -1
  61. package/dist/extract/engine/spi/index.d.ts +32 -0
  62. package/dist/extract/engine/spi/index.d.ts.map +1 -1
  63. package/dist/extract/engine/ts/react-source-transitions.d.ts +3 -0
  64. package/dist/extract/engine/ts/react-source-transitions.d.ts.map +1 -1
  65. package/dist/extract/engine/ts/react-source-transitions.js +18 -0
  66. package/dist/extract/engine/ts/react-source-transitions.js.map +1 -1
  67. package/dist/extract/engine/ts/transition/handlers.d.ts +2 -2
  68. package/dist/extract/engine/ts/transition/handlers.d.ts.map +1 -1
  69. package/dist/extract/engine/ts/transition/handlers.js +112 -10
  70. package/dist/extract/engine/ts/transition/handlers.js.map +1 -1
  71. package/dist/extract/sources/router/index.d.ts.map +1 -1
  72. package/dist/extract/sources/router/index.js +5 -0
  73. package/dist/extract/sources/router/index.js.map +1 -1
  74. package/dist/extract/sources/router/module-roles.d.ts +7 -0
  75. package/dist/extract/sources/router/module-roles.d.ts.map +1 -0
  76. package/dist/extract/sources/router/module-roles.js +153 -0
  77. package/dist/extract/sources/router/module-roles.js.map +1 -0
  78. package/native/index.d.ts +8 -0
  79. package/native/index.js +317 -0
  80. package/native/modality-checker.linux-x64-gnu.node +0 -0
  81. package/package.json +14 -4
  82. package/dist/check/diagnostics/bounds.d.ts +0 -5
  83. package/dist/check/diagnostics/bounds.d.ts.map +0 -1
  84. package/dist/check/diagnostics/bounds.js +0 -25
  85. package/dist/check/diagnostics/bounds.js.map +0 -1
  86. package/dist/check/diagnostics/vacuity.d.ts +0 -3
  87. package/dist/check/diagnostics/vacuity.d.ts.map +0 -1
  88. package/dist/check/diagnostics/vacuity.js +0 -22
  89. package/dist/check/diagnostics/vacuity.js.map +0 -1
  90. package/dist/check/engine/check-model.d.ts +0 -7
  91. package/dist/check/engine/check-model.d.ts.map +0 -1
  92. package/dist/check/engine/check-model.js +0 -527
  93. package/dist/check/engine/check-model.js.map +0 -1
  94. package/dist/check/engine/initial-states.d.ts +0 -3
  95. package/dist/check/engine/initial-states.d.ts.map +0 -1
  96. package/dist/check/engine/initial-states.js +0 -11
  97. package/dist/check/engine/initial-states.js.map +0 -1
  98. package/dist/check/engine/model-api.d.ts.map +0 -1
  99. package/dist/check/engine/model-api.js +0 -17
  100. package/dist/check/engine/model-api.js.map +0 -1
  101. package/dist/check/engine/mounts.d.ts +0 -3
  102. package/dist/check/engine/mounts.d.ts.map +0 -1
  103. package/dist/check/engine/mounts.js +0 -13
  104. package/dist/check/engine/mounts.js.map +0 -1
  105. package/dist/check/engine/stabilize.d.ts +0 -4
  106. package/dist/check/engine/stabilize.d.ts.map +0 -1
  107. package/dist/check/engine/stabilize.js +0 -104
  108. package/dist/check/engine/stabilize.js.map +0 -1
  109. package/dist/check/engine/state-utils.d.ts +0 -13
  110. package/dist/check/engine/state-utils.d.ts.map +0 -1
  111. package/dist/check/engine/state-utils.js +0 -43
  112. package/dist/check/engine/state-utils.js.map +0 -1
  113. package/dist/check/engine/transitions.d.ts +0 -12
  114. package/dist/check/engine/transitions.d.ts.map +0 -1
  115. package/dist/check/engine/transitions.js +0 -42
  116. package/dist/check/engine/transitions.js.map +0 -1
  117. package/dist/check/properties/checked-state.d.ts +0 -3
  118. package/dist/check/properties/checked-state.d.ts.map +0 -1
  119. package/dist/check/properties/checked-state.js +0 -21
  120. package/dist/check/properties/checked-state.js.map +0 -1
  121. package/dist/check/properties/finalize.d.ts +0 -5
  122. package/dist/check/properties/finalize.d.ts.map +0 -1
  123. package/dist/check/properties/finalize.js +0 -107
  124. package/dist/check/properties/finalize.js.map +0 -1
  125. package/dist/check/properties/leads-to.d.ts +0 -8
  126. package/dist/check/properties/leads-to.d.ts.map +0 -1
  127. package/dist/check/properties/leads-to.js +0 -70
  128. package/dist/check/properties/leads-to.js.map +0 -1
  129. package/dist/check/properties/observe.d.ts +0 -6
  130. package/dist/check/properties/observe.d.ts.map +0 -1
  131. package/dist/check/properties/observe.js +0 -56
  132. package/dist/check/properties/observe.js.map +0 -1
  133. package/dist/check/properties/reachable-from.d.ts +0 -10
  134. package/dist/check/properties/reachable-from.d.ts.map +0 -1
  135. package/dist/check/properties/reachable-from.js +0 -19
  136. package/dist/check/properties/reachable-from.js.map +0 -1
  137. package/dist/check/runtime/domains.d.ts +0 -5
  138. package/dist/check/runtime/domains.d.ts.map +0 -1
  139. package/dist/check/runtime/domains.js +0 -53
  140. package/dist/check/runtime/domains.js.map +0 -1
  141. package/dist/check/runtime/effects.d.ts +0 -9
  142. package/dist/check/runtime/effects.d.ts.map +0 -1
  143. package/dist/check/runtime/effects.js +0 -86
  144. package/dist/check/runtime/effects.js.map +0 -1
  145. package/dist/check/runtime/expr.d.ts +0 -7
  146. package/dist/check/runtime/expr.d.ts.map +0 -1
  147. package/dist/check/runtime/expr.js +0 -49
  148. package/dist/check/runtime/expr.js.map +0 -1
  149. package/dist/check/runtime/navigation.d.ts +0 -7
  150. package/dist/check/runtime/navigation.d.ts.map +0 -1
  151. package/dist/check/runtime/navigation.js +0 -60
  152. package/dist/check/runtime/navigation.js.map +0 -1
  153. package/dist/check/runtime/opaque.d.ts +0 -3
  154. package/dist/check/runtime/opaque.d.ts.map +0 -1
  155. package/dist/check/runtime/opaque.js +0 -72
  156. package/dist/check/runtime/opaque.js.map +0 -1
  157. package/dist/check/runtime/paths.d.ts +0 -4
  158. package/dist/check/runtime/paths.d.ts.map +0 -1
  159. package/dist/check/runtime/paths.js +0 -28
  160. package/dist/check/runtime/paths.js.map +0 -1
  161. package/dist/check/runtime/pending.d.ts +0 -9
  162. package/dist/check/runtime/pending.d.ts.map +0 -1
  163. package/dist/check/runtime/pending.js +0 -5
  164. package/dist/check/runtime/pending.js.map +0 -1
  165. package/dist/check/runtime/tokens.d.ts +0 -7
  166. package/dist/check/runtime/tokens.d.ts.map +0 -1
  167. package/dist/check/runtime/tokens.js +0 -36
  168. package/dist/check/runtime/tokens.js.map +0 -1
  169. package/dist/check/traces/step-facts.d.ts +0 -3
  170. package/dist/check/traces/step-facts.d.ts.map +0 -1
  171. package/dist/check/traces/step-facts.js +0 -35
  172. package/dist/check/traces/step-facts.js.map +0 -1
  173. package/dist/check/traces/trace.d.ts +0 -13
  174. package/dist/check/traces/trace.d.ts.map +0 -1
  175. package/dist/check/traces/trace.js +0 -47
  176. package/dist/check/traces/trace.js.map +0 -1
  177. /package/dist/check/{engine/model-api.d.ts → model-api.d.ts} +0 -0
@@ -0,0 +1,4 @@
1
+ import type { Model, Property } from "modality-ts/core";
2
+ import type { CheckOptions, CheckResult } from "./types.js";
3
+ export declare function checkModel(model: Model, properties: readonly Property[], options?: CheckOptions): CheckResult;
4
+ //# sourceMappingURL=check-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-model.d.ts","sourceRoot":"","sources":["../../src/check/check-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMxD,OAAO,KAAK,EAEV,YAAY,EACZ,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,SAAS,QAAQ,EAAE,EAC/B,OAAO,GAAE,YAAiB,GACzB,WAAW,CAmBb"}
@@ -0,0 +1,159 @@
1
+ import { sliceModelForProperty, canSliceProperty, } from "./slicing/slice-model.js";
2
+ import { runRustCheck } from "./native.js";
3
+ export function checkModel(model, properties, options = {}) {
4
+ const slicingDiagnostics = buildSlicingRequestDiagnostics(properties, options.slicing === true);
5
+ if (options.slicing &&
6
+ properties.length > 0 &&
7
+ properties.every((property) => property.reads !== undefined)) {
8
+ return checkModelSliced(model, properties, options);
9
+ }
10
+ const result = runRustCheck(model, properties, options);
11
+ return {
12
+ ...result,
13
+ diagnostics: mergeDiagnostics(result.diagnostics, {
14
+ slicing: slicingDiagnostics,
15
+ }),
16
+ };
17
+ }
18
+ function buildSlicingRequestDiagnostics(properties, slicingRequested) {
19
+ if (!slicingRequested) {
20
+ return { enabled: false };
21
+ }
22
+ if (properties.length === 0) {
23
+ return { enabled: false, skipped: true, skipReason: "no properties" };
24
+ }
25
+ if (!properties.every((property) => property.reads !== undefined)) {
26
+ return {
27
+ enabled: false,
28
+ skipped: true,
29
+ skipReason: "property missing reads",
30
+ };
31
+ }
32
+ return { enabled: true };
33
+ }
34
+ function checkModelSliced(model, properties, options = {}) {
35
+ const groups = new Map();
36
+ const sliceSummaries = [];
37
+ let sliceIndex = 0;
38
+ for (const property of properties) {
39
+ const slice = canSliceProperty(property)
40
+ ? sliceModelForProperty(model, property)
41
+ : model;
42
+ const key = slice.vars.map((decl) => decl.id).join("\0");
43
+ const group = groups.get(key);
44
+ if (group) {
45
+ group.properties.push(property);
46
+ }
47
+ else {
48
+ groups.set(key, {
49
+ model: slice,
50
+ properties: [property],
51
+ index: sliceIndex,
52
+ });
53
+ sliceIndex += 1;
54
+ }
55
+ }
56
+ const mergedVerdicts = [];
57
+ const mergedVacuity = [];
58
+ const mergedBoundHits = new Set();
59
+ let totalStates = 0;
60
+ let totalEdges = 0;
61
+ let maxDepth = 0;
62
+ let mergedDiagnostics;
63
+ for (const group of [...groups.values()].sort((left, right) => left.index - right.index)) {
64
+ const result = runRustCheck(group.model, group.properties, {
65
+ ...options,
66
+ slicing: false,
67
+ slicedModel: true,
68
+ });
69
+ for (const property of group.properties) {
70
+ const verdict = result.verdicts.find((candidate) => candidate.property === property.name);
71
+ if (verdict)
72
+ mergedVerdicts.push(verdict);
73
+ }
74
+ mergedVacuity.push(...result.vacuityWarnings);
75
+ for (const hit of result.boundHits)
76
+ mergedBoundHits.add(hit);
77
+ totalStates += result.stats.states;
78
+ totalEdges += result.stats.edges;
79
+ maxDepth = Math.max(maxDepth, result.stats.depth);
80
+ mergedDiagnostics = mergeSearchDiagnostics(mergedDiagnostics, result.diagnostics);
81
+ sliceSummaries.push({
82
+ index: group.index,
83
+ properties: group.properties.map((property) => property.name),
84
+ vars: group.model.vars.length,
85
+ transitions: group.model.transitions.length,
86
+ states: result.stats.states,
87
+ edges: result.stats.edges,
88
+ depth: result.stats.depth,
89
+ });
90
+ }
91
+ return {
92
+ verdicts: properties.map((property) => mergedVerdicts.find((verdict) => verdict.property === property.name) ?? {
93
+ status: "verified-within-bounds",
94
+ property: property.name,
95
+ }),
96
+ stats: { states: totalStates, edges: totalEdges, depth: maxDepth },
97
+ vacuityWarnings: [...new Set(mergedVacuity)].sort(),
98
+ boundHits: [...mergedBoundHits].sort(),
99
+ diagnostics: {
100
+ ...mergedDiagnostics,
101
+ slicing: {
102
+ enabled: true,
103
+ slices: groups.size,
104
+ sliceSummaries,
105
+ },
106
+ },
107
+ };
108
+ }
109
+ function mergeSearchDiagnostics(left, right) {
110
+ if (!left)
111
+ return right;
112
+ if (!right)
113
+ return left;
114
+ const dominant = mergeDominantVars(left.dominantVars, right.dominantVars);
115
+ return {
116
+ slicing: left.slicing ?? right.slicing,
117
+ search: {
118
+ maxFrontier: Math.max(left.search?.maxFrontier ?? 0, right.search?.maxFrontier ?? 0),
119
+ finalFrontier: Math.max(left.search?.finalFrontier ?? 0, right.search?.finalFrontier ?? 0),
120
+ expandedDepths: Math.max(left.search?.expandedDepths ?? 0, right.search?.expandedDepths ?? 0),
121
+ elapsedMs: left.search?.elapsedMs !== undefined ||
122
+ right.search?.elapsedMs !== undefined
123
+ ? (left.search?.elapsedMs ?? 0) + (right.search?.elapsedMs ?? 0)
124
+ : undefined,
125
+ },
126
+ limits: left.limits ?? right.limits,
127
+ dominantVars: dominant,
128
+ storage: mergeStorageDiagnostics(left.storage, right.storage),
129
+ hotPath: left.hotPath ?? right.hotPath,
130
+ };
131
+ }
132
+ function mergeStorageDiagnostics(left, right) {
133
+ if (!left)
134
+ return right;
135
+ if (!right)
136
+ return left;
137
+ return {
138
+ recordedEdges: left.recordedEdges + right.recordedEdges,
139
+ storedStates: left.storedStates + right.storedStates,
140
+ parentEntries: left.parentEntries + right.parentEntries,
141
+ edgeRecordingMode: left.edgeRecordingMode === right.edgeRecordingMode
142
+ ? left.edgeRecordingMode
143
+ : "property-specific",
144
+ };
145
+ }
146
+ function mergeDominantVars(left, right) {
147
+ const counts = new Map();
148
+ for (const entry of [...(left ?? []), ...(right ?? [])]) {
149
+ counts.set(entry.varId, Math.max(counts.get(entry.varId) ?? 0, entry.distinctValues));
150
+ }
151
+ return [...counts.entries()]
152
+ .map(([varId, distinctValues]) => ({ varId, distinctValues }))
153
+ .sort((a, b) => b.distinctValues - a.distinctValues)
154
+ .slice(0, 5);
155
+ }
156
+ function mergeDiagnostics(existing, patch) {
157
+ return { ...existing, ...patch };
158
+ }
159
+ //# sourceMappingURL=check-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-model.js","sourceRoot":"","sources":["../../src/check/check-model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { checkModel } from "./engine/check-model.js";
2
- import { modelInitialStates, modelSuccessors } from "./engine/model-api.js";
1
+ import { checkModel } from "./check-model.js";
2
+ import { modelInitialStates, modelSuccessors } from "./model-api.js";
3
3
  import { sliceModel } from "./slicing/slice-model.js";
4
4
  export { checkModel };
5
5
  export { modelInitialStates, modelSuccessors };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/check/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;CAKpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/check/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;CAKpB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { checkModel } from "./engine/check-model.js";
2
- import { modelInitialStates, modelSuccessors } from "./engine/model-api.js";
1
+ import { checkModel } from "./check-model.js";
2
+ import { modelInitialStates, modelSuccessors } from "./model-api.js";
3
3
  import { sliceModel } from "./slicing/slice-model.js";
4
4
  export { checkModel };
5
5
  export { modelInitialStates, modelSuccessors };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/check/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,CAAC;AAUtB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU;IACV,kBAAkB;IAClB,eAAe;IACf,UAAU;CACX,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/check/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,CAAC;AAUtB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU;IACV,kBAAkB;IAClB,eAAe;IACf,UAAU;CACX,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-api.d.ts","sourceRoot":"","sources":["../../src/check/model-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGrE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,EAAE,CAE7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,EAAE,CAE1E"}
@@ -0,0 +1,8 @@
1
+ import { runRustInitialStates, runRustSuccessors } from "./native.js";
2
+ export function modelInitialStates(model) {
3
+ return runRustInitialStates(model);
4
+ }
5
+ export function modelSuccessors(model, pre) {
6
+ return runRustSuccessors(model, pre);
7
+ }
8
+ //# sourceMappingURL=model-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-api.js","sourceRoot":"","sources":["../../src/check/model-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,UAAU,kBAAkB,CAAC,KAAY;IAC7C,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAY,EAAE,GAAe;IAC3D,OAAO,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Model, ModelState, Property, TraceStep } from "modality-ts/core";
2
+ import type { CheckOptions, CheckResult } from "./types.js";
3
+ export declare function runRustCheck(model: Model, properties: readonly Property[], options?: CheckOptions): CheckResult;
4
+ export declare function runRustInitialStates(model: Model): ModelState[];
5
+ export declare function runRustSuccessors(model: Model, state: ModelState): TraceStep[];
6
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/check/native.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmD5D,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,SAAS,QAAQ,EAAE,EAC/B,OAAO,GAAE,YAAiB,GACzB,WAAW,CAoBb;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,EAAE,CAG/D;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,GAChB,SAAS,EAAE,CAMb"}
@@ -0,0 +1,69 @@
1
+ import { createRequire } from "node:module";
2
+ import { existsSync, readdirSync } from "node:fs";
3
+ import { dirname, join } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import { serializeProperties } from "./serialize-properties.js";
6
+ const require = createRequire(import.meta.url);
7
+ function resolveNativeBinary() {
8
+ const here = dirname(fileURLToPath(import.meta.url));
9
+ const nativeDirs = [
10
+ join(here, "..", "..", "native"),
11
+ join(here, "native"),
12
+ join(process.cwd(), "native"),
13
+ ];
14
+ for (const dir of nativeDirs) {
15
+ const exact = join(dir, "modality-checker.node");
16
+ if (existsSync(exact))
17
+ return exact;
18
+ if (!existsSync(dir))
19
+ continue;
20
+ const platformMatch = readdirSync(dir).find((entry) => entry.startsWith("modality-checker.") && entry.endsWith(".node"));
21
+ if (platformMatch)
22
+ return join(dir, platformMatch);
23
+ }
24
+ throw new Error("Native modality-checker addon not found. Run `pnpm build:rust` before checking.");
25
+ }
26
+ let binding;
27
+ function loadBinding() {
28
+ if (!binding) {
29
+ binding = require(resolveNativeBinary());
30
+ }
31
+ return binding;
32
+ }
33
+ function parseResponse(raw) {
34
+ const parsed = JSON.parse(raw);
35
+ if (!parsed.ok) {
36
+ throw new Error(parsed.error);
37
+ }
38
+ return parsed.result;
39
+ }
40
+ export function runRustCheck(model, properties, options = {}) {
41
+ const request = {
42
+ model,
43
+ properties: serializeProperties(properties),
44
+ options: {
45
+ slicing: options.slicing,
46
+ slicedModel: options.slicedModel,
47
+ maxStates: options.maxStates,
48
+ maxEdges: options.maxEdges,
49
+ maxFrontier: options.maxFrontier,
50
+ trackElapsed: options.trackElapsed,
51
+ memoryGuardBytes: options.memoryGuard?.maxHeapUsedBytes,
52
+ },
53
+ };
54
+ const raw = loadBinding().checkModel(JSON.stringify(request));
55
+ const parsed = JSON.parse(raw);
56
+ if (!parsed.ok) {
57
+ throw new Error(parsed.error);
58
+ }
59
+ return parsed.result;
60
+ }
61
+ export function runRustInitialStates(model) {
62
+ const raw = loadBinding().modelInitialStates(JSON.stringify(model));
63
+ return parseResponse(raw);
64
+ }
65
+ export function runRustSuccessors(model, state) {
66
+ const raw = loadBinding().modelSuccessors(JSON.stringify(model), JSON.stringify(state));
67
+ return parseResponse(raw);
68
+ }
69
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/check/native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Property } from "modality-ts/core";
2
+ export type SerializedProperty = Property;
3
+ export declare function serializeProperties(properties: readonly Property[]): SerializedProperty[];
4
+ //# sourceMappingURL=serialize-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize-properties.d.ts","sourceRoot":"","sources":["../../src/check/serialize-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE1C,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,QAAQ,EAAE,GAC9B,kBAAkB,EAAE,CAEtB"}
@@ -0,0 +1,4 @@
1
+ export function serializeProperties(properties) {
2
+ return [...properties];
3
+ }
4
+ //# sourceMappingURL=serialize-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize-properties.js","sourceRoot":"","sources":["../../src/check/serialize-properties.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,mBAAmB,CACjC,UAA+B;IAE/B,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/check/command.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,WAAW,EAEhB,KAAK,KAAK,EAGX,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EACT;QACE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACD,KAAK,CAAC;IACV,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACzC;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CA+F7B;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,IAAI,EACT,eAAe,GAAE,SAAS,MAAM,EAAO,EACvC,WAAW,GAAE,SAAS,MAAM,EAAO,GAClC,WAAW,CAuCb;AA2BD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CA2D9D"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/check/command.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAKL,KAAK,WAAW,EAEhB,KAAK,KAAK,EAIX,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EACT;QACE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACD,KAAK,CAAC;IACV,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACzC;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CA+F7B;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,IAAI,EACT,eAAe,GAAE,SAAS,MAAM,EAAO,EACvC,WAAW,GAAE,SAAS,MAAM,EAAO,GAClC,WAAW,CAuCb;AA2BD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CA2D9D"}
@@ -3,7 +3,7 @@ import { dirname, extname, join } from "node:path";
3
3
  import { pathToFileURL } from "node:url";
4
4
  import { getHeapStatistics } from "node:v8";
5
5
  import { checkModel, } from "modality-ts/check";
6
- import { canonicalJson, parseModelArtifact, traceArtifact, } from "modality-ts/core";
6
+ import { assertSerializableProperty, canonicalJson, parseModelArtifact, traceArtifact, } from "modality-ts/core";
7
7
  import { generateAbstractReplayTest, generateActionReplayTest, generateReplayHarness, } from "../../codegen/replay-test.js";
8
8
  import { loadAndApplyOverlay } from "../../overlay.js";
9
9
  import { renderHumanCheckArtifacts, renderHumanCheckResult, } from "./output.js";
@@ -219,11 +219,30 @@ async function loadProperties(model, propsPaths) {
219
219
  const modulePath = await importableCopy(propsPath);
220
220
  const module = (await import(
221
221
  /* @vite-ignore */ pathToFileURL(modulePath).href));
222
- if (typeof module.propertiesFor === "function")
223
- return module.propertiesFor(model);
224
- if (typeof module.properties === "function")
225
- return module.properties(model);
226
- return module.properties ?? [];
222
+ let loaded;
223
+ if (typeof module.propertiesFor === "function") {
224
+ loaded = module.propertiesFor(model);
225
+ }
226
+ else if (typeof module.properties === "function") {
227
+ loaded = module.properties(model);
228
+ }
229
+ else if (module.properties !== undefined) {
230
+ loaded = module.properties;
231
+ }
232
+ else if (module.default &&
233
+ typeof module.default === "object" &&
234
+ !Array.isArray(module.default) &&
235
+ "schemaVersion" in module.default &&
236
+ "properties" in module.default) {
237
+ loaded = [...module.default.properties];
238
+ }
239
+ else if (Array.isArray(module.default)) {
240
+ loaded = module.default;
241
+ }
242
+ else {
243
+ loaded = [];
244
+ }
245
+ return loaded.map((property, index) => assertSerializableProperty(property, `${propsPath}[${index}]`));
227
246
  }));
228
247
  return properties.flat();
229
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/cli/features/check/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/cli/features/check/command.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@ import type { Bounds } from "modality-ts/core";
3
3
  import type { RouterPlugin, StateSourcePlugin } from "modality-ts/extract/engine/spi";
4
4
  import type { ExtractArtifactEntry } from "./output.js";
5
5
  export interface ModalityConfig {
6
- route?: string;
6
+ navigation?: {
7
+ initialRoute?: string;
8
+ routeBySource?: Record<string, string>;
9
+ };
7
10
  effectApis?: readonly string[];
8
11
  bounds?: Partial<Bounds>;
9
12
  packageJsonPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/extract/command.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,KAAK,EAQX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAIlB,MAAM,gCAAgC,CAAC;AAQxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC5C;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAkN/B"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/extract/command.ts"],"names":[],"mappings":"AAiBA,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,KAAK,EAQX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAIlB,MAAM,gCAAgC,CAAC;AAQxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAOxD,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE;QACX,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,CAAC;IACF,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC5C;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA8N/B"}