@graphty/graph-format 0.0.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +216 -43
  3. package/dist/graph-format.d.ts +1 -0
  4. package/dist/graph-format.d.ts.map +1 -0
  5. package/dist/graph-format.js +15798 -0
  6. package/dist/graph-format.js.map +1 -0
  7. package/dist/src/builder/arena.d.ts +85 -0
  8. package/dist/src/builder/arena.d.ts.map +1 -0
  9. package/dist/src/builder/arena.js +154 -0
  10. package/dist/src/builder/arena.js.map +1 -0
  11. package/dist/src/builder/compact.d.ts +515 -0
  12. package/dist/src/builder/compact.d.ts.map +1 -0
  13. package/dist/src/builder/compact.js +1553 -0
  14. package/dist/src/builder/compact.js.map +1 -0
  15. package/dist/src/builder/counting-sort.d.ts +96 -0
  16. package/dist/src/builder/counting-sort.d.ts.map +1 -0
  17. package/dist/src/builder/counting-sort.js +430 -0
  18. package/dist/src/builder/counting-sort.js.map +1 -0
  19. package/dist/src/builder/freeze.d.ts +72 -0
  20. package/dist/src/builder/freeze.d.ts.map +1 -0
  21. package/dist/src/builder/freeze.js +548 -0
  22. package/dist/src/builder/freeze.js.map +1 -0
  23. package/dist/src/builder/graph-builder.d.ts +602 -0
  24. package/dist/src/builder/graph-builder.d.ts.map +1 -0
  25. package/dist/src/builder/graph-builder.js +1940 -0
  26. package/dist/src/builder/graph-builder.js.map +1 -0
  27. package/dist/src/builder/options.d.ts +16 -0
  28. package/dist/src/builder/options.d.ts.map +1 -0
  29. package/dist/src/builder/options.js +21 -0
  30. package/dist/src/builder/options.js.map +1 -0
  31. package/dist/src/columns/bitmap.d.ts +96 -0
  32. package/dist/src/columns/bitmap.d.ts.map +1 -0
  33. package/dist/src/columns/bitmap.js +184 -0
  34. package/dist/src/columns/bitmap.js.map +1 -0
  35. package/dist/src/columns/column.d.ts +220 -0
  36. package/dist/src/columns/column.d.ts.map +1 -0
  37. package/dist/src/columns/column.js +2109 -0
  38. package/dist/src/columns/column.js.map +1 -0
  39. package/dist/src/columns/dictionary.d.ts +60 -0
  40. package/dist/src/columns/dictionary.d.ts.map +1 -0
  41. package/dist/src/columns/dictionary.js +102 -0
  42. package/dist/src/columns/dictionary.js.map +1 -0
  43. package/dist/src/columns/growable.d.ts +198 -0
  44. package/dist/src/columns/growable.d.ts.map +1 -0
  45. package/dist/src/columns/growable.js +296 -0
  46. package/dist/src/columns/growable.js.map +1 -0
  47. package/dist/src/columns/infer.d.ts +121 -0
  48. package/dist/src/columns/infer.d.ts.map +1 -0
  49. package/dist/src/columns/infer.js +268 -0
  50. package/dist/src/columns/infer.js.map +1 -0
  51. package/dist/src/columns/remap.d.ts +143 -0
  52. package/dist/src/columns/remap.d.ts.map +1 -0
  53. package/dist/src/columns/remap.js +588 -0
  54. package/dist/src/columns/remap.js.map +1 -0
  55. package/dist/src/columns/table.d.ts +184 -0
  56. package/dist/src/columns/table.d.ts.map +1 -0
  57. package/dist/src/columns/table.js +485 -0
  58. package/dist/src/columns/table.js.map +1 -0
  59. package/dist/src/constants.d.ts +34 -0
  60. package/dist/src/constants.d.ts.map +1 -0
  61. package/dist/src/constants.js +79 -0
  62. package/dist/src/constants.js.map +1 -0
  63. package/dist/src/errors.d.ts +76 -0
  64. package/dist/src/errors.d.ts.map +1 -0
  65. package/dist/src/errors.js +32 -0
  66. package/dist/src/errors.js.map +1 -0
  67. package/dist/src/ids/edge-id-index.d.ts +77 -0
  68. package/dist/src/ids/edge-id-index.d.ts.map +1 -0
  69. package/dist/src/ids/edge-id-index.js +155 -0
  70. package/dist/src/ids/edge-id-index.js.map +1 -0
  71. package/dist/src/ids/node-id-map.d.ts +280 -0
  72. package/dist/src/ids/node-id-map.d.ts.map +1 -0
  73. package/dist/src/ids/node-id-map.js +1139 -0
  74. package/dist/src/ids/node-id-map.js.map +1 -0
  75. package/dist/src/ids/string-store.d.ts +219 -0
  76. package/dist/src/ids/string-store.d.ts.map +1 -0
  77. package/dist/src/ids/string-store.js +526 -0
  78. package/dist/src/ids/string-store.js.map +1 -0
  79. package/dist/src/index.d.ts +30 -0
  80. package/dist/src/index.d.ts.map +1 -0
  81. package/dist/src/index.js +29 -0
  82. package/dist/src/index.js.map +1 -0
  83. package/dist/src/populate/from-csr.d.ts +61 -0
  84. package/dist/src/populate/from-csr.d.ts.map +1 -0
  85. package/dist/src/populate/from-csr.js +706 -0
  86. package/dist/src/populate/from-csr.js.map +1 -0
  87. package/dist/src/populate/from-edge-arrays.d.ts +51 -0
  88. package/dist/src/populate/from-edge-arrays.d.ts.map +1 -0
  89. package/dist/src/populate/from-edge-arrays.js +217 -0
  90. package/dist/src/populate/from-edge-arrays.js.map +1 -0
  91. package/dist/src/populate/from-records.d.ts +51 -0
  92. package/dist/src/populate/from-records.d.ts.map +1 -0
  93. package/dist/src/populate/from-records.js +447 -0
  94. package/dist/src/populate/from-records.js.map +1 -0
  95. package/dist/src/snapshot/derived.d.ts +211 -0
  96. package/dist/src/snapshot/derived.d.ts.map +1 -0
  97. package/dist/src/snapshot/derived.js +1254 -0
  98. package/dist/src/snapshot/derived.js.map +1 -0
  99. package/dist/src/snapshot/graph-meta.d.ts +23 -0
  100. package/dist/src/snapshot/graph-meta.d.ts.map +1 -0
  101. package/dist/src/snapshot/graph-meta.js +159 -0
  102. package/dist/src/snapshot/graph-meta.js.map +1 -0
  103. package/dist/src/snapshot/graph-snapshot.d.ts +509 -0
  104. package/dist/src/snapshot/graph-snapshot.d.ts.map +1 -0
  105. package/dist/src/snapshot/graph-snapshot.js +1247 -0
  106. package/dist/src/snapshot/graph-snapshot.js.map +1 -0
  107. package/dist/src/snapshot/hash.d.ts +90 -0
  108. package/dist/src/snapshot/hash.d.ts.map +1 -0
  109. package/dist/src/snapshot/hash.js +228 -0
  110. package/dist/src/snapshot/hash.js.map +1 -0
  111. package/dist/src/snapshot/queries.d.ts +74 -0
  112. package/dist/src/snapshot/queries.d.ts.map +1 -0
  113. package/dist/src/snapshot/queries.js +131 -0
  114. package/dist/src/snapshot/queries.js.map +1 -0
  115. package/dist/src/snapshot/validate.d.ts +192 -0
  116. package/dist/src/snapshot/validate.d.ts.map +1 -0
  117. package/dist/src/snapshot/validate.js +990 -0
  118. package/dist/src/snapshot/validate.js.map +1 -0
  119. package/dist/src/snapshot/views.d.ts +274 -0
  120. package/dist/src/snapshot/views.d.ts.map +1 -0
  121. package/dist/src/snapshot/views.js +856 -0
  122. package/dist/src/snapshot/views.js.map +1 -0
  123. package/dist/src/types/builder.d.ts +456 -0
  124. package/dist/src/types/builder.d.ts.map +1 -0
  125. package/dist/src/types/builder.js +11 -0
  126. package/dist/src/types/builder.js.map +1 -0
  127. package/dist/src/types/columns.d.ts +615 -0
  128. package/dist/src/types/columns.d.ts.map +1 -0
  129. package/dist/src/types/columns.js +14 -0
  130. package/dist/src/types/columns.js.map +1 -0
  131. package/dist/src/types/index.d.ts +14 -0
  132. package/dist/src/types/index.d.ts.map +1 -0
  133. package/dist/src/types/index.js +11 -0
  134. package/dist/src/types/index.js.map +1 -0
  135. package/dist/src/types/internal.d.ts +172 -0
  136. package/dist/src/types/internal.d.ts.map +1 -0
  137. package/dist/src/types/internal.js +13 -0
  138. package/dist/src/types/internal.js.map +1 -0
  139. package/dist/src/types/snapshot.d.ts +801 -0
  140. package/dist/src/types/snapshot.d.ts.map +1 -0
  141. package/dist/src/types/snapshot.js +14 -0
  142. package/dist/src/types/snapshot.js.map +1 -0
  143. package/dist/src/types/wire.d.ts +196 -0
  144. package/dist/src/types/wire.d.ts.map +1 -0
  145. package/dist/src/types/wire.js +8 -0
  146. package/dist/src/types/wire.js.map +1 -0
  147. package/dist/src/util/mask.d.ts +55 -0
  148. package/dist/src/util/mask.d.ts.map +1 -0
  149. package/dist/src/util/mask.js +71 -0
  150. package/dist/src/util/mask.js.map +1 -0
  151. package/dist/src/util/options.d.ts +22 -0
  152. package/dist/src/util/options.d.ts.map +1 -0
  153. package/dist/src/util/options.js +49 -0
  154. package/dist/src/util/options.js.map +1 -0
  155. package/dist/src/util/shared-buffers.d.ts +42 -0
  156. package/dist/src/util/shared-buffers.d.ts.map +1 -0
  157. package/dist/src/util/shared-buffers.js +52 -0
  158. package/dist/src/util/shared-buffers.js.map +1 -0
  159. package/dist/src/util/typed-array.d.ts +205 -0
  160. package/dist/src/util/typed-array.d.ts.map +1 -0
  161. package/dist/src/util/typed-array.js +289 -0
  162. package/dist/src/util/typed-array.js.map +1 -0
  163. package/dist/src/wire/bytes.d.ts +69 -0
  164. package/dist/src/wire/bytes.d.ts.map +1 -0
  165. package/dist/src/wire/bytes.js +361 -0
  166. package/dist/src/wire/bytes.js.map +1 -0
  167. package/dist/src/wire/carried-views.d.ts +111 -0
  168. package/dist/src/wire/carried-views.d.ts.map +1 -0
  169. package/dist/src/wire/carried-views.js +286 -0
  170. package/dist/src/wire/carried-views.js.map +1 -0
  171. package/dist/src/wire/from-wire.d.ts +144 -0
  172. package/dist/src/wire/from-wire.d.ts.map +1 -0
  173. package/dist/src/wire/from-wire.js +1425 -0
  174. package/dist/src/wire/from-wire.js.map +1 -0
  175. package/dist/src/wire/to-wire.d.ts +171 -0
  176. package/dist/src/wire/to-wire.d.ts.map +1 -0
  177. package/dist/src/wire/to-wire.js +652 -0
  178. package/dist/src/wire/to-wire.js.map +1 -0
  179. package/dist/tsconfig.build.tsbuildinfo +1 -0
  180. package/package.json +72 -7
  181. package/src/builder/arena.ts +192 -0
  182. package/src/builder/compact.ts +1811 -0
  183. package/src/builder/counting-sort.ts +506 -0
  184. package/src/builder/freeze.ts +689 -0
  185. package/src/builder/graph-builder.ts +2264 -0
  186. package/src/builder/options.ts +29 -0
  187. package/src/columns/bitmap.ts +196 -0
  188. package/src/columns/column.ts +2574 -0
  189. package/src/columns/dictionary.ts +114 -0
  190. package/src/columns/growable.ts +350 -0
  191. package/src/columns/infer.ts +285 -0
  192. package/src/columns/remap.ts +663 -0
  193. package/src/columns/table.ts +568 -0
  194. package/src/constants.ts +89 -0
  195. package/src/errors.ts +115 -0
  196. package/src/ids/edge-id-index.ts +179 -0
  197. package/src/ids/node-id-map.ts +1340 -0
  198. package/src/ids/string-store.ts +589 -0
  199. package/src/index.ts +139 -0
  200. package/src/lib-resizable-array-buffer.d.ts +34 -0
  201. package/src/populate/from-csr.ts +802 -0
  202. package/src/populate/from-edge-arrays.ts +257 -0
  203. package/src/populate/from-records.ts +536 -0
  204. package/src/snapshot/derived.ts +1486 -0
  205. package/src/snapshot/graph-meta.ts +167 -0
  206. package/src/snapshot/graph-snapshot.ts +1503 -0
  207. package/src/snapshot/hash.ts +241 -0
  208. package/src/snapshot/queries.ts +136 -0
  209. package/src/snapshot/validate.ts +1108 -0
  210. package/src/snapshot/views.ts +943 -0
  211. package/src/types/builder.ts +480 -0
  212. package/src/types/columns.ts +727 -0
  213. package/src/types/index.ts +14 -0
  214. package/src/types/internal.ts +195 -0
  215. package/src/types/snapshot.ts +886 -0
  216. package/src/types/wire.ts +207 -0
  217. package/src/util/mask.ts +89 -0
  218. package/src/util/options.ts +57 -0
  219. package/src/util/shared-buffers.ts +56 -0
  220. package/src/util/typed-array.ts +371 -0
  221. package/src/wire/bytes.ts +440 -0
  222. package/src/wire/carried-views.ts +327 -0
  223. package/src/wire/from-wire.ts +1690 -0
  224. package/src/wire/to-wire.ts +755 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-wire.js","sourceRoot":"","sources":["../../../src/wire/from-wire.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * The wire encoder (design sections 4.5, 5.9, 9.1 and 12.2): `toWire()` turns a snapshot into a
3
+ * JSON-serialisable manifest plus a list of ArrayBuffers, `transferables()` lists the exclusively
4
+ * owned buffers a worker hand-off may transfer, and the segment collector shared with the GSNP
5
+ * container writer of bytes.ts lays every typed array out as a WireBufferRef.
6
+ *
7
+ * Two layouts exist. In REFERENCE mode (toWire) every distinct backing ArrayBuffer becomes one entry
8
+ * of `buffers` and a reference carries the array's own byteOffset, so the core stays views over the
9
+ * arena (one buffer) and nothing is copied unless `transfer: true` meets a shared buffer. In
10
+ * CONTAINER mode (toBytes / toByteChunks) every array is placed at a 256-byte-aligned offset of one
11
+ * buffer region in manifest order, core arrays first so the region's prefix is the arena.
12
+ *
13
+ * toWire allocates nothing for typed data except the first materialisation of a lazily kept
14
+ * representation: the Utf8 store of string ids and string columns and the f64 / tag arrays of a
15
+ * numeric or mixed id map are cached by their owners, the encoded dictionaries and the JSON text of
16
+ * json columns are cached here. Non-finite numbers and -0 inside metadata are carried as the tagged
17
+ * strings of design section 5.9 so the manifest survives JSON.stringify unchanged.
18
+ */
19
+ import { type GraphSnapshot } from "../snapshot/graph-snapshot.js";
20
+ import { type ToWireOptions, type TypedArrayData, type ViewName, type WireBufferRef, type WireDtype, type WireManifest, type WireSnapshot } from "../types/index.js";
21
+ /**
22
+ * The `producer` string written into every manifest (design section 9.1): the package name and its
23
+ * npm version. Golden fixtures mask it when compared. Bumped together with package.json.
24
+ */
25
+ export declare const WIRE_PRODUCER = "@graphty/graph-format@0.1.0";
26
+ /**
27
+ * Refuse to emit wire data on a big-endian host (design section 9.2): every supported platform is
28
+ * little-endian and there is no byte-swapping reader, so a big-endian host must never produce a file
29
+ * other hosts reject. The parameter exists so the refusal path is testable on a little-endian host.
30
+ * @param littleEndian - whether the host is little-endian; defaults to the detected value
31
+ */
32
+ export declare function assertLittleEndianHost(littleEndian?: boolean): void;
33
+ /**
34
+ * Encode a JSON value for the manifest (design section 5.9): `Infinity`, `-Infinity`, `NaN` and `-0`
35
+ * become `{ "$num": "..." }`, arrays and plain objects are copied recursively, everything else is
36
+ * returned as is. A user object whose ONLY key is `$num` or `$esc` would collide with the tags, so
37
+ * it is wrapped as `{ "$esc": { ...the object... } }` and unwrapped by the reader.
38
+ * The input has already passed assertJsonValue (design section 5.9), so no other shape can occur.
39
+ * @param value - the JSON value
40
+ * @returns the tagged copy
41
+ */
42
+ export declare function encodeJsonValue(value: unknown): unknown;
43
+ /**
44
+ * Add an own enumerable property to a plain object without going through a setter, so a key such as
45
+ * "__proto__" stays a data property (the manifest reader rejects it anyway).
46
+ * @param target - the object
47
+ * @param key - the property name
48
+ * @param value - the value
49
+ */
50
+ export declare function defineJsonKey(target: Record<string, unknown>, key: string, value: unknown): void;
51
+ /** How references are laid out. */
52
+ type WireMode = "reference" | "container";
53
+ /** One typed array placed in the container region: the source view and where it goes. */
54
+ export interface ContainerSegment {
55
+ /** The source array. */
56
+ readonly view: TypedArrayData;
57
+ /** Its reference (buffer 0, region-relative byteOffset). */
58
+ readonly ref: WireBufferRef;
59
+ }
60
+ /**
61
+ * Collects typed arrays into WireBufferRefs (design sections 9.1 and 9.2). In reference mode
62
+ * `buffers` is the list of distinct backing buffers (a shared buffer copied under `transfer`, its
63
+ * index recorded in `copied`); in container mode `segments` is the placement of every distinct array
64
+ * at a 256-aligned offset and `regionLength` the padded length of the region.
65
+ */
66
+ export declare class WireLayout {
67
+ /** The layout mode. */
68
+ readonly mode: WireMode;
69
+ /** Reference mode: whether shared buffers are copied so the rest can be transferred. */
70
+ readonly transfer: boolean;
71
+ /** Reference mode: the distinct buffers, or their copies. */
72
+ readonly buffers: ArrayBuffer[];
73
+ /** Reference mode: the indices of `buffers` holding copies of shared buffers. */
74
+ readonly copied: number[];
75
+ /** Container mode: every placed array in region order. */
76
+ readonly segments: ContainerSegment[];
77
+ private readonly bufferIndex;
78
+ private readonly placed;
79
+ private cursor;
80
+ /**
81
+ * Create a collector.
82
+ * @param mode - reference (toWire) or container (toBytes)
83
+ * @param transfer - reference mode only: copy shared buffers so the others can be transferred
84
+ */
85
+ constructor(mode: WireMode, transfer?: boolean);
86
+ /**
87
+ * Container mode: the padded byte length of the region (every segment padded to 256 bytes).
88
+ * @returns the region length
89
+ */
90
+ get regionLength(): number;
91
+ /**
92
+ * Reference mode: the index a buffer was assigned, or null when no array over it was placed.
93
+ * @param buffer - the buffer
94
+ * @returns the index into `buffers`, or null
95
+ */
96
+ indexOf(buffer: ArrayBuffer): number | null;
97
+ /**
98
+ * Place a typed array and return its reference. The same byte range is placed once. When the
99
+ * holder of the array (its column, table or id map) is shared, the buffer is recorded as shared
100
+ * so `finalise()` copies it under `transfer` (design section 9.1).
101
+ * @param view - the array
102
+ * @param dtype - its wire dtype ("utf8" for byte stores, "u8" for u8 columns and tags)
103
+ * @param sharedHolder - whether the object holding the array is held by more than one snapshot or table
104
+ * @returns the reference
105
+ */
106
+ ref(view: TypedArrayData, dtype: WireDtype, sharedHolder?: boolean): WireBufferRef;
107
+ /**
108
+ * Reference mode with `transfer`: replace every buffer recorded as shared by a copy and list its
109
+ * index in `copied` (design section 9.1). Called once after every array was placed, so the
110
+ * decision does not depend on the order in which shared holders were met.
111
+ */
112
+ finalise(): void;
113
+ /**
114
+ * The index of a backing buffer, assigning the next one on first sight.
115
+ * @param buffer - the buffer
116
+ * @returns the index
117
+ */
118
+ private bufferIndexOf;
119
+ }
120
+ /** The result of collecting a snapshot: the manifest and the layout that placed its arrays. */
121
+ interface CollectedWire {
122
+ /** The manifest. */
123
+ readonly manifest: WireManifest;
124
+ /** The collector holding the buffers (reference mode) or the segments (container mode). */
125
+ readonly layout: WireLayout;
126
+ }
127
+ /**
128
+ * Build the manifest of a snapshot over a collector (design section 9.1): core arrays first (an
129
+ * identity permutation, an absent weights array and a zero-length array are null), then the id map,
130
+ * the tables, the extension tables, the metadata and the requested views.
131
+ * @param snapshot - the snapshot
132
+ * @param layout - the collector
133
+ * @param includeViews - the views to carry
134
+ * @param includeColumns - whether attribute and extension tables are carried (default true)
135
+ * @returns the manifest and the collector
136
+ */
137
+ export declare function collectWire(snapshot: GraphSnapshot, layout: WireLayout, includeViews: readonly ViewName[] | undefined, includeColumns?: boolean): CollectedWire;
138
+ /**
139
+ * The plain-object wire form of a snapshot (design section 9.1): a JSON-serialisable manifest plus
140
+ * the distinct backing ArrayBuffers of the core, the id map, the columns and the extension tables.
141
+ * Without `transfer` every buffer is a plain reference and postMessage clones; with `transfer: true`
142
+ * every buffer held by more than one snapshot, table or column (design section 9.1, tracked by
143
+ * src/util/shared-buffers.ts) is copied (its index listed in `manifest.copied`) so the remaining
144
+ * buffers can be transferred with `transferables()`.
145
+ * @param snapshot - the snapshot
146
+ * @param options - transfer mode, the cached views to carry and whether columns are carried
147
+ * @returns the wire snapshot; E_UNSUPPORTED on a big-endian host
148
+ */
149
+ export declare function toWire(snapshot: GraphSnapshot, options?: ToWireOptions): WireSnapshot;
150
+ /**
151
+ * The postMessage transfer list of design section 9.1: the same set `toWire({ transfer: true })`
152
+ * put into `wire.buffers` -- exclusively owned originals plus the fresh copies made for shared
153
+ * buffers -- so `postMessage(wire, snapshot.transferables())` transfers exactly the buffers the
154
+ * wire carries, whatever `includeColumns` / `includeViews` selected (a buffer the wire does not
155
+ * reference is never listed, so no column is lost on either side). Before any transfer-mode toWire()
156
+ * call the list is computed for the default wire shape: the distinct exclusively owned buffers of
157
+ * the core, the id map, the typed columns, the string stores and the extension tables; a buffer
158
+ * held by more than one snapshot, table or column is excluded and an identity permutation is never
159
+ * included.
160
+ * @param snapshot - the snapshot
161
+ * @returns the buffers, in manifest order
162
+ */
163
+ export declare function transferables(snapshot: GraphSnapshot): ArrayBuffer[];
164
+ /**
165
+ * The UTF-8 bytes of a manifest as the container stores them (design section 9.2).
166
+ * @param manifest - the manifest
167
+ * @returns the encoded JSON text
168
+ */
169
+ export declare function encodeManifest(manifest: WireManifest): Uint8Array;
170
+ export {};
171
+ //# sourceMappingURL=to-wire.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-wire.d.ts","sourceRoot":"","sources":["../../../src/wire/to-wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAOH,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,QAAQ,EAEb,KAAK,aAAa,EAElB,KAAK,SAAS,EAEd,KAAK,YAAY,EACjB,KAAK,YAAY,EAEpB,MAAM,mBAAmB,CAAC;AAM3B;;;GAGG;AACH,eAAO,MAAM,aAAa,gCAAgC,CAAC;AAW3D;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,GAAE,OAA0B,GAAG,IAAI,CAMrF;AAUD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA+BvD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEhG;AAID,mCAAmC;AACnC,KAAK,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1C,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;CAC/B;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACnB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAM;IACrC,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAM;IAE3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,MAAM,CAAK;IAEnB;;;;OAIG;gBACS,IAAI,EAAE,QAAQ,EAAE,QAAQ,UAAQ;IAK5C;;;OAGG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAI3C;;;;;;;;OAQG;IACH,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,UAAQ,GAAG,aAAa;IA0BhF;;;;OAIG;IACH,QAAQ,IAAI,IAAI;IAahB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAUxB;AAoSD,+FAA+F;AAC/F,UAAU,aAAa;IACnB,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACvB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,EAC7C,cAAc,UAAO,GACtB,aAAa,CAsEf;AA2CD;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,CASzF;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,EAAE,CAQpE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU,CAEjE"}