@vibes.diy/prompts 14.3.68 → 14.3.70

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/llms/fireproof.md CHANGED
@@ -548,7 +548,7 @@ const { useLiveQuery } = useFireproof("shared-board", { offlineQueue: false });
548
548
 
549
549
  ## Anonymous writes (local-first by default)
550
550
 
551
- Letting a logged-out visitor try the app and build a little state before signing in needs **no opt-in** — it is the universal default on every vibe. While logged out, `put`/`del`/`useLiveQuery`/`useDocument` run against the local replica with the identical API — no auth branching in your code — so favorites, a draft, or a scratch list just work. On first sign-in that local state drains automatically into the user's cloud database and then syncs live; nothing is lost if a drain is interrupted. The sign-in and drain-confirmation toast ("saved to your account") is platform-provided chrome — do not build your own "saved"/"synced" notice for it.
551
+ Letting a logged-out visitor try the app and build a little state before signing in needs **no opt-in** — it is the universal default on every vibe. While logged out, `put`/`del`/`useLiveQuery`/`useDocument` run against the local replica with the identical API — no auth branching in your code — so favorites, a draft, or a scratch list just work. On first sign-in that local state drains automatically into the user's cloud database, each document exactly as stored (an author field left empty while signed out stays empty), and then syncs live; nothing is lost if a drain is interrupted. The sign-in and drain-confirmation toast ("saved to your account") is platform-provided chrome — do not build your own "saved"/"synced" notice for it.
552
552
 
553
553
  The old `{ anonymousLocal: true }` option (and its `migrate` hook) is **deprecated and ignored** — its behavior is now the default, so the runtime warns once and drains any legacy data on its own. Do not emit the flag in new code.
554
554
 
package/llms/pouf-chat.md CHANGED
@@ -64,7 +64,7 @@ function Thread({ room, onBack }) {
64
64
  <Stack gap={3}>
65
65
  {messages.map((m) => (
66
66
  <Row key={m._id} justify={m.authorHandle && m.authorHandle === me?.userHandle ? "end" : "start"}>
67
- <div className="max-w-[80%]">
67
+ <div className="max-w-4/5">
68
68
  <RowCard>
69
69
  <Stack gap={1}>
70
70
  <Row gap={2} wrap={false}>
@@ -6,7 +6,7 @@ Built from @vibes.diy/pouf components; persisted state lives in Fireproof. Every
6
6
 
7
7
  ## The block
8
8
 
9
- One view with one job: send a note. A `Grid cols="sidebar"` puts the pitch beside the form: an `info` `Badge` with the reply time, an `Eyebrow`, the `Heading` and a muted line, then two tight `Card`s that tilt, each fronted by a small `Blob` (`info` mail, `idle` clock). The form sits on its own `Card`: name and email `Input`s, a topic `Select` and a message `Textarea`, each in a `Field`. It is checked in plain state on submit, with each error on its own `Field`, its control `invalid` and focus moved to the first one. `Send message` is the view's one lead and shows `loading` while the write lands. Each message is one document stamped with the sender's handle. The form waits on its `can` verdict from `useVibe("contact")`: a `Skeleton` inside an `aria-busy` wrapper while it resolves, a `Sign in to send a message` lead wired to `requestLogin()` when sending is closed to a signed-out visitor, and a sentence in the app's own words when it is closed to someone already signed in. Where `access.js` lets a signed-out visitor write, they can still send; their note is kept on this device until they sign in. So their confirmation says that honestly, and its lead is `Sign in to send it`, wired to `useViewer().requestLogin()`. A signed-in sender sees `Message sent` in an `Empty`, with a quiet `Send another message`.
9
+ One view with one job: send a note. A `Grid cols="sidebar"` puts the pitch beside the form: an `info` `Badge` with the reply time, an `Eyebrow`, the `Heading` and a muted line, then two tight `Card`s that tilt, each fronted by a small `Blob` (`info` mail, `idle` clock). The form sits on its own `Card`: name and email `Input`s, a topic `Select` and a message `Textarea`, each in a `Field`. It is checked in plain state on submit, with each error on its own `Field`, its control `invalid` and focus moved to the first one. `Send message` is the view's one lead and shows `loading` while the write lands. Each message is one document, stamped with the sender's handle when they are signed in. The form waits on its `can` verdict from `useVibe("contact")`: a `Skeleton` inside an `aria-busy` wrapper while it resolves, a `Sign in to send a message` lead wired to `requestLogin()` when sending is closed to a signed-out visitor, and a sentence in the app's own words when it is closed to someone already signed in. Where `access.js` lets a signed-out visitor write, they can still send; their note is kept on this device until they sign in. So their confirmation says that honestly (`Your note is waiting`), and its lead is `Sign in to send it`, wired to `useViewer().requestLogin()`. A signed-in sender sees `Message sent` in an `Empty`, with a quiet `Send another message`.
10
10
 
11
11
  ### `App.jsx`
12
12
  ```jsx
@@ -43,7 +43,8 @@ export default function App() {
43
43
  const [sent, setSent] = useState(undefined);
44
44
  const refs = { name: useRef(null), email: useRef(null), message: useRef(null) };
45
45
  // The verdict for the document send() writes, carrying the same fields it stamps.
46
- const draft = { type: "message", authorHandle: me?.userHandle };
46
+ // A signed-out note carries no author yet; access.js accepts it once they sign in.
47
+ const draft = me ? { type: "message", authorHandle: me.userHandle } : { type: "message" };
47
48
  const canSend = can.create(draft);
48
49
 
49
50
  const set = (key) => (value) => {
@@ -96,11 +97,11 @@ export default function App() {
96
97
  );
97
98
  else if (!canSend.ok) panel = <Text muted>This form is closed for now. Email us at the address beside it instead.</Text>;
98
99
  else if (sent && !me)
99
- // Signed-out writes stay on this device until sign-in, so say exactly that.
100
+ // A signed-out note waits on this device and sends at sign-in, so say exactly that.
100
101
  panel = (
101
102
  <Stack gap={4}>
102
- <Empty icon="lock" title="Saved on this device">
103
- Sign in and your note goes straight to the studio, nothing to retype.
103
+ <Empty icon="mail" title="Your note is waiting">
104
+ Sign in to send it — it goes straight to the studio, nothing to retype.
104
105
  </Empty>
105
106
  <Button block onClick={requestLogin}>
106
107
  Sign in to send it
@@ -224,8 +225,9 @@ export default function App() {
224
225
 
225
226
  - Rename the topics and copy to the app's own world (`Book a session`, `Volunteer`, `Press`); a topic is one more `SelectOption`, not a second form.
226
227
  - Messages hold people's emails, so `access.js` should let a sender create their own and only the team read them all; read them with the inbox block, never on this page.
228
+ - A note written signed out has no `authorHandle`, and at sign-in it syncs exactly as stored. So the `contact` export's create rule accepts a message whose author is absent or is the writer: `if (doc.authorHandle && doc.authorHandle !== user.userHandle) throw { forbidden: "not author" }`. It still refuses anyone else's handle, and every other database keeps its strict author check.
227
229
  - Add a field (a phone number, a preferred date) as one more `Field`, one more line in `check` and one more property on the message.
228
- - Keep the honest signed-out confirmation: a signed-out note stays on the device until sign-in, so never tell that visitor it was sent.
230
+ - Keep the honest signed-out confirmation: a signed-out note waits on the device until sign-in sends it, so that visitor's lead is the sign-in.
229
231
  - A new write surface gets its own verdict: `can.create(draft)` with the fields the write stamps, `can.edit(doc)` or `can.delete(doc)` on the document it changes, always on `useVibe` of the database it writes.
230
232
 
231
233
  Adapted from 1st-Pouf (MIT) https://1st-pouf.worksonmy.dev/r/contact.json
@@ -6,7 +6,7 @@ Built from @vibes.diy/pouf components; persisted state lives in Fireproof. Every
6
6
 
7
7
  ## The block
8
8
 
9
- Two views, one job each. The list opens with the `Heading` and a muted unread count, a `Write a note` button (the list's one lead) that opens a `Dialog` with the compose form, a search `Input` in a `Field`, and a `Segmented` (`tone="info"`) between the inbox and the archive. Each note is a clickable `RowCard` with its subject, a muted time, a muted first line of its body and a `Dot tone="info"` while unread; an `Empty` stands in when nothing matches. Opening a note marks it read and swaps in the reading view: a quiet `IconButton` to go back, the subject as the `Heading`, the sender as a `ViewerTag` (kept out of the clickable row, which is itself a button) and the time, the body, each reply on a `Card`, and a reply form whose `Send reply` is that view's lead, beside a quiet archive button and a quiet delete button inside a `Confirm` wearing `tone="down"`; finished actions say so with a `toast`. Every write waits on its `can` verdict from `useVibe("inbox")`: the compose and reply forms show a `Skeleton` inside an `aria-busy` wrapper while the verdict resolves and a sentence in the app's own words when that write is closed to this visitor; marking read and archiving happen only when `can.edit(note).ok`; and delete renders only where `can.delete(note).ok`.
9
+ Two views, one job each. The list opens with the `Heading` and a muted unread count, a `Write a note` button (the list's one lead) that opens a `Dialog` with the compose form and shows only where `can.create` lets this visitor send one, a search `Input` in a `Field`, and a `Segmented` (`tone="info"`) between the inbox and the archive. Each note is a clickable `RowCard` with its subject, a muted time, a muted first line of its body and a `Dot tone="info"` with a visually hidden `Unread` beside it, so a screen reader hears it too; an `Empty` stands in when nothing matches. Opening a note marks it read and swaps in the reading view: a quiet `IconButton` to go back, the subject as the `Heading`, the sender as a `ViewerTag` (kept out of the clickable row, which is itself a button) and the time, the body, each reply on a `Card`, and a reply form whose `Send reply` is that view's lead, beside a quiet archive button and a quiet delete button inside a `Confirm` wearing `tone="down"`; finished actions say so with a `toast`. Every write waits on its `can` verdict from `useVibe("inbox")`: the reply form shows a `Skeleton` inside an `aria-busy` wrapper while the verdict resolves and a sentence in the app's own words when that write is closed to this visitor, and where sending is closed a muted sentence stands in for `Write a note`; marking read and archiving happen only when `can.edit(note).ok`; and delete renders only where `can.delete(note).ok`.
10
10
 
11
11
  ### `App.jsx`
12
12
  ```jsx
@@ -28,7 +28,7 @@ function Author({ handle }) {
28
28
  return handle ? <ViewerTag userHandle={handle} /> : <Text>A guest</Text>;
29
29
  }
30
30
 
31
- /** Three states for any create form: resolving, closed to this visitor, open. */
31
+ /** Three states for an inline create form: resolving, closed to this visitor, open. */
32
32
  function Gate({ verdict, closed, children }) {
33
33
  if (verdict.pending)
34
34
  return (
@@ -227,13 +227,13 @@ export default function App() {
227
227
  <Heading level={1}>Committee inbox</Heading>
228
228
  <Text muted>{unread === 1 ? "1 unread note" : `${unread} unread notes`}</Text>
229
229
  </Stack>
230
- <Dialog
231
- title="Write to the committee"
232
- open={composing}
233
- onOpenChange={setComposing}
234
- trigger={<Button>Write a note</Button>}
235
- >
236
- <Gate verdict={canSend} closed="Sending notes opens up once you've signed in as a resident.">
230
+ {canSend.ok ? (
231
+ <Dialog
232
+ title="Write to the committee"
233
+ open={composing}
234
+ onOpenChange={setComposing}
235
+ trigger={<Button>Write a note</Button>}
236
+ >
237
237
  <form onSubmit={sendNote} noValidate>
238
238
  <Stack gap={3}>
239
239
  <Field label="Subject" error={errors.subject}>
@@ -258,8 +258,14 @@ export default function App() {
258
258
  </Row>
259
259
  </Stack>
260
260
  </form>
261
- </Gate>
262
- </Dialog>
261
+ </Dialog>
262
+ ) : (
263
+ !canSend.pending && (
264
+ <Text size="sm" muted>
265
+ Sending notes opens up once you've signed in as a resident.
266
+ </Text>
267
+ )
268
+ )}
263
269
  </Row>
264
270
 
265
271
  <Stack gap={3}>
@@ -281,7 +287,12 @@ export default function App() {
281
287
  <RowCard key={n._id} onClick={() => open(n)}>
282
288
  <Stack gap={1}>
283
289
  <Row gap={2} wrap={false}>
284
- {!n.read && <Dot tone="info" />}
290
+ {!n.read && (
291
+ <>
292
+ <Dot tone="info" />
293
+ <span className="sr-only">Unread</span>
294
+ </>
295
+ )}
285
296
  <Text truncate>{n.subject}</Text>
286
297
  <Spacer />
287
298
  <Text size="sm" muted>
@@ -229,6 +229,7 @@ export default function App() {
229
229
  - Rename the columns to the app's own stages (`Idea`, `Drafting`, `Published`) in `COLUMNS`, and tone each count by what the stage means: `idle` for not started, `info` or `warn` for under way, `up` for finished.
230
230
  - Keep the column on the card's own document; moving a card is one `put` of that document, never a second list of ids per column.
231
231
  - Keep the drag on pointer events with `elementFromPoint` and the `Move` menu beside it: the drag serves mouse and touch, the menu serves keyboards and screen readers.
232
+ - On a phone the columns stack, so a column scrolled off screen is reached through the `Move` menu; keep it on every card that can move, so the move is always one tap away.
232
233
  - A priority or due date is one more field on the card and one more `Badge` with an explicit meaning tone (`warn` for due this week).
233
234
  - A new write surface gets its own verdict: `can.create(draft)` with the fields the write stamps, `can.edit(doc)` or `can.delete(doc)` on the document it changes, always on `useVibe` of the database it writes.
234
235
 
@@ -6,7 +6,7 @@ Built from @vibes.diy/pouf components; persisted state lives in Fireproof. Every
6
6
 
7
7
  ## The block
8
8
 
9
- Two views, one job each. The queue opens with the `Heading` and a muted count of open tickets, a `Log a ticket` button (the queue's one lead) that opens a `Dialog` with the intake form, and a search `Input` and status `Select`, each in a `Field`. Each ticket is a clickable `RowCard` with its subject, a muted time and its status as a `Badge` toned by meaning (`info` open, `idle` waiting on the asker, `up` solved), plus a `warn` badge when urgent; an `Empty` stands in when nothing matches. Opening a ticket swaps in the ticket view: a quiet `IconButton` to go back, the subject as the `Heading`, the asker as a `ViewerTag`, the request and each reply on a `Card`, and a reply form validated in plain state (`Field error`, at least four characters) whose `Send reply` is that view's lead: a reply from the desk moves the ticket to waiting on the asker, and a reply from the asker (`me.userHandle` matching the ticket's `authorHandle`) moves it back to open. A quiet `Set waiting` and an `up`-toned `Mark solved` change the status directly, each confirmed with a `toast`. Every write waits on its `can` verdict from `useVibe("support")`: the intake and reply forms show a `Skeleton` inside an `aria-busy` wrapper while the verdict resolves and a sentence in the app's own words when that write is closed to this visitor, and the status buttons render only where `can.edit(ticket).ok`.
9
+ Two views, one job each. The queue opens with the `Heading` and a muted count of open tickets, a `Log a ticket` button (the queue's one lead) that opens a `Dialog` with the intake form and shows only where `can.create` lets this visitor log one, and a search `Input` and status `Select`, each in a `Field`. Each ticket is a clickable `RowCard` with its subject, a muted time and its status as a `Badge` toned by meaning (`info` open, `idle` waiting on the asker, `up` solved), plus a `warn` badge when urgent; an `Empty` stands in when nothing matches. Opening a ticket swaps in the ticket view: a quiet `IconButton` to go back, the subject as the `Heading`, the asker as a `ViewerTag`, the request and each reply on a `Card`, and a reply form validated in plain state (`Field error`, at least four characters) whose `Send reply` is that view's lead: a reply from the desk moves the ticket to waiting on the asker, and a reply from the asker (`me.userHandle` matching the ticket's `authorHandle`) moves it back to open. A quiet `Set waiting` and an `up`-toned `Mark solved` change the status directly, each confirmed with a `toast`. Every write waits on its `can` verdict from `useVibe("support")`: the reply form shows a `Skeleton` inside an `aria-busy` wrapper while the verdict resolves and a sentence in the app's own words when that write is closed to this visitor, where logging is closed a muted sentence stands in for `Log a ticket`, and the status buttons render only where `can.edit(ticket).ok`.
10
10
 
11
11
  ### `App.jsx`
12
12
  ```jsx
@@ -36,7 +36,7 @@ function Author({ handle }) {
36
36
  return handle ? <ViewerTag userHandle={handle} /> : <Text>A guest</Text>;
37
37
  }
38
38
 
39
- /** Three states for any create form: resolving, closed to this visitor, open. */
39
+ /** Three states for an inline create form: resolving, closed to this visitor, open. */
40
40
  function Gate({ verdict, closed, children }) {
41
41
  if (verdict.pending)
42
42
  return (
@@ -237,8 +237,8 @@ export default function App() {
237
237
  <Heading level={1}>Help desk</Heading>
238
238
  <Text muted>{openCount === 1 ? "1 open ticket" : `${openCount} open tickets`}</Text>
239
239
  </Stack>
240
- <Dialog title="Log a ticket" open={logging} onOpenChange={setLogging} trigger={<Button>Log a ticket</Button>}>
241
- <Gate verdict={canLog} closed="Logging a ticket opens up once you've signed in.">
240
+ {canLog.ok ? (
241
+ <Dialog title="Log a ticket" open={logging} onOpenChange={setLogging} trigger={<Button>Log a ticket</Button>}>
242
242
  <form onSubmit={logTicket} noValidate>
243
243
  <Stack gap={3}>
244
244
  <Field label="Subject" error={errors.subject}>
@@ -264,8 +264,14 @@ export default function App() {
264
264
  </Row>
265
265
  </Stack>
266
266
  </form>
267
- </Gate>
268
- </Dialog>
267
+ </Dialog>
268
+ ) : (
269
+ !canLog.pending && (
270
+ <Text size="sm" muted>
271
+ Logging a ticket opens up once you've signed in.
272
+ </Text>
273
+ )
274
+ )}
269
275
  </Row>
270
276
 
271
277
  <Stack gap={3}>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/prompts",
3
- "version": "14.3.68",
3
+ "version": "14.3.70",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "exports": {
@@ -11,6 +11,7 @@
11
11
  "./themes/colorsets-bundle.js": "./themes/colorsets-bundle.js",
12
12
  "./themes/fonts.js": "./themes/fonts.js",
13
13
  "./themes/looks/index.js": "./themes/looks/index.js",
14
+ "./themes/looks/pouf/catalog.generated.js": "./themes/looks/pouf/catalog.generated.js",
14
15
  "./themes/ornament-pad.js": "./themes/ornament-pad.js",
15
16
  "./themes/palette-gen.js": "./themes/palette-gen.js",
16
17
  "./themes/pouf-rooms.js": "./themes/pouf-rooms.js",
@@ -38,9 +39,9 @@
38
39
  "license": "Apache-2.0",
39
40
  "dependencies": {
40
41
  "@adviser/cement": "~0.5.34",
41
- "@vibes.diy/call-ai-v2": "14.3.68",
42
- "@vibes.diy/identity": "14.3.68",
43
- "@vibes.diy/use-vibes-types": "14.3.68",
42
+ "@vibes.diy/call-ai-v2": "14.3.70",
43
+ "@vibes.diy/identity": "14.3.70",
44
+ "@vibes.diy/use-vibes-types": "14.3.70",
44
45
  "arktype": "~2.2.6",
45
46
  "json-schema-faker": "~0.6.3"
46
47
  },
@@ -4,7 +4,7 @@ The pouf look is a room full of cushions. The whole room is already built: `@vib
4
4
 
5
5
  One view does one job. Let everything on screen serve it; a second job gets its own view, tab or sheet. Content lives on cushions: a group of related things sits in a `Card`, a list is one `RowCard` per item, a headline number is a `Stat`, an empty list is an `Empty`, and the closing ask on a page is a `CTA`. Those are the only raised surfaces. A cushion is never hand-made out of a bordered `div`; if something needs to float, it is a `Card`.
6
6
 
7
- Every view has exactly one lead: the single element wearing `tone="purple"`, usually the primary `Button`. Everything else steps back. Most tone-taking components default to the lead — `Button`, `Badge`, `Dot`, `Blob`, `Avatar`, `Progress`, `CTA`, `NavLink`, `ToggleGroup`, chart series — so set `tone` explicitly on every badge, dot, blob, avatar, bar and status mark, and leave the default only on the one lead. A second button takes `variant="quiet"` or a meaning tone (`down` for delete). Three components default to an untaught tone and always get one: `Tabs` and `Segmented` take `tone="info"`, `Highlight` takes `tone="orange"`. `Confirm` defaults to the decorative fill, so a destructive ask passes `tone="down"`.
7
+ Every view has exactly one lead: the single element wearing `tone="purple"`, usually the primary `Button`. Everything else steps back. Most tone-taking components default to the lead — `Button`, `Badge`, `Dot`, `Blob`, `Avatar`, `Progress`, `CTA`, `NavLink`, `ToggleGroup`, chart series — so set `tone` explicitly on every badge, dot, blob, avatar, bar and status mark, and leave the default only on the one lead. An `Empty` may carry its own `purple` `Blob`; it shows only when the view holds nothing else, so it is not a second lead. A second button takes `variant="quiet"` or a meaning tone (`down` for delete). Three components default to an untaught tone and always get one: `Tabs` and `Segmented` take `tone="info"`, `Highlight` takes `tone="orange"`. `Confirm` defaults to the decorative fill, so a destructive ask passes `tone="down"`.
8
8
 
9
9
  Open a view with a `Heading level={1}`, then the job; each section gets a `Heading level={2}`, and every run of words is `Text`, `muted` for metadata such as a timestamp.
10
10
 
@@ -44,4 +44,5 @@ export declare const POUF_ROOMS: readonly {
44
44
  export declare const MIN_ACCENT_DISTANCE = 0.03;
45
45
  export declare const MERGE_POST_DRIFT_DEG = 18.2;
46
46
  export declare function normalizePoufSeed(seed: PoufSeed): PoufSeed;
47
+ export declare function oklabDistance(a: string, b: string): number;
47
48
  export declare function generatePoufRoom(input: PoufSeed): PoufRoom;
@@ -184,7 +184,7 @@ function draftAccents(lead, merged, up, down, pin) {
184
184
  hues: { lead, ...meaningHues, gap: gapHue, gap2: gap2Hue },
185
185
  };
186
186
  }
187
- function oklabDistance(a, b) {
187
+ export function oklabDistance(a, b) {
188
188
  const x = hexOklch(a);
189
189
  const y = hexOklch(b);
190
190
  const r = Math.PI / 180;
@@ -1 +1 @@
1
- {"version":3,"file":"pouf-rooms.js","sourceRoot":"","sources":["../../jsr/themes/pouf-rooms.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAmEhH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAuC,MAAM,CAAC,MAAM,CAAC;IACjF,IAAI,EAAE,SAAS;IACf,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAMH,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,WAAW,GAAG,EAAE,CAAC;AAWvB,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAG3B,MAAM,gBAAgB,GAA2C;IAC/D,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,KAAK,CAAC;IACb,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,GAAG,EAAE,KAAK,CAAC;IACZ,CAAC,KAAK,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAG/D,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAE/F,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC,CAAC;AAGF,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC/C,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/F,MAAM,EAAE,GAAG,CAAC,CAAS,EAAU,EAAE,CAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACzB,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtB,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAGD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+C,CAAC;AAE3E,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAGhF,SAAS,UAAU,CAAC,GAAW,EAAE,CAAS;IACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAGD,MAAM,aAAa,GAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAG7E,MAAM,WAAW,GAA0C,MAAM,CAAC,MAAM,CAAC;IACvE,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;CACzC,CAAC,CAAC;AAGH,SAAS,KAAK,CAAC,IAAiB,EAAE,IAAY;IAC5C,MAAM,CAAC,GAAG,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAQD,SAAS,QAAQ,CAAC,IAAuB,EAAE,CAAQ;IACjD,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAG,EAAE;SACZ,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;SACrF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxH,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAGD,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAG7B,SAAS,iBAAiB,CAAC,CAAS;IAIlC,OAAO;QACL,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACjF,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;KAClF,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAmB,MAAM,CAAC,MAAM,CAAC;IAC3D,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,iBAAiB,CAAC,IAAI;IAC9B,GAAG,aAAa,CAAC,KAAK;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAmB,MAAM,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,iBAAiB,CAAC,IAAI;IAC9B,GAAG,aAAa,CAAC,IAAI;CACtB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,UAAU,GAKjB,MAAM,CAAC,MAAM,CAAC;IAClB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;IACpF,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;IAClG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;IACpF,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;IAC1F,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE;IAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE;IAC/F,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IAC9E,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;CAChF,CAAC,CAAC;AAUH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAaxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAGzC,SAAS,UAAU,CAAC,IAAY;IAC9B,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,cAAc,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,oBAAoB;YAAE,OAAO,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAMD,MAAM,MAAM,GAAG,CAAC,CAAqB,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnG,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AAU3F,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAc;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;QAC7F,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE;QACtC,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,cAAc;KACzB,CAAC;AACJ,CAAC;AAQD,SAAS,YAAY,CAAC,IAAY,EAAE,MAA0B,EAAE,EAAU,EAAE,IAAY,EAAE,GAAkB;IAE1G,MAAM,KAAK,GAAG,CAAC,CAAc,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,EAAiC,CAAC;IACtD,MAAM,OAAO,GAAG,EAAiC,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,OAAO;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;QACnD,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;KAC3D,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;IACxB,OAAO,IAAI,CAAC,KAAK,CACf,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EACT,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EACjD,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;AACnD,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,sBAAsB,CAAC;QACzE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAOD,SAAS,gBAAgB,CAAC,CAAQ,EAAE,MAA0B;IAC5D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IACrF,MAAM,KAAK,GAAe,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAe,CAAC;IAClH,IAAI,MAAM,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB;gBAAE,OAAO,KAAK,CAAC;QAClG,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,SAAS,WAAW,CAAC,SAAiB,EAAE,EAA0B;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI;QAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAChE,OAAO,CAAC,CAAC;AACX,CAAC;AAGD,SAAS,QAAQ,CAAC,GAAW,EAAE,EAA0B;IACvD,IAAI,EAAE,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACxB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACjC,IAAI,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAIhC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,IAAY,EAAE,GAAkB,EAAW,EAAE,CACtE,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACzG,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAClH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO;QACL,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,MAAM;QACN,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;QAC/B,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;YAClC,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;YAChC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACjC,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,GAAG,QAAQ,CAAC,KAAK;SAClB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;YACjC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;YACrC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;YACjC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACjC,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,GAAG,QAAQ,CAAC,IAAI;SACjB;QACD,QAAQ,EAAE,cAAc;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pouf-rooms.js","sourceRoot":"","sources":["../../jsr/themes/pouf-rooms.ts"],"names":[],"mappings":"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"}