@graview/primitives 0.1.57 → 0.1.58
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/dist/find.d.ts.map +1 -1
- package/dist/find.js +464 -122
- package/dist/find.js.map +1 -1
- package/package.json +6 -6
package/dist/find.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,SAAS,EAAY,MAAM,eAAe,CAAC;AAwG/G,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAe,EAAE,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+BAimB/F"}
|
package/dist/find.js
CHANGED
|
@@ -1,32 +1,50 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { counted, numberAsRead } from "@graview/core";
|
|
3
|
-
import { actsOn, search, touchWeights } from "@graview/core/search";
|
|
2
|
+
import { counted, nounOf, numberAsRead, pluralLabel, pluralOf } from "@graview/core";
|
|
3
|
+
import { actsOn, fold, search, touchWeights } from "@graview/core/search";
|
|
4
4
|
import { kindCardId, withFocus, withJackIn, withOverview, withPicture, withSelection } from "@graview/layout/view";
|
|
5
5
|
import { withoutSearch, withQuery } from "@graview/layout/view-moves";
|
|
6
6
|
import { useKit } from "@graview/react/drawing";
|
|
7
7
|
import { matchWith, POPOVER_STYLE, useFound, useGraview, usePopover, useViolations } from "@graview/react/provider";
|
|
8
8
|
import { hueFor } from "@graview/render";
|
|
9
|
-
import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
9
|
+
import { Fragment, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
10
10
|
import { VISUALLY_HIDDEN } from "./primitives/index.js";
|
|
11
11
|
import { openQuickAsk, useQuickAskDrawn } from "./quick-ask-desk.js";
|
|
12
12
|
// The Find box searches: it hands the provider the matcher as it is fetched (FR-179).
|
|
13
13
|
matchWith({ search, touchWeights });
|
|
14
|
+
const isAct = (row) => row !== undefined && "act" in row;
|
|
15
|
+
const recordOf = (row) => (row !== undefined && "hit" in row && row.hit.about === "node" ? row : undefined);
|
|
14
16
|
/** The kind a hit belongs with in the strip; rules have a group of their own. */
|
|
15
17
|
const groupOf = (hit) => (hit.about === "rule" ? "rule:" : hit.about === "act" ? "act:" : hit.kind);
|
|
18
|
+
/** Whether the viewport is a desk's: room for the panel beside the list. */
|
|
19
|
+
function useWide(compact) {
|
|
20
|
+
const measure = () => typeof window === "undefined" || window.innerWidth >= WIDE_FROM;
|
|
21
|
+
const [wide, setWide] = useState(measure);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
const again = () => setWide(measure());
|
|
24
|
+
window.addEventListener("resize", again);
|
|
25
|
+
return () => window.removeEventListener("resize", again);
|
|
26
|
+
}, []);
|
|
27
|
+
return wide && !compact;
|
|
28
|
+
}
|
|
16
29
|
export function FindBox({ compact = false }) {
|
|
17
30
|
const { store, view, setView, principal, setMenuAt, brand, aiDesk, selection } = useGraview();
|
|
18
31
|
const asks = useQuickAskDrawn(aiDesk);
|
|
19
32
|
const found = useFound();
|
|
20
33
|
const violations = useViolations();
|
|
21
34
|
const flag = useKit().marks.flag;
|
|
35
|
+
const wide = useWide(compact);
|
|
22
36
|
const input = useRef(null);
|
|
37
|
+
const list = useRef(null);
|
|
23
38
|
// Where the keyboard waits between Enter and the place standing (see `hold`).
|
|
24
39
|
const holder = useRef(null);
|
|
25
40
|
const strip = useId();
|
|
26
41
|
const [open, setOpen] = useState(false);
|
|
42
|
+
// The row lit: the keys' or the pointer's.
|
|
27
43
|
const [active, setActive] = useState(null);
|
|
28
|
-
// The
|
|
29
|
-
const [
|
|
44
|
+
// The row the desk's panel says: the lit one, a moment behind a pointer crossing rows on its way to the panel.
|
|
45
|
+
const [shown, setShown] = useState(null);
|
|
46
|
+
// The records whose acts were asked for under their rows (a narrow strip's "⋯", or →).
|
|
47
|
+
const [opened, setOpened] = useState([]);
|
|
30
48
|
const q = view.q ?? "";
|
|
31
49
|
/*
|
|
32
50
|
* `/` OR ⌘K, FROM ANYWHERE. ⌘K is a chord nobody types into a field, so
|
|
@@ -74,10 +92,11 @@ export function FindBox({ compact = false }) {
|
|
|
74
92
|
return () => window.removeEventListener("keydown", onKey);
|
|
75
93
|
}, []);
|
|
76
94
|
/*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
95
|
+
* THE GROUPS: a kind's rows under its heading, the kinds in the order of
|
|
96
|
+
* their best hit. Where several kinds share the strip each shows its best
|
|
97
|
+
* few and a row to all of them, so one kind of a hundred hits does not push
|
|
98
|
+
* every other kind out of sight; one kind alone shows its rows whole.
|
|
79
99
|
*/
|
|
80
|
-
const acts = useMemo(() => (anchor && q.trim() ? actsOn(store, anchor, found?.words ?? q, { principal, limit: 4 }) : []), [store, q, found, anchor, principal]);
|
|
81
100
|
const groups = useMemo(() => {
|
|
82
101
|
const held = new Map();
|
|
83
102
|
for (const [index, hit] of (found?.hits ?? []).entries()) {
|
|
@@ -87,21 +106,53 @@ export function FindBox({ compact = false }) {
|
|
|
87
106
|
const rows = held.get(key) ?? [];
|
|
88
107
|
rows.push({ id: `${strip}-${index}`, hit });
|
|
89
108
|
held.set(key, rows);
|
|
90
|
-
if (hit.about === "node" && hit.id === anchor) {
|
|
91
|
-
for (const [at, act] of acts.entries())
|
|
92
|
-
rows.push({ id: `${strip}-${index}-act-${at}`, hit: act });
|
|
93
|
-
}
|
|
94
109
|
}
|
|
95
|
-
|
|
96
|
-
|
|
110
|
+
const several = [...held.values()].filter((rows) => rows.some((row) => row.hit.about === "node")).length > 1;
|
|
111
|
+
return [...held.entries()].map(([key, entries]) => {
|
|
112
|
+
let records = 0;
|
|
113
|
+
const rows = entries.filter((row) => row.hit.about !== "node" || !several || ++records <= GROUP_CAP);
|
|
114
|
+
const listed = rows.filter((row) => row.hit.about === "node").length;
|
|
115
|
+
const count = key.endsWith(":") ? entries.length : (found?.byKind[key] ?? listed);
|
|
116
|
+
const more = !key.endsWith(":") && listed > 0 && count > listed ? { id: `${strip}-all-${key}`, all: key, count } : null;
|
|
117
|
+
return { key, rows, count, more };
|
|
118
|
+
});
|
|
119
|
+
}, [found, strip]);
|
|
97
120
|
const asking = asks && q.trim() ? { id: `${strip}-ask`, ask: q.trim() } : null;
|
|
98
|
-
const rows = useMemo(() => [...groups.flatMap(([,
|
|
99
|
-
const current = rows.find((row) => row.id === active) ?? rows[0];
|
|
121
|
+
const rows = useMemo(() => [...groups.flatMap((group) => (group.more ? [...group.rows, group.more] : group.rows)), ...(asking ? [asking] : [])], [groups, asking?.ask]);
|
|
100
122
|
const manyFound = (found?.hits ?? []).filter((hit) => hit.about === "node").length;
|
|
123
|
+
// The words as the matcher folded them, and what they mark in a row.
|
|
124
|
+
const words = found?.words ?? q;
|
|
125
|
+
const marking = useMemo(() => fold(words).split(" ").filter(Boolean), [words]);
|
|
126
|
+
/*
|
|
127
|
+
* WHAT CAN BE DONE ABOUT IT: the acts on a record, from the same matcher
|
|
128
|
+
* asked with that record as the subject — never subjectless, and only
|
|
129
|
+
* those this seat may run.
|
|
130
|
+
*/
|
|
131
|
+
const actsOf = useCallback((row) => row.hit.about === "node" ? actsOn(store, row.hit.id, words, { principal, limit: ACTS_MOST }).map((act, at) => ({ id: `${row.id}-act-${at}`, act, of: row.id })) : [], [store, words, principal]);
|
|
132
|
+
const lit = rows.find((row) => row.id === active);
|
|
133
|
+
const subject = rows.find((row) => row.id === shown) ?? lit ?? rows[0];
|
|
134
|
+
const panelActs = useMemo(() => (wide && recordOf(subject) ? actsOf(subject) : []), [wide, subject?.id, actsOf]);
|
|
135
|
+
const openActs = useMemo(() => {
|
|
136
|
+
if (wide)
|
|
137
|
+
return new Map();
|
|
138
|
+
return new Map(opened.flatMap((id) => {
|
|
139
|
+
const row = recordOf(rows.find((one) => one.id === id));
|
|
140
|
+
return row ? [[id, actsOf(row)]] : [];
|
|
141
|
+
}));
|
|
142
|
+
}, [wide, opened, rows, actsOf]);
|
|
143
|
+
// In a narrow strip, which records have acts to ask for: a "⋯" that opened on nothing would be offered and refused.
|
|
144
|
+
const hasActs = useMemo(() => {
|
|
145
|
+
if (wide)
|
|
146
|
+
return new Set();
|
|
147
|
+
return new Set(rows.flatMap((row) => (recordOf(row) && actsOf(row).length > 0 ? [row.id] : [])));
|
|
148
|
+
}, [wide, rows, actsOf]);
|
|
149
|
+
const actRows = useMemo(() => (wide ? panelActs : [...openActs.values()].flat()), [wide, panelActs, openActs]);
|
|
150
|
+
const current = lit ?? actRows.find((row) => row.id === active) ?? rows[0];
|
|
101
151
|
// A new answer starts at its first row, as a list does.
|
|
102
152
|
useEffect(() => {
|
|
103
153
|
setActive(null);
|
|
104
|
-
|
|
154
|
+
setShown(null);
|
|
155
|
+
setOpened([]);
|
|
105
156
|
}, [q]);
|
|
106
157
|
/*
|
|
107
158
|
* WHERE ENTER WENT, THE KEYS GO (the tenth walk). Into a kind or one of
|
|
@@ -164,22 +215,63 @@ export function FindBox({ compact = false }) {
|
|
|
164
215
|
waiting.setAttribute("aria-label", going);
|
|
165
216
|
waiting.focus({ preventScroll: true });
|
|
166
217
|
};
|
|
218
|
+
/*
|
|
219
|
+
* THE POINTER LIGHTS, IT DOES NOT MOVE ANYTHING. A row is lit by the
|
|
220
|
+
* pointer only when the pointer itself moved: a list scrolled, or drawn
|
|
221
|
+
* again, under a still pointer sends a mouse event at the same place, and
|
|
222
|
+
* that lit whatever row slid under it. And the panel follows the pointer a
|
|
223
|
+
* moment behind (`AIM`), so a pointer crossing rows on its way to an act
|
|
224
|
+
* in the panel finds the record it left still there.
|
|
225
|
+
*/
|
|
226
|
+
const pointer = useRef({ x: Number.NaN, y: Number.NaN, moved: false });
|
|
227
|
+
useEffect(() => {
|
|
228
|
+
const onMove = (event) => {
|
|
229
|
+
const at = pointer.current;
|
|
230
|
+
at.moved = event.clientX !== at.x || event.clientY !== at.y;
|
|
231
|
+
at.x = event.clientX;
|
|
232
|
+
at.y = event.clientY;
|
|
233
|
+
};
|
|
234
|
+
window.addEventListener("mousemove", onMove, { capture: true, passive: true });
|
|
235
|
+
return () => window.removeEventListener("mousemove", onMove, { capture: true });
|
|
236
|
+
}, []);
|
|
237
|
+
const aim = useRef(undefined);
|
|
238
|
+
useEffect(() => () => clearTimeout(aim.current), []);
|
|
239
|
+
/** Lights a row from the keyboard: the panel says it at once. */
|
|
167
240
|
const highlight = (row) => {
|
|
168
241
|
if (!row)
|
|
169
242
|
return;
|
|
243
|
+
clearTimeout(aim.current);
|
|
170
244
|
setActive(row.id);
|
|
171
|
-
if (
|
|
172
|
-
|
|
245
|
+
if (!isAct(row))
|
|
246
|
+
setShown(row.id);
|
|
247
|
+
};
|
|
248
|
+
/** Lights the row under a pointer that moved. */
|
|
249
|
+
const point = (event) => {
|
|
250
|
+
if (!pointer.current.moved)
|
|
173
251
|
return;
|
|
174
|
-
|
|
175
|
-
if (
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
252
|
+
const id = event.target.closest?.('[role="option"]')?.id;
|
|
253
|
+
if (!id || id === active)
|
|
254
|
+
return;
|
|
255
|
+
const row = rows.find((one) => one.id === id) ?? actRows.find((one) => one.id === id);
|
|
256
|
+
if (!row)
|
|
257
|
+
return;
|
|
258
|
+
setActive(row.id);
|
|
259
|
+
if (isAct(row))
|
|
260
|
+
return;
|
|
261
|
+
clearTimeout(aim.current);
|
|
262
|
+
aim.current = setTimeout(() => setShown(row.id), AIM);
|
|
263
|
+
};
|
|
264
|
+
/** Into the panel: whatever row the pointer crossed on its way, the record the panel says is the one lit. */
|
|
265
|
+
const settle = () => {
|
|
266
|
+
clearTimeout(aim.current);
|
|
267
|
+
if (subject && !isAct(current))
|
|
268
|
+
setActive(subject.id);
|
|
179
269
|
};
|
|
270
|
+
/** A record's acts, asked for under its row; asked again, put away. */
|
|
271
|
+
const toggle = (row) => setOpened((now) => (now.includes(row.id) ? now.filter((id) => id !== row.id) : [...now, row.id]));
|
|
180
272
|
/** How many rows a page of the strip is: what it shows at once, less one kept for context. */
|
|
181
273
|
const pageOf = (count) => {
|
|
182
|
-
const pane =
|
|
274
|
+
const pane = list.current;
|
|
183
275
|
const one = pane?.querySelector('[role="option"]')?.getBoundingClientRect().height ?? 0;
|
|
184
276
|
const room = pane?.clientHeight ?? 0;
|
|
185
277
|
return Math.min(count, one > 0 && room > 0 ? Math.max(1, Math.floor(room / one) - 1) : FIND_PAGE);
|
|
@@ -199,6 +291,23 @@ export function FindBox({ compact = false }) {
|
|
|
199
291
|
setOpen(false);
|
|
200
292
|
return;
|
|
201
293
|
}
|
|
294
|
+
if ("all" in row) {
|
|
295
|
+
// Every one the words found of the kind: into it, narrowed by the words, as the district's "N match" goes in.
|
|
296
|
+
setView((stop) => withJackIn(withOverview(stop, false), kindCardId(row.all), { ownPicture: true, ...(stop.q ? { carry: stop.q } : {}) }));
|
|
297
|
+
landOn.current = row.all;
|
|
298
|
+
setOpen(false);
|
|
299
|
+
return hold(row.all, `Opening ${pluralLabel(store.schema, row.all)} matching “${q.trim()}”…`);
|
|
300
|
+
}
|
|
301
|
+
if (isAct(row)) {
|
|
302
|
+
// The act lives in the menu on its subject, with its form and its preview.
|
|
303
|
+
const subjectId = row.act.subject;
|
|
304
|
+
setView((stop) => withSelection(stop, [subjectId]));
|
|
305
|
+
const box = input.current?.getBoundingClientRect();
|
|
306
|
+
setMenuAt({ x: box?.left ?? 0, y: (box?.bottom ?? 0) + 6, on: subjectId });
|
|
307
|
+
setOpen(false);
|
|
308
|
+
input.current?.blur();
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
202
311
|
const hit = row.hit;
|
|
203
312
|
switch (hit.about) {
|
|
204
313
|
case "node":
|
|
@@ -226,13 +335,8 @@ export function FindBox({ compact = false }) {
|
|
|
226
335
|
setView((stop) => withSelection(stop, [...new Set(named)]));
|
|
227
336
|
break;
|
|
228
337
|
}
|
|
229
|
-
case "act":
|
|
230
|
-
// The act lives in the menu on its subject, with its form and its preview.
|
|
231
|
-
setView((stop) => withSelection(stop, [hit.subject]));
|
|
232
|
-
const box = input.current?.getBoundingClientRect();
|
|
233
|
-
setMenuAt({ x: box?.left ?? 0, y: (box?.bottom ?? 0) + 6, on: hit.subject });
|
|
338
|
+
case "act":
|
|
234
339
|
break;
|
|
235
|
-
}
|
|
236
340
|
}
|
|
237
341
|
setOpen(false);
|
|
238
342
|
input.current?.blur();
|
|
@@ -266,76 +370,100 @@ export function FindBox({ compact = false }) {
|
|
|
266
370
|
},
|
|
267
371
|
...(compact ? { at: underTheBar } : {}),
|
|
268
372
|
});
|
|
373
|
+
const nothing = rows.every((row) => "ask" in row);
|
|
374
|
+
const actsOfRecord = (row) => (isAct(row) ? actRows.filter((one) => one.of === row.of) : []);
|
|
375
|
+
const onKeyDown = (event) => {
|
|
376
|
+
/*
|
|
377
|
+
* RECORD TO RECORD, ONE KEY EACH (the tenth walk). ↓ and ↑ walk the
|
|
378
|
+
* records; → goes into the acts of the one lit — the desk's panel, or
|
|
379
|
+
* opened under it in a narrow strip — and ← back to it. In the acts ↓
|
|
380
|
+
* and ↑ walk the acts.
|
|
381
|
+
*/
|
|
382
|
+
const inActs = isAct(current) && active !== null;
|
|
383
|
+
const from = inActs ? rows.find((row) => row.id === current.of) : active !== null ? lit : undefined;
|
|
384
|
+
// Nothing lit yet: the first ↓ lands on the first row, not the second.
|
|
385
|
+
const at = from ? rows.indexOf(from) : -1;
|
|
386
|
+
if (event.key === "ArrowDown") {
|
|
387
|
+
event.preventDefault();
|
|
388
|
+
setOpen(true);
|
|
389
|
+
if (inActs) {
|
|
390
|
+
const acts = actsOfRecord(current);
|
|
391
|
+
const next = acts.indexOf(current) + 1;
|
|
392
|
+
if (next < acts.length)
|
|
393
|
+
return highlight(acts[next]);
|
|
394
|
+
// Past the last act: under a row, the next record; in the panel, it stays.
|
|
395
|
+
if (wide)
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
highlight(rows[Math.min(rows.length - 1, at + 1)]);
|
|
399
|
+
}
|
|
400
|
+
else if (event.key === "ArrowUp") {
|
|
401
|
+
event.preventDefault();
|
|
402
|
+
if (inActs) {
|
|
403
|
+
const acts = actsOfRecord(current);
|
|
404
|
+
const back = acts.indexOf(current) - 1;
|
|
405
|
+
return highlight(back >= 0 ? acts[back] : from);
|
|
406
|
+
}
|
|
407
|
+
highlight(rows[Math.max(0, at - 1)]);
|
|
408
|
+
}
|
|
409
|
+
else if ((event.key === "PageDown" || event.key === "PageUp") && rows.length > 0) {
|
|
410
|
+
/*
|
|
411
|
+
* A PAGE OF RECORDS AT A TIME (the tenth walk): the strip's own
|
|
412
|
+
* height of them, so a hundred talks are ten keys and not a hundred.
|
|
413
|
+
* Home and End stay the words' own: the box is a field being written in.
|
|
414
|
+
*/
|
|
415
|
+
event.preventDefault();
|
|
416
|
+
setOpen(true);
|
|
417
|
+
const step = event.key === "PageDown" ? pageOf(rows.length) : -pageOf(rows.length);
|
|
418
|
+
highlight(rows[Math.min(rows.length - 1, Math.max(0, (at < 0 ? -1 : at) + step))]);
|
|
419
|
+
}
|
|
420
|
+
else if (event.key === "ArrowRight" && !inActs && recordOf(current)) {
|
|
421
|
+
const row = current;
|
|
422
|
+
const acts = wide ? (row.id === subject?.id ? panelActs : actsOf(row)) : (openActs.get(row.id) ?? actsOf(row));
|
|
423
|
+
if (acts.length === 0)
|
|
424
|
+
return;
|
|
425
|
+
event.preventDefault();
|
|
426
|
+
if (!wide && !opened.includes(row.id))
|
|
427
|
+
setOpened((now) => [...now, row.id]);
|
|
428
|
+
setShown(row.id);
|
|
429
|
+
setActive(acts[0].id);
|
|
430
|
+
}
|
|
431
|
+
else if (event.key === "ArrowLeft" && inActs) {
|
|
432
|
+
event.preventDefault();
|
|
433
|
+
const of = current.of;
|
|
434
|
+
if (!wide)
|
|
435
|
+
setOpened((now) => now.filter((id) => id !== of));
|
|
436
|
+
highlight(rows.find((row) => row.id === of));
|
|
437
|
+
}
|
|
438
|
+
else if (event.key === "Enter") {
|
|
439
|
+
event.preventDefault();
|
|
440
|
+
travel(current);
|
|
441
|
+
}
|
|
442
|
+
else if (event.key === "Escape") {
|
|
443
|
+
event.preventDefault();
|
|
444
|
+
// The words first; an empty box lets go of the keys.
|
|
445
|
+
if (q)
|
|
446
|
+
setView((stop) => withoutSearch(stop));
|
|
447
|
+
else
|
|
448
|
+
input.current?.blur();
|
|
449
|
+
}
|
|
450
|
+
};
|
|
451
|
+
const option = (row, body, extra = {}, props = {}) => {
|
|
452
|
+
const on = row.id === current?.id;
|
|
453
|
+
return (_jsx("div", { id: row.id, role: "option", "aria-selected": on, onClick: () => travel(row), style: { ...OPTION, ...(on ? LIT : null), ...extra }, ...props, children: body }, row.id));
|
|
454
|
+
};
|
|
455
|
+
const actOption = (row, under) => {
|
|
456
|
+
const on = row.id === current?.id;
|
|
457
|
+
return (_jsx("div", { id: row.id, role: "option", "aria-selected": on, "data-testid": "find-act", "data-about": "act", onClick: () => travel(row), style: { ...(under ? ACT_UNDER : ACT), ...(on ? ACT_LIT : null), ...(row.act.destructive ? { color: "var(--graview-warn)" } : null) }, children: row.act.title }, row.id));
|
|
458
|
+
};
|
|
269
459
|
return (_jsxs("div", { style: { position: "relative", minWidth: 0, flex: "1 1 auto" }, "data-testid": "find", children: [_jsx("input", { ref: (element) => {
|
|
270
460
|
input.current = element;
|
|
271
461
|
popover.trigger.ref(element);
|
|
272
462
|
}, "data-graview-popover-trigger": "find", type: "search", role: "combobox", "aria-label": "Find anything", "aria-expanded": expanded, "aria-controls": strip, "aria-autocomplete": "list", ...(expanded && current ? { "aria-activedescendant": current.id } : {}), "data-testid": "find-box", placeholder: "Find\u2026", "aria-keyshortcuts": "/ Meta+K Control+K", value: q, onChange: (event) => {
|
|
273
|
-
const
|
|
463
|
+
const typed = event.target.value;
|
|
274
464
|
setOpen(true);
|
|
275
|
-
setView((stop) => withQuery(stop,
|
|
276
|
-
}, onFocus: () => setOpen(true), onBlur: () => setOpen(false), onKeyDown:
|
|
277
|
-
// Nothing highlighted yet: the first ↓ lands on the first row, not the second.
|
|
278
|
-
const at = active !== null && current ? rows.indexOf(current) : -1;
|
|
279
|
-
/*
|
|
280
|
-
* RECORD TO RECORD, ONE KEY EACH (the tenth walk). A record lit
|
|
281
|
-
* unfolds its acts under it, and ↓ walked into them: five keys a
|
|
282
|
-
* record, and the gauntlet's longest title past the keyboard's
|
|
283
|
-
* reach. ↓ goes past the acts of the record lit; → goes into them,
|
|
284
|
-
* ← back to their record.
|
|
285
|
-
*/
|
|
286
|
-
const anAct = (row) => row !== undefined && !("ask" in row) && row.hit.about === "act";
|
|
287
|
-
const onRecord = at >= 0 && current !== undefined && !("ask" in current) && current.hit.about === "node";
|
|
288
|
-
if (event.key === "ArrowDown") {
|
|
289
|
-
event.preventDefault();
|
|
290
|
-
setOpen(true);
|
|
291
|
-
let next = at + 1;
|
|
292
|
-
if (onRecord)
|
|
293
|
-
while (next < rows.length - 1 && anAct(rows[next]))
|
|
294
|
-
next += 1;
|
|
295
|
-
highlight(rows[Math.min(rows.length - 1, next)]);
|
|
296
|
-
}
|
|
297
|
-
else if (event.key === "ArrowUp") {
|
|
298
|
-
event.preventDefault();
|
|
299
|
-
highlight(rows[Math.max(0, at - 1)]);
|
|
300
|
-
}
|
|
301
|
-
else if ((event.key === "PageDown" || event.key === "PageUp") && rows.length > 0) {
|
|
302
|
-
/*
|
|
303
|
-
* A PAGE OF RECORDS AT A TIME (the tenth walk): the strip's own
|
|
304
|
-
* height of them, past the acts unfolded under one, so a hundred
|
|
305
|
-
* talks are ten keys and not a hundred. Home and End stay the
|
|
306
|
-
* words' own: the box is a field being written in.
|
|
307
|
-
*/
|
|
308
|
-
event.preventDefault();
|
|
309
|
-
setOpen(true);
|
|
310
|
-
const records = rows.flatMap((row, index) => (anAct(row) ? [] : [index]));
|
|
311
|
-
const from = Math.max(0, records.findIndex((index) => index >= Math.max(at, 0)));
|
|
312
|
-
const step = event.key === "PageDown" ? pageOf(rows.length) : -pageOf(rows.length);
|
|
313
|
-
highlight(rows[records[Math.min(records.length - 1, Math.max(0, (at < 0 ? -1 : from) + step))]]);
|
|
314
|
-
}
|
|
315
|
-
else if (event.key === "ArrowRight" && onRecord && anAct(rows[at + 1])) {
|
|
316
|
-
event.preventDefault();
|
|
317
|
-
highlight(rows[at + 1]);
|
|
318
|
-
}
|
|
319
|
-
else if (event.key === "ArrowLeft" && anAct(current)) {
|
|
320
|
-
event.preventDefault();
|
|
321
|
-
let back = at - 1;
|
|
322
|
-
while (back > 0 && anAct(rows[back]))
|
|
323
|
-
back -= 1;
|
|
324
|
-
highlight(rows[back]);
|
|
325
|
-
}
|
|
326
|
-
else if (event.key === "Enter") {
|
|
327
|
-
event.preventDefault();
|
|
328
|
-
travel(current);
|
|
329
|
-
}
|
|
330
|
-
else if (event.key === "Escape") {
|
|
331
|
-
event.preventDefault();
|
|
332
|
-
// The words first; an empty box lets go of the keys.
|
|
333
|
-
if (q)
|
|
334
|
-
setView((stop) => withoutSearch(stop));
|
|
335
|
-
else
|
|
336
|
-
input.current?.blur();
|
|
337
|
-
}
|
|
338
|
-
}, style: {
|
|
465
|
+
setView((stop) => withQuery(stop, typed.length > 0 ? typed : null));
|
|
466
|
+
}, onFocus: () => setOpen(true), onBlur: () => setOpen(false), onKeyDown: onKeyDown, style: {
|
|
339
467
|
width: "100%",
|
|
340
468
|
boxSizing: "border-box",
|
|
341
469
|
minWidth: 0,
|
|
@@ -348,35 +476,136 @@ export function FindBox({ compact = false }) {
|
|
|
348
476
|
background: "var(--graview-panel)",
|
|
349
477
|
border: `1px solid ${q ? "var(--graview-accent)" : "var(--graview-edge)"}`,
|
|
350
478
|
borderRadius: 8,
|
|
351
|
-
} }), _jsx("span", { role: "status", "aria-live": "polite", style: VISUALLY_HIDDEN, "data-testid": "find-count", children: q.trim() ? announce : "" }), _jsx("span", { ref: holder, tabIndex: -1, role: "status", style: VISUALLY_HIDDEN, "data-testid": "find-landing" }), _jsxs("div", { ...popover.pane, id: strip, role: "listbox", "aria-label": q ? `What “${q}” finds` : "What the words find", "data-testid": "find-strip", hidden: !expanded,
|
|
479
|
+
} }), _jsx("span", { role: "status", "aria-live": "polite", style: VISUALLY_HIDDEN, "data-testid": "find-count", children: q.trim() ? announce : "" }), _jsx("span", { ref: holder, tabIndex: -1, role: "status", style: VISUALLY_HIDDEN, "data-testid": "find-landing" }), _jsxs("div", { ...popover.pane, id: strip, role: "listbox", "aria-label": q ? `What “${q}” finds` : "What the words find", "data-testid": "find-strip", "data-graview-find": wide ? "panel" : "narrow", hidden: !expanded,
|
|
352
480
|
// Mousedown on a row must not blur the box before the click lands.
|
|
353
|
-
onMouseDown: (event) => event.preventDefault(),
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
481
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
482
|
+
// Shown, it is a column — the list, the panel beside it, the keys under them; put away, the popover's own rule hides it.
|
|
483
|
+
style: { ...STRIP, ...(compact ? SHEET : wide && !nothing ? WIDE : null), ...(expanded ? { display: "flex" } : null) }, children: [_jsxs("div", { style: { ...BODY, gridTemplateColumns: wide && !nothing ? `minmax(0, 1fr) ${PANEL_WIDTH}` : "minmax(0, 1fr)" }, children: [_jsxs("div", { ref: list, role: "presentation", "data-testid": "find-list", onMouseMove: point, style: LIST, children: [nothing ? (_jsxs("p", { role: "presentation", style: { margin: 0, padding: "10px 12px", color: "var(--graview-ink-muted)", fontSize: "0.875rem" }, "data-testid": "find-nothing", children: ["Nothing here is called \u201C", found?.words || q, "\u201D."] })) : (groups.map((group) => (_jsxs("div", { role: "group", "aria-label": headingOf(group.key, store.schema), children: [_jsxs("div", { role: "presentation", style: HEADING, children: [group.key !== "rule:" && group.key !== "act:" ? _jsx(Mark, { kind: group.key, accents: brand?.accents }) : null, _jsx("span", { style: { minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: headingOf(group.key, store.schema) }), _jsx("span", { "aria-hidden": "true", style: COUNT, "data-testid": "find-group-count", children: numberAsRead(group.count) })] }), group.rows.map((row) => {
|
|
484
|
+
const hit = row.hit;
|
|
485
|
+
const record = hit.about === "node" ? hit : null;
|
|
486
|
+
const asks = !wide && record !== null && hasActs.has(row.id);
|
|
487
|
+
const under = openActs.get(row.id);
|
|
488
|
+
return (_jsxs(Fragment, { children: [option(row, _jsxs(_Fragment, { children: [_jsx(HitLine, { hit: hit, flag: flag, words: record?.near && record.why.matched ? [...marking, fold(record.why.matched)] : marking }), asks ? (_jsx("span", { "aria-hidden": "true", "data-testid": "find-acts-open", "data-open": under ? "" : undefined, title: under ? "Put its actions away" : "Actions", onClick: (event) => {
|
|
489
|
+
event.stopPropagation();
|
|
490
|
+
toggle(row);
|
|
491
|
+
}, style: { ...MORE, ...(under ? MORE_OPEN : null) }, children: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", "aria-hidden": "true", children: [_jsx("circle", { cx: "3.5", cy: "8", r: "1.4", fill: "currentColor" }), _jsx("circle", { cx: "8", cy: "8", r: "1.4", fill: "currentColor" }), _jsx("circle", { cx: "12.5", cy: "8", r: "1.4", fill: "currentColor" })] }) })) : null] }), asks ? { paddingRight: 48 } : {}, {
|
|
492
|
+
"data-testid": "find-hit",
|
|
493
|
+
"data-about": hit.about,
|
|
494
|
+
...(record?.near ? { "data-near": "" } : {}),
|
|
495
|
+
title: titleOf(hit),
|
|
496
|
+
}), under ? (_jsx("div", { role: "group", "aria-label": `What can be done about ${record?.label ?? "it"}`, style: UNDER, children: under.map((act) => actOption(act, true)) })) : null] }, row.id));
|
|
497
|
+
}), group.more
|
|
498
|
+
? option(group.more, _jsxs("span", { style: ONE_LINE, children: ["All ", numberAsRead(group.more.count), " ", pluralOf(store.schema, group.more.all).toLowerCase(), " matching \u201C", q.trim(), "\u201D"] }), ALL, { "data-testid": "find-all", "data-about": "all" })
|
|
499
|
+
: null] }, group.key)))), asking ? option(asking, _jsxs("span", { style: ONE_LINE, children: ["Ask: ", _jsxs("span", { style: { fontWeight: 600 }, children: ["\u2018", asking.ask, "\u2019"] })] }), { borderTop: "1px solid var(--graview-edge)", marginTop: 4 }, { "data-testid": "find-ask" }) : null, manyFound > MANY_FOUND ? (_jsxs("p", { role: "presentation", style: NOTE, "data-testid": "find-more-words", children: [numberAsRead(manyFound), " found: another word of the name narrows them."] })) : null, found && found.searched.past === false && found.searched.kinds.some((kind) => store.schema.tryDefinition(kind)?.lifecycle) ? (_jsx("p", { role: "presentation", style: NOTE, children: "Current ones; add is:any for the past." })) : null] }), wide && !nothing && subject ? (_jsxs("div", { role: "group", "aria-label": "The one lit", "data-testid": "find-panel", onMouseEnter: settle, onMouseMove: point, style: PANEL, children: [_jsx(Said, { row: subject, schema: store.schema, accents: brand?.accents, marking: marking, q: q.trim(), flag: flag }), panelActs.length > 0 ? (_jsxs("div", { role: "group", "aria-label": "Actions", style: { display: "grid", gap: 4 }, children: [_jsx("div", { role: "presentation", style: { ...HEADING, padding: "10px 0 4px" }, children: "Actions" }), panelActs.map((act) => actOption(act, false))] })) : null] })) : null] }), compact ? null : (_jsxs("div", { "aria-hidden": "true", style: FOOT, "data-testid": "find-keys", children: [_jsxs("span", { children: [_jsx("kbd", { style: KBD, children: "\u2191" }), _jsx("kbd", { style: KBD, children: "\u2193" }), " move"] }), _jsxs("span", { children: [_jsx("kbd", { style: KBD, children: "\u21B5" }), " open"] }), _jsxs("span", { children: [_jsx("kbd", { style: KBD, children: "\u2192" }), " actions"] }), _jsxs("span", { children: [_jsx("kbd", { style: KBD, children: "esc" }), " close"] })] }))] })] }));
|
|
500
|
+
}
|
|
501
|
+
/** The row lit, said whole in the desk's panel: what it is, its name, and why the words found it. */
|
|
502
|
+
function Said({ row, schema, accents, marking, q, flag }) {
|
|
503
|
+
let kind = null;
|
|
504
|
+
let over = "";
|
|
505
|
+
let name;
|
|
506
|
+
let lines = null;
|
|
507
|
+
if ("ask" in row) {
|
|
508
|
+
over = "Ask";
|
|
509
|
+
name = `‘${row.ask}’`;
|
|
510
|
+
lines = _jsx("p", { style: PANEL_LINE, children: "Asks it of what is selected; the answer comes on a card beside it." });
|
|
511
|
+
}
|
|
512
|
+
else if ("all" in row) {
|
|
513
|
+
kind = row.all;
|
|
514
|
+
over = pluralLabel(schema, row.all);
|
|
515
|
+
name = `All ${numberAsRead(row.count)} matching “${q}”`;
|
|
516
|
+
lines = _jsxs("p", { style: PANEL_LINE, children: ["Opens the ", pluralOf(schema, row.all).toLowerCase(), ", narrowed by these words."] });
|
|
517
|
+
}
|
|
518
|
+
else {
|
|
519
|
+
const hit = row.hit;
|
|
520
|
+
switch (hit.about) {
|
|
521
|
+
case "node": {
|
|
522
|
+
kind = hit.kind;
|
|
523
|
+
over = capitalized(nounOf(schema.tryDefinition(hit.kind), hit.kind));
|
|
524
|
+
name = (_jsxs(_Fragment, { children: [hit.flagged ? _jsxs("span", { style: { color: "var(--graview-warn)" }, children: [flag, " "] }) : null, _jsx(Marked, { text: hit.label, words: marking })] }));
|
|
525
|
+
const notes = [hit.apart, hit.current ? null : "past", hit.archived ? "set aside" : null].filter(Boolean).join(" · ");
|
|
526
|
+
lines = (_jsxs(_Fragment, { children: [notes ? _jsx("p", { style: PANEL_LINE, children: capitalized(notes) }) : null, hit.near ? (_jsxs("p", { style: PANEL_LINE, children: ["Near \u201C", hit.why.asked, "\u201D", hit.why.field !== "label" ? ` — ${hit.why.reading.toLowerCase()}: ${hit.why.fragment}` : ""] })) : hit.why.field !== "label" ? (_jsxs("p", { style: PANEL_LINE, children: [_jsx("span", { style: { color: "var(--graview-ink-faint)" }, children: hit.why.reading }), _jsx("br", {}), _jsx(Marked, { text: hit.why.fragment, words: marking })] })) : null] }));
|
|
527
|
+
break;
|
|
528
|
+
}
|
|
529
|
+
case "kind":
|
|
530
|
+
kind = hit.kind;
|
|
531
|
+
over = "Kind";
|
|
532
|
+
name = hit.label;
|
|
533
|
+
lines = _jsxs("p", { style: PANEL_LINE, children: ["Goes into the ", hit.label.toLowerCase(), ", all of them", hit.count > 0 ? `; ${numberAsRead(hit.count)} match these words` : "", "."] });
|
|
534
|
+
break;
|
|
535
|
+
case "place":
|
|
536
|
+
kind = hit.kind;
|
|
537
|
+
over = "Place";
|
|
538
|
+
name = hit.title;
|
|
539
|
+
lines = _jsxs("p", { style: PANEL_LINE, children: ["A picture of the ", pluralOf(schema, hit.kind).toLowerCase(), "."] });
|
|
540
|
+
break;
|
|
541
|
+
case "rule":
|
|
542
|
+
over = "Rule";
|
|
543
|
+
name = hit.label;
|
|
544
|
+
lines = _jsx("p", { style: PANEL_LINE, children: "Selects what it flags." });
|
|
545
|
+
break;
|
|
546
|
+
case "act":
|
|
547
|
+
over = "Act";
|
|
548
|
+
name = hit.title;
|
|
549
|
+
break;
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
return (_jsxs("div", { role: "presentation", "data-testid": "find-said", style: { display: "grid", gap: 6 }, children: [_jsxs("div", { style: { ...HEADING, padding: 0 }, children: [kind ? _jsx(Mark, { kind: kind, accents: accents }) : null, over] }), _jsx("div", { style: PANEL_NAME, children: name }), lines] }));
|
|
363
553
|
}
|
|
364
|
-
function HitLine({ hit, flag }) {
|
|
554
|
+
function HitLine({ hit, flag, words }) {
|
|
365
555
|
switch (hit.about) {
|
|
366
556
|
case "node":
|
|
367
|
-
return (_jsxs(_Fragment, { children: [_jsxs("span", { style:
|
|
557
|
+
return (_jsxs(_Fragment, { children: [_jsxs("span", { style: TITLE, children: [hit.flagged ? _jsxs("span", { style: { color: "var(--graview-warn)" }, children: [flag, " "] }) : null, _jsx(Marked, { text: hit.label, words: words }), hit.apart ? _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.apart] }) : null, hit.current ? null : _jsx("span", { style: MUTED, children: " \u00B7 past" })] }), hit.near ? (
|
|
368
558
|
// Found by a word near the one typed, and said so: "Near “florist” — tags: flowers".
|
|
369
|
-
_jsxs("span", { style: MUTED, "data-testid": "find-near", children: ["Near \u201C", hit.why.asked, "\u201D", hit.why.field !== "label" ? ` — ${hit.why.reading.toLowerCase()}:
|
|
559
|
+
_jsxs("span", { style: { ...ONE_LINE, ...MUTED }, "data-testid": "find-near", children: ["Near \u201C", hit.why.asked, "\u201D", hit.why.field !== "label" ? ` — ${hit.why.reading.toLowerCase()}: ` : "", hit.why.field !== "label" ? _jsx(Marked, { text: hit.why.fragment, words: words }) : null] })) : hit.why.field !== "label" ? (_jsxs("span", { style: { ...ONE_LINE, ...MUTED }, children: [hit.why.reading.toLowerCase(), ": ", _jsx(Marked, { text: hit.why.fragment, words: words })] })) : null] }));
|
|
370
560
|
case "kind":
|
|
371
|
-
return (_jsxs("span", { children: [hit.label, _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.count, " match"] })] }));
|
|
561
|
+
return (_jsxs("span", { style: ONE_LINE, children: [_jsx(Marked, { text: hit.label, words: words }), _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.count, " match"] })] }));
|
|
372
562
|
case "place":
|
|
373
|
-
return _jsxs("span", { children: ["Go to ", hit.title] });
|
|
563
|
+
return (_jsxs("span", { style: ONE_LINE, children: ["Go to ", _jsx(Marked, { text: hit.title, words: words })] }));
|
|
374
564
|
case "rule":
|
|
375
|
-
return _jsxs("span", { children: ["The rule \u201C", hit.label, "\u201D"] });
|
|
565
|
+
return (_jsxs("span", { style: ONE_LINE, children: ["The rule \u201C", _jsx(Marked, { text: hit.label, words: words }), "\u201D"] }));
|
|
376
566
|
case "act":
|
|
377
|
-
return (
|
|
567
|
+
return _jsx("span", { style: ONE_LINE, children: hit.title });
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* THE WORDS THAT MATCHED, MARKED: each word of the text that a word typed
|
|
572
|
+
* begins — "track" in "on-site tracking" — as the matcher reads them, case
|
|
573
|
+
* and accents aside, so the mark is where the match was.
|
|
574
|
+
*/
|
|
575
|
+
function markedParts(text, words) {
|
|
576
|
+
if (words.length === 0)
|
|
577
|
+
return [{ text }];
|
|
578
|
+
const parts = [];
|
|
579
|
+
let last = 0;
|
|
580
|
+
for (const match of text.matchAll(/[\p{L}\p{N}]+/gu)) {
|
|
581
|
+
const token = match[0];
|
|
582
|
+
const folded = fold(token).replace(/ /g, "");
|
|
583
|
+
const word = words.filter((one) => folded.startsWith(one)).sort((a, b) => b.length - a.length)[0];
|
|
584
|
+
if (!word)
|
|
585
|
+
continue;
|
|
586
|
+
// Where folding kept its length, the letters typed; where it did not (a ligature, a dotted I), the whole word.
|
|
587
|
+
const length = folded.length === token.length ? word.length : token.length;
|
|
588
|
+
const start = match.index ?? 0;
|
|
589
|
+
if (start > last)
|
|
590
|
+
parts.push({ text: text.slice(last, start) });
|
|
591
|
+
parts.push({ text: token.slice(0, length), marked: true });
|
|
592
|
+
last = start + length;
|
|
378
593
|
}
|
|
594
|
+
if (last < text.length)
|
|
595
|
+
parts.push({ text: text.slice(last) });
|
|
596
|
+
return parts;
|
|
597
|
+
}
|
|
598
|
+
function Marked({ text, words }) {
|
|
599
|
+
return (_jsx(_Fragment, { children: markedParts(text, words).map((part, at) => part.marked ? (_jsx("mark", { style: MARK, children: part.text }, at)) : (_jsx(Fragment, { children: part.text }, at))) }));
|
|
600
|
+
}
|
|
601
|
+
/** A row's whole text, for the pointer that rests on one cut short. */
|
|
602
|
+
function titleOf(hit) {
|
|
603
|
+
if (hit.about !== "node")
|
|
604
|
+
return "";
|
|
605
|
+
const why = hit.near ? `Near “${hit.why.asked}”` : hit.why.field !== "label" ? `${hit.why.reading}: ${hit.why.fragment}` : "";
|
|
606
|
+
return why ? `${hit.label}\n${why}` : hit.label;
|
|
379
607
|
}
|
|
608
|
+
const capitalized = (text) => (text ? text[0].toUpperCase() + text.slice(1) : text);
|
|
380
609
|
function Mark({ kind, accents }) {
|
|
381
610
|
const hue = Math.round(hueFor(kind, accents));
|
|
382
611
|
return _jsx("span", { "aria-hidden": "true", style: { width: 8, height: 8, borderRadius: 2, flex: "0 0 auto", background: `hsl(${hue} 55% 52%)` } });
|
|
@@ -386,8 +615,7 @@ function headingOf(key, schema) {
|
|
|
386
615
|
return "Rules";
|
|
387
616
|
if (key === "act:")
|
|
388
617
|
return "Acts";
|
|
389
|
-
|
|
390
|
-
return definition?.plural ?? `${key}s`;
|
|
618
|
+
return pluralLabel(schema, key);
|
|
391
619
|
}
|
|
392
620
|
/** "3 tasks, 1 list" — what a screen reader hears as the count changes. */
|
|
393
621
|
function spoken(byKind, hits, schema) {
|
|
@@ -404,21 +632,34 @@ function spoken(byKind, hits, schema) {
|
|
|
404
632
|
const FIND_PAGE = 10;
|
|
405
633
|
/** From how many records an answer asks for another word rather than being walked. */
|
|
406
634
|
const MANY_FOUND = 12;
|
|
635
|
+
/** Where several kinds share the strip, how many of each it shows before "All N …". */
|
|
636
|
+
const GROUP_CAP = 5;
|
|
637
|
+
/** How many acts a record offers in the strip; the rest are in its menu. */
|
|
638
|
+
const ACTS_MOST = 6;
|
|
639
|
+
/** How long the panel waits on a pointer crossing rows before it says the row lit (ms). */
|
|
640
|
+
const AIM = 140;
|
|
641
|
+
/** From what viewport width the strip has room for the panel beside the list. */
|
|
642
|
+
const WIDE_FROM = 760;
|
|
643
|
+
const PANEL_WIDTH = "15.5rem";
|
|
407
644
|
const STRIP = {
|
|
408
645
|
...POPOVER_STYLE,
|
|
646
|
+
flexDirection: "column",
|
|
409
647
|
width: "min(26rem, calc(100vw - 24px))",
|
|
410
|
-
maxHeight: "min(
|
|
411
|
-
|
|
648
|
+
maxHeight: "min(64vh, 30rem)",
|
|
649
|
+
overflow: "hidden",
|
|
412
650
|
boxSizing: "border-box",
|
|
413
|
-
|
|
651
|
+
// The panel's color over the ground's: where the scheme's panel is a glass, the picture behind does not read through the words.
|
|
652
|
+
background: "linear-gradient(var(--graview-panel), var(--graview-panel)) var(--graview-ground, var(--graview-panel))",
|
|
414
653
|
borderTop: "1px solid var(--graview-edge)",
|
|
415
654
|
borderRight: "1px solid var(--graview-edge)",
|
|
416
655
|
borderBottom: "1px solid var(--graview-edge)",
|
|
417
656
|
borderLeft: "1px solid var(--graview-edge)",
|
|
418
657
|
borderRadius: 10,
|
|
419
658
|
boxShadow: "0 10px 28px rgb(0 0 0 / 0.18)",
|
|
420
|
-
padding:
|
|
659
|
+
padding: 0,
|
|
421
660
|
};
|
|
661
|
+
/** On a desk, room for the panel beside the list. */
|
|
662
|
+
const WIDE = { width: "min(42rem, calc(100vw - 24px))" };
|
|
422
663
|
/** The gap `useTopLayer` leaves under an anchor, taken back so the sheet meets the bar's edge. */
|
|
423
664
|
const SHEET_GAP = 6;
|
|
424
665
|
/** On a phone's bar the strip is a sheet under the bar, the bar's own width (`--graview-bar-width`, the screen's where no bar says it). */
|
|
@@ -429,26 +670,127 @@ const SHEET = {
|
|
|
429
670
|
borderLeft: "none",
|
|
430
671
|
borderRight: "none",
|
|
431
672
|
};
|
|
673
|
+
const BODY = { display: "grid", gridTemplateRows: "minmax(0, 1fr)", flex: "1 1 auto", minHeight: 0 };
|
|
674
|
+
const LIST = { overflowY: "auto", overflowX: "hidden", minHeight: 0, padding: "4px 0", overscrollBehavior: "contain" };
|
|
675
|
+
const PANEL = {
|
|
676
|
+
overflowY: "auto",
|
|
677
|
+
minHeight: 0,
|
|
678
|
+
padding: "12px 14px",
|
|
679
|
+
borderLeft: "1px solid var(--graview-edge)",
|
|
680
|
+
background: "var(--graview-panel-muted)",
|
|
681
|
+
display: "flex",
|
|
682
|
+
flexDirection: "column",
|
|
683
|
+
gap: 4,
|
|
684
|
+
};
|
|
685
|
+
const PANEL_NAME = { fontWeight: 600, fontSize: "0.9375rem", lineHeight: 1.35, color: "var(--graview-ink)", overflowWrap: "anywhere" };
|
|
686
|
+
const PANEL_LINE = { margin: 0, fontSize: "0.8125rem", lineHeight: 1.45, color: "var(--graview-ink-muted)", overflowWrap: "anywhere" };
|
|
432
687
|
const HEADING = {
|
|
433
688
|
display: "flex",
|
|
434
689
|
alignItems: "center",
|
|
435
690
|
gap: 6,
|
|
436
|
-
padding: "
|
|
691
|
+
padding: "10px 12px 4px",
|
|
437
692
|
fontSize: "0.6875rem",
|
|
693
|
+
fontWeight: 600,
|
|
438
694
|
letterSpacing: "0.06em",
|
|
439
695
|
textTransform: "uppercase",
|
|
440
696
|
color: "var(--graview-ink-muted)",
|
|
441
697
|
};
|
|
698
|
+
const COUNT = { marginLeft: "auto", fontWeight: 400, letterSpacing: 0, fontVariantNumeric: "tabular-nums", color: "var(--graview-ink-faint)" };
|
|
442
699
|
const OPTION = {
|
|
700
|
+
position: "relative",
|
|
443
701
|
display: "grid",
|
|
444
702
|
gap: 1,
|
|
445
|
-
minHeight:
|
|
703
|
+
minHeight: 34,
|
|
446
704
|
padding: "5px 12px",
|
|
447
705
|
alignContent: "center",
|
|
448
706
|
cursor: "pointer",
|
|
449
707
|
fontSize: "0.875rem",
|
|
450
708
|
lineHeight: 1.35,
|
|
451
709
|
color: "var(--graview-ink)",
|
|
710
|
+
minWidth: 0,
|
|
711
|
+
};
|
|
712
|
+
/** The row lit: a wash and a bar at its edge, in the app's accent. */
|
|
713
|
+
const LIT = { background: "color-mix(in srgb, var(--graview-accent) 12%, var(--graview-panel))", boxShadow: "inset 3px 0 0 var(--graview-accent)" };
|
|
714
|
+
const ALL = { color: "var(--graview-accent)", fontSize: "0.8125rem", minHeight: 30 };
|
|
715
|
+
const ONE_LINE = { display: "block", minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" };
|
|
716
|
+
/** A record's name: two lines at most, so a long name still shows the word that found it, and never more, so no row is a paragraph. */
|
|
717
|
+
const TITLE = {
|
|
718
|
+
display: "-webkit-box",
|
|
719
|
+
WebkitBoxOrient: "vertical",
|
|
720
|
+
WebkitLineClamp: 2,
|
|
721
|
+
minWidth: 0,
|
|
722
|
+
overflow: "hidden",
|
|
723
|
+
overflowWrap: "anywhere",
|
|
724
|
+
fontWeight: 600,
|
|
452
725
|
};
|
|
453
726
|
const MUTED = { color: "var(--graview-ink-muted)", fontSize: "0.8125rem", fontWeight: 400 };
|
|
727
|
+
const MARK = {
|
|
728
|
+
background: "color-mix(in srgb, var(--graview-accent) 24%, transparent)",
|
|
729
|
+
color: "inherit",
|
|
730
|
+
borderRadius: 2,
|
|
731
|
+
padding: 0,
|
|
732
|
+
boxShadow: "0 1px 0 color-mix(in srgb, var(--graview-accent) 70%, transparent)",
|
|
733
|
+
};
|
|
734
|
+
const ACT = {
|
|
735
|
+
display: "flex",
|
|
736
|
+
alignItems: "center",
|
|
737
|
+
minHeight: 32,
|
|
738
|
+
padding: "4px 10px",
|
|
739
|
+
boxSizing: "border-box",
|
|
740
|
+
borderWidth: 1,
|
|
741
|
+
borderStyle: "solid",
|
|
742
|
+
borderColor: "var(--graview-edge)",
|
|
743
|
+
borderRadius: 6,
|
|
744
|
+
background: "var(--graview-panel)",
|
|
745
|
+
color: "var(--graview-ink)",
|
|
746
|
+
fontSize: "0.8125rem",
|
|
747
|
+
lineHeight: 1.3,
|
|
748
|
+
cursor: "pointer",
|
|
749
|
+
overflowWrap: "anywhere",
|
|
750
|
+
};
|
|
751
|
+
const ACT_UNDER = { ...ACT, minHeight: 32, margin: "0 12px 4px 24px" };
|
|
752
|
+
const ACT_LIT = { borderColor: "var(--graview-accent)", boxShadow: "inset 0 0 0 1px var(--graview-accent)", background: "color-mix(in srgb, var(--graview-accent) 12%, var(--graview-panel))" };
|
|
753
|
+
const UNDER = { display: "grid", padding: "2px 0 6px" };
|
|
754
|
+
/** A narrow strip's "⋯": its acts, asked for. Over the row's end, in room the row keeps for it, so the row's words never run under it. */
|
|
755
|
+
const MORE = {
|
|
756
|
+
position: "absolute",
|
|
757
|
+
top: "50%",
|
|
758
|
+
right: 6,
|
|
759
|
+
transform: "translateY(-50%)",
|
|
760
|
+
width: 36,
|
|
761
|
+
height: 32,
|
|
762
|
+
display: "grid",
|
|
763
|
+
placeItems: "center",
|
|
764
|
+
borderRadius: 6,
|
|
765
|
+
color: "var(--graview-ink-muted)",
|
|
766
|
+
borderWidth: 1,
|
|
767
|
+
borderStyle: "solid",
|
|
768
|
+
borderColor: "transparent",
|
|
769
|
+
};
|
|
770
|
+
const MORE_OPEN = { color: "var(--graview-accent)", borderColor: "var(--graview-edge)", background: "var(--graview-panel)" };
|
|
771
|
+
const NOTE = { margin: 0, padding: "6px 12px 4px", color: "var(--graview-ink-faint)", fontSize: "0.75rem" };
|
|
772
|
+
const FOOT = {
|
|
773
|
+
display: "flex",
|
|
774
|
+
flexWrap: "wrap",
|
|
775
|
+
gap: "4px 14px",
|
|
776
|
+
padding: "7px 12px",
|
|
777
|
+
borderTop: "1px solid var(--graview-edge)",
|
|
778
|
+
color: "var(--graview-ink-faint)",
|
|
779
|
+
fontSize: "0.75rem",
|
|
780
|
+
flex: "0 0 auto",
|
|
781
|
+
};
|
|
782
|
+
const KBD = {
|
|
783
|
+
display: "inline-block",
|
|
784
|
+
minWidth: 16,
|
|
785
|
+
padding: "0 4px",
|
|
786
|
+
marginRight: 3,
|
|
787
|
+
border: "1px solid var(--graview-edge)",
|
|
788
|
+
borderRadius: 4,
|
|
789
|
+
font: "inherit",
|
|
790
|
+
fontSize: "0.6875rem",
|
|
791
|
+
lineHeight: "16px",
|
|
792
|
+
textAlign: "center",
|
|
793
|
+
color: "var(--graview-ink-muted)",
|
|
794
|
+
background: "var(--graview-panel)",
|
|
795
|
+
};
|
|
454
796
|
//# sourceMappingURL=find.js.map
|
package/dist/find.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAA4B,MAAM,eAAe,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAoH,MAAM,OAAO,CAAC;AAC7M,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErE,sFAAsF;AACtF,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AA0EpC,MAAM,KAAK,GAAG,CAAC,GAAuB,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,IAAI,GAAG,CAAC;AAC5F,MAAM,QAAQ,GAAG,CAAC,GAAuB,EAAmB,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEjJ,iFAAiF;AACjF,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEjH,4EAA4E;AAC5E,SAAS,OAAO,CAAC,OAAgB;IAC/B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;IACtF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,CAAsB,EAAE,OAAO,GAAG,KAAK,EAAkC;IAC9F,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAK,CAAC;IACjG,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,aAAa,EAAK,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC1C,8EAA8E;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;IACtB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,2CAA2C;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,+GAA+G;IAC/G,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,uFAAuF;IACvF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvB;;;;;;;;;OASG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,CAAC,KAAoB,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,gBAAgB;gBAAE,OAAO;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACrF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;gBAAE,OAAO;YAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,KAAK,QAAQ,CAAC,IAAI,IAAI,MAAM,KAAK,QAAQ,CAAC,eAAe,IAAI,MAAM,KAAK,MAAM,CAAC;YACrG,0HAA0H;YAC1H,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,YAAY,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC/F,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC;YAClC,MAAM,OAAO,GACX,EAAE,YAAY,gBAAgB;gBAC9B,EAAE,YAAY,mBAAmB;gBACjC,EAAE,YAAY,iBAAiB;gBAC/B,CAAC,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;YACtD,IAAI,KAAK,IAAI,OAAO;gBAAE,OAAO;YAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,8DAA8D;YAC9D,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,GAAG,CAAC,OAAO,CAAc,wBAAwB,CAAC,EAAE,aAAa,CAAoB,+BAA+B,CAAC,EAAE,KAAK,EAAE,CAAC;YACtK,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;;;OAKG;IACH,MAAM,MAAM,GAAG,OAAO,CAAmB,GAAG,EAAE;QAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;QACtC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK;gBAAE,SAAS;YAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7G,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;YAChD,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;YACrG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;YACrE,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,QAAQ,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACnB,MAAM,MAAM,GAAkB,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9F,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9I,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CACtB,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACnF,qEAAqE;IACrE,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/E;;;;OAIG;IACH,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,GAAQ,EAAqB,EAAE,CAC9B,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EACtK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1B,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACxH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,IAAI;YAAE,OAAO,IAAI,GAAG,EAA6B,CAAC;QACtD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjC,oHAAoH;IACpH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,IAAI,IAAI;YAAE,OAAO,IAAI,GAAG,EAAU,CAAC;QACnC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1G,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,OAAO,CAAoB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClI,MAAM,OAAO,GAAuB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAE/F,wDAAwD;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAER;;;;;;OAMG;IACH,MAAM,MAAM,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAc,iCAAiC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzG,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC;YAClC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,EAAE,KAAK,QAAQ,CAAC,eAAe,IAAI,EAAE,KAAK,KAAK,CAAC,OAAO,IAAI,EAAE,KAAK,MAAM,CAAC,OAAO,IAAI,EAAE,KAAK,KAAK,CAAC;YAC7I,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,yGAAyG;YACzG,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAc,yDAAyD,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACzK,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD;;;;;;;eAOG;YACH,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK;gBAAE,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACvF,IAAI,EAAE,MAAM,GAAG,GAAG;gBAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAChD,wFAAwF;iBACnF,IAAI,QAAQ,CAAC,aAAa,KAAK,MAAM,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7E,CAAC,CAAC;QACF,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX;;;;;;;;OAQG;IACH,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAc,iCAAiC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzG,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,OAAO,GAAG,MAAM,CAA2C,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACjH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,CAAC,KAAiB,EAAE,EAAE;YACnC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAC3B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5D,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACrB,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,GAAG,GAAG,MAAM,CAA4C,SAAS,CAAC,CAAC;IACzE,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAErD,iEAAiE;IACjE,MAAM,SAAS,GAAG,CAAC,GAAuB,EAAE,EAAE;QAC5C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,iDAAiD;IACjD,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAE,EAAE;QACvC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO;QACnC,MAAM,EAAE,GAAI,KAAK,CAAC,MAAkB,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,MAAM;YAAE,OAAO;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO;QACvB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,6GAA6G;IAC7G,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,uEAAuE;IACvE,MAAM,MAAM,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/H,8FAA8F;IAC9F,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,EAAE,aAAa,CAAc,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;QACrG,MAAM,IAAI,GAAG,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpG,CAAC,CAAC;IAEF,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM;YAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,MAAM,GAAG,CAAC,GAAuB,EAAE,EAAE;QACzC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACjB,yGAAyG;YACzG,YAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACrI,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACjB,8GAA8G;YAC9G,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1I,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,2EAA2E;YAC3E,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;YAClC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YACnD,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzF,MAAM;YACR,KAAK,MAAM;gBACT;;;;;;mBAMG;gBACH,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACrG,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACjD,KAAK,OAAO;gBACV,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvD,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACjD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3H,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM;YACR,CAAC;YACD,KAAK,KAAK;gBACR,MAAM;QACV,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C;;;;;OAKG;IACH;;;;OAIG;IACH,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAE,qBAAqB,EAAE,CAAC;QACtF,IAAI,GAAG;YAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC5D,6FAA6F;QAC7F,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACnD,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE;QACjC,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,CAAC,GAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjH,MAAM,SAAS,GAAG,CAAC,KAA2C,EAAE,EAAE;QAChE;;;;;WAKG;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAM,OAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAChH,uEAAuE;QACvE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAiB,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM;oBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrD,2EAA2E;gBAC3E,IAAI,IAAI;oBAAE,OAAO;YACnB,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAiB,CAAC,GAAG,CAAC,CAAC;gBACjD,OAAO,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnF;;;;eAIG;YACH,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,GAAG,GAAG,OAAc,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/G,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5E,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,MAAM,EAAE,CAAC;YAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,EAAE,GAAI,OAAkB,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI;gBAAE,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,qDAAqD;YACrD,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;;gBACzC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAAY,EAAE,IAAe,EAAE,QAAuB,EAAE,EAAE,QAAgC,EAAE,EAAE,EAAE;QAC9G,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,CAAC;QAClC,OAAO,CACL,cAAkB,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAC,QAAQ,mBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAM,KAAK,YACvJ,IAAI,IADG,GAAG,CAAC,EAAE,CAEV,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;QAChD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,CAAC;QAClC,OAAO,CACL,cAEE,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,IAAI,EAAC,QAAQ,mBACE,EAAE,iBACL,UAAU,gBACX,KAAK,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAC1B,KAAK,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,YAEpI,GAAG,CAAC,GAAG,CAAC,KAAK,IATT,GAAG,CAAC,EAAE,CAUP,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAc,MAAM,aACrF,gBACE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;oBACf,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;oBACxB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,kCAC4B,MAAM,EACnC,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,gBACJ,eAAe,mBACX,QAAQ,mBACR,KAAK,uBACF,MAAM,KACpB,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,iBAC5D,UAAU,EACtB,WAAW,EAAC,YAAO,uBACD,oBAAoB,EACtC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtE,CAAC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC5B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;oBACL,KAAK,EAAE,MAAM;oBACb,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,EAAE;oBACV,0EAA0E;oBAC1E,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,oBAAoB;oBAC3B,UAAU,EAAE,sBAAsB;oBAClC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,EAAE;oBAC1E,YAAY,EAAE,CAAC;iBAChB,GACD,EAEF,eAAM,IAAI,EAAC,QAAQ,eAAW,QAAQ,EAAC,KAAK,EAAE,eAAe,iBAAc,YAAY,YACpF,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GACpB,EAEP,eAAM,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,eAAe,iBAAc,cAAc,GAAG,EACpG,kBACM,OAAO,CAAC,IAAI,EAChB,EAAE,EAAE,KAAK,EACT,IAAI,EAAC,SAAS,gBACF,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,iBAC/C,YAAY,uBACL,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAC5C,MAAM,EAAE,CAAC,QAAQ;gBACjB,mEAAmE;gBACnE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE;gBAC9C,yHAAyH;gBACzH,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,aAEtH,eAAK,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,aACjH,eAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAC,cAAc,iBAAa,WAAW,EAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,aACxF,OAAO,CAAC,CAAC,CAAC,CACT,aAAG,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAc,cAAc,8CAC3H,KAAK,EAAE,KAAK,IAAI,CAAC,eACxC,CACL,CAAC,CAAC,CAAC,CACF,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACpB,eAAqB,IAAI,EAAC,OAAO,gBAAa,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,aAC9E,eAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,OAAO,aACpC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,EAC1G,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAQ,EAC7I,8BAAkB,MAAM,EAAC,KAAK,EAAE,KAAK,iBAAc,kBAAkB,YAClE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,GACrB,IACH,EACL,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gDACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;gDACpB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gDACjD,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gDAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gDACnC,OAAO,CACL,MAAC,QAAQ,eACN,MAAM,CACL,GAAG,EACH,8BACE,KAAC,OAAO,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAI,EAC9H,IAAI,CAAC,CAAC,CAAC,CACN,8BACc,MAAM,iBACN,gBAAgB,eACjB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EACjC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,EACjD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wEACjB,KAAK,CAAC,eAAe,EAAE,CAAC;wEACxB,MAAM,CAAC,GAAG,CAAC,CAAC;oEACd,CAAC,EACD,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,YAEjD,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,iBAAa,MAAM,aAChE,iBAAQ,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,GAAG,EACtD,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,GAAG,EACpD,iBAAQ,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,GAAG,IACnD,GACD,CACR,CAAC,CAAC,CAAC,IAAI,IACP,EACH,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAChC;4DACE,aAAa,EAAE,UAAU;4DACzB,YAAY,EAAE,GAAG,CAAC,KAAK;4DACvB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4DAC5C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;yDACpB,CACF,EACA,KAAK,CAAC,CAAC,CAAC,CACP,cAAK,IAAI,EAAC,OAAO,gBAAa,0BAA0B,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,YAC1F,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GACrC,CACP,CAAC,CAAC,CAAC,IAAI,KArCK,GAAG,CAAC,EAAE,CAsCV,CACZ,CAAC;4CACJ,CAAC,CAAC,EACD,KAAK,CAAC,IAAI;gDACT,CAAC,CAAC,MAAM,CACJ,KAAK,CAAC,IAAI,EACV,gBAAM,KAAK,EAAE,QAAQ,qBACd,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,sBAAa,CAAC,CAAC,IAAI,EAAE,cAC1G,EACP,GAAG,EACH,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,CACnD;gDACH,CAAC,CAAC,IAAI,KAhEA,KAAK,CAAC,GAAG,CAiEb,CACP,CAAC,CACH,EACA,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAM,KAAK,EAAE,QAAQ,sBAAO,gBAAM,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,uBAAI,MAAM,CAAC,GAAG,cAAS,IAAO,EAAE,EAAE,SAAS,EAAE,+BAA+B,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAEvN,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CACxB,aAAG,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,IAAI,iBAAc,iBAAiB,aAC9D,YAAY,CAAC,SAAS,CAAC,sDACtB,CACL,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAC5H,YAAG,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,IAAI,uDAE9B,CACL,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAC7B,eAAK,IAAI,EAAC,OAAO,gBAAY,aAAa,iBAAa,YAAY,EAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,aACxH,KAAC,IAAI,IAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,GAAI,EAC/G,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACtB,eAAK,IAAI,EAAC,OAAO,gBAAY,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aACvE,cAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,wBAE/D,EACL,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAC1C,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChB,8BAAiB,MAAM,EAAC,KAAK,EAAE,IAAI,iBAAc,WAAW,aAC1D,2BAAM,cAAK,KAAK,EAAE,GAAG,uBAAS,EAAA,cAAK,KAAK,EAAE,GAAG,uBAAS,aAAY,EAClE,2BAAM,cAAK,KAAK,EAAE,GAAG,uBAAS,aAAY,EAC1C,2BAAM,cAAK,KAAK,EAAE,GAAG,uBAAS,gBAAe,EAC7C,2BAAM,cAAK,KAAK,EAAE,GAAG,oBAAW,cAAa,IACzC,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,SAAS,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAoJ;IACxM,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAe,CAAC;IACpB,IAAI,KAAK,GAAc,IAAI,CAAC;IAC5B,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,GAAG,KAAK,CAAC;QACb,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;QACtB,KAAK,GAAG,YAAG,KAAK,EAAE,UAAU,mFAAwE,CAAC;IACvG,CAAC;SAAM,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;QACf,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC;QACxD,KAAK,GAAG,aAAG,KAAK,EAAE,UAAU,2BAAa,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,kCAA+B,CAAC;IAClH,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBAChB,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrE,IAAI,GAAG,CACL,8BACG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAM,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,aAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,EACnF,KAAC,MAAM,IAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAI,IAC1C,CACJ,CAAC;gBACF,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtH,KAAK,GAAG,CACN,8BACG,KAAK,CAAC,CAAC,CAAC,YAAG,KAAK,EAAE,UAAU,YAAG,WAAW,CAAC,KAAK,CAAC,GAAK,CAAC,CAAC,CAAC,IAAI,EAC7D,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CACV,aAAG,KAAK,EAAE,UAAU,4BACX,GAAG,CAAC,GAAG,CAAC,KAAK,YAAG,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAChH,CACL,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9B,aAAG,KAAK,EAAE,UAAU,aAClB,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,YAAG,GAAG,CAAC,GAAG,CAAC,OAAO,GAAQ,EAC5E,cAAM,EACN,KAAC,MAAM,IAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAI,IAChD,CACL,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,MAAM;gBACT,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBAChB,IAAI,GAAG,MAAM,CAAC;gBACd,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;gBACjB,KAAK,GAAG,aAAG,KAAK,EAAE,UAAU,+BAAiB,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAe,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,SAAM,CAAC;gBAC/J,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBAChB,IAAI,GAAG,OAAO,CAAC;gBACf,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;gBACjB,KAAK,GAAG,aAAG,KAAK,EAAE,UAAU,kCAAoB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAM,CAAC;gBAC/F,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,GAAG,MAAM,CAAC;gBACd,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;gBACjB,KAAK,GAAG,YAAG,KAAK,EAAE,UAAU,uCAA4B,CAAC;gBACzD,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,GAAG,KAAK,CAAC;gBACb,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;gBACjB,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,CACL,eAAK,IAAI,EAAC,cAAc,iBAAa,WAAW,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aACjF,eAAK,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,aACnC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,EACpD,IAAI,IACD,EACN,cAAK,KAAK,EAAE,UAAU,YAAG,IAAI,GAAO,EACnC,KAAK,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAwD;IACzF,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,CACL,8BACE,gBAAM,KAAK,EAAE,KAAK,aACf,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAM,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,aAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,EACnF,KAAC,MAAM,IAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,EACxC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAM,KAAK,EAAE,KAAK,yBAAM,GAAG,CAAC,KAAK,IAAQ,CAAC,CAAC,CAAC,IAAI,EAC5D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,KAAK,EAAE,KAAK,6BAAgB,IACnD,EACN,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACV,qFAAqF;oBACrF,gBAAM,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,iBAAc,WAAW,4BACtD,GAAG,CAAC,GAAG,CAAC,KAAK,YAAG,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAC9F,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,IAC/E,CACR,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9B,gBAAM,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,aACnC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,QAAG,KAAC,MAAM,IAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,IAC5E,CACR,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,CACL,gBAAM,KAAK,EAAE,QAAQ,aACnB,KAAC,MAAM,IAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,EACzC,gBAAM,KAAK,EAAE,KAAK,yBAAM,GAAG,CAAC,KAAK,cAAc,IAC1C,CACR,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,CACL,gBAAM,KAAK,EAAE,QAAQ,uBACb,KAAC,MAAM,IAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,IAC1C,CACR,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,CACL,gBAAM,KAAK,EAAE,QAAQ,gCACT,KAAC,MAAM,IAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,cAC9C,CACR,CAAC;QACJ,KAAK,KAAK;YACR,OAAO,eAAM,KAAK,EAAE,QAAQ,YAAG,GAAG,CAAC,KAAK,GAAQ,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,KAAwB;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAsC,EAAE,CAAC;IACpD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,+GAA+G;QAC/G,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAA8C;IACzE,OAAO,CACL,4BACG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CACzC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACZ,eAAe,KAAK,EAAE,IAAI,YACvB,IAAI,CAAC,IAAI,IADD,EAAE,CAEN,CACR,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,cAAW,IAAI,CAAC,IAAI,IAAd,EAAE,CAAwB,CAC1C,CACF,GACA,CACJ,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,SAAS,OAAO,CAAC,GAAQ;IACvB,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9H,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE7F,SAAS,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAA4E;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,OAAO,8BAAkB,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAG,WAAW,EAAE,GAAI,CAAC;AAC3I,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,MAAiB;IAC/C,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACpC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,2EAA2E;AAC3E,SAAS,MAAM,CAAC,MAAwC,EAAE,IAAoB,EAAE,MAAiB;IAC/F,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACzD,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClH,IAAI,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC3E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvH,CAAC;AAED,8DAA8D;AAC9D,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,sFAAsF;AACtF,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,uFAAuF;AACvF,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,4EAA4E;AAC5E,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,2FAA2F;AAC3F,MAAM,GAAG,GAAG,GAAG,CAAC;AAEhB,iFAAiF;AACjF,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,MAAM,KAAK,GAAkB;IAC3B,GAAG,aAAa;IAChB,aAAa,EAAE,QAAQ;IACvB,KAAK,EAAE,gCAAgC;IACvC,SAAS,EAAE,kBAAkB;IAC7B,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,YAAY;IACvB,gIAAgI;IAChI,UAAU,EAAE,yGAAyG;IACrH,SAAS,EAAE,+BAA+B;IAC1C,WAAW,EAAE,+BAA+B;IAC5C,YAAY,EAAE,+BAA+B;IAC7C,UAAU,EAAE,+BAA+B;IAC3C,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,+BAA+B;IAC1C,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,qDAAqD;AACrD,MAAM,IAAI,GAAkB,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AAExE,kGAAkG;AAClG,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,2IAA2I;AAC3I,MAAM,KAAK,GAAkB;IAC3B,KAAK,EAAE,iCAAiC;IACxC,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF,MAAM,IAAI,GAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AAEpH,MAAM,IAAI,GAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;AAEtI,MAAM,KAAK,GAAkB;IAC3B,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,+BAA+B;IAC3C,UAAU,EAAE,4BAA4B;IACxC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,UAAU,GAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAEtJ,MAAM,UAAU,GAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,0BAA0B,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAEtJ,MAAM,OAAO,GAAkB;IAC7B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,WAAW;IAC1B,KAAK,EAAE,0BAA0B;CAClC,CAAC;AAEF,MAAM,KAAK,GAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,kBAAkB,EAAE,cAAc,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;AAE9J,MAAM,MAAM,GAAkB;IAC5B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,CAAC;IACN,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,CAAC;CACZ,CAAC;AAEF,sEAAsE;AACtE,MAAM,GAAG,GAAkB,EAAE,UAAU,EAAE,qEAAqE,EAAE,SAAS,EAAE,qCAAqC,EAAE,CAAC;AAEnK,MAAM,GAAG,GAAkB,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAEpG,MAAM,QAAQ,GAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAEtI,uIAAuI;AACvI,MAAM,KAAK,GAAkB;IAC3B,OAAO,EAAE,aAAa;IACtB,eAAe,EAAE,UAAU;IAC3B,eAAe,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,GAAG;CAChB,CAAC;AAEF,MAAM,KAAK,GAAkB,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAE3G,MAAM,IAAI,GAAkB;IAC1B,UAAU,EAAE,4DAA4D;IACxE,KAAK,EAAE,SAAS;IAChB,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,oEAAoE;CAChF,CAAC;AAEF,MAAM,GAAG,GAAkB;IACzB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,sBAAsB;IAClC,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,GAAG;IACf,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,UAAU;CACzB,CAAC;AAEF,MAAM,SAAS,GAAkB,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AAEtF,MAAM,OAAO,GAAkB,EAAE,WAAW,EAAE,uBAAuB,EAAE,SAAS,EAAE,uCAAuC,EAAE,UAAU,EAAE,qEAAqE,EAAE,CAAC;AAE/M,MAAM,KAAK,GAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvE,0IAA0I;AAC1I,MAAM,IAAI,GAAkB;IAC1B,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,kBAAkB;IAC7B,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,SAAS,GAAkB,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;AAE5I,MAAM,IAAI,GAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAE3H,MAAM,IAAI,GAAkB;IAC1B,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,UAAU;IACf,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,+BAA+B;IAC1C,KAAK,EAAE,0BAA0B;IACjC,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,GAAG,GAAkB;IACzB,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,+BAA+B;IACvC,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,0BAA0B;IACjC,UAAU,EAAE,sBAAsB;CACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graview/primitives",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.58",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"./montserrat-latin.woff2": "./fonts/montserrat-latin.woff2"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@graview/core": "0.1.
|
|
33
|
-
"@graview/react": "0.1.
|
|
34
|
-
"@graview/render": "0.1.
|
|
35
|
-
"@graview/layout": "0.1.
|
|
36
|
-
"@graview/tools": "0.1.
|
|
32
|
+
"@graview/core": "0.1.58",
|
|
33
|
+
"@graview/react": "0.1.58",
|
|
34
|
+
"@graview/render": "0.1.58",
|
|
35
|
+
"@graview/layout": "0.1.58",
|
|
36
|
+
"@graview/tools": "0.1.58"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": ">=18"
|