@cogenta/schema 0.2.0 → 0.4.1
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/define-collection.d.ts.map +1 -1
- package/dist/define-collection.js +53 -3
- package/dist/define-collection.js.map +1 -1
- package/dist/generate-types.d.ts.map +1 -1
- package/dist/generate-types.js +6 -1
- package/dist/generate-types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/media-usage.d.ts +56 -0
- package/dist/media-usage.d.ts.map +1 -0
- package/dist/media-usage.js +89 -0
- package/dist/media-usage.js.map +1 -0
- package/dist/rich-text.d.ts +28 -2
- package/dist/rich-text.d.ts.map +1 -1
- package/dist/rich-text.js +26 -3
- package/dist/rich-text.js.map +1 -1
- package/dist/routing/index.d.ts +5 -1
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +2 -0
- package/dist/routing/index.js.map +1 -1
- package/dist/routing/not-found-log.d.ts +78 -0
- package/dist/routing/not-found-log.d.ts.map +1 -0
- package/dist/routing/not-found-log.js +153 -0
- package/dist/routing/not-found-log.js.map +1 -0
- package/dist/routing/redirect-patterns.d.ts +61 -0
- package/dist/routing/redirect-patterns.d.ts.map +1 -0
- package/dist/routing/redirect-patterns.js +173 -0
- package/dist/routing/redirect-patterns.js.map +1 -0
- package/dist/routing/redirects.d.ts +27 -4
- package/dist/routing/redirects.d.ts.map +1 -1
- package/dist/routing/redirects.js +160 -48
- package/dist/routing/redirects.js.map +1 -1
- package/dist/scheduling/index.d.ts +2 -0
- package/dist/scheduling/index.d.ts.map +1 -1
- package/dist/scheduling/index.js +1 -0
- package/dist/scheduling/index.js.map +1 -1
- package/dist/scheduling/registry.d.ts +147 -0
- package/dist/scheduling/registry.d.ts.map +1 -0
- package/dist/scheduling/registry.js +318 -0
- package/dist/scheduling/registry.js.map +1 -0
- package/dist/search/extract.d.ts +24 -0
- package/dist/search/extract.d.ts.map +1 -1
- package/dist/search/extract.js +63 -8
- package/dist/search/extract.js.map +1 -1
- package/dist/search/index.d.ts +2 -1
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +1 -9
- package/dist/search/index.js.map +1 -1
- package/dist/store/admin-theme-store.d.ts +26 -0
- package/dist/store/admin-theme-store.d.ts.map +1 -0
- package/dist/store/admin-theme-store.js +81 -0
- package/dist/store/admin-theme-store.js.map +1 -0
- package/dist/store/admin-theme-tables.d.ts +24 -0
- package/dist/store/admin-theme-tables.d.ts.map +1 -0
- package/dist/store/admin-theme-tables.js +41 -0
- package/dist/store/admin-theme-tables.js.map +1 -0
- package/dist/store/admin-theme-templates.d.ts +135 -0
- package/dist/store/admin-theme-templates.d.ts.map +1 -0
- package/dist/store/admin-theme-templates.js +217 -0
- package/dist/store/admin-theme-templates.js.map +1 -0
- package/dist/store/columns.d.ts.map +1 -1
- package/dist/store/columns.js +8 -2
- package/dist/store/columns.js.map +1 -1
- package/dist/store/diff.d.ts +40 -0
- package/dist/store/diff.d.ts.map +1 -1
- package/dist/store/diff.js +148 -0
- package/dist/store/diff.js.map +1 -1
- package/dist/store/index.d.ts +47 -4
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +26 -2
- package/dist/store/index.js.map +1 -1
- package/dist/store/maintenance-store.d.ts +34 -0
- package/dist/store/maintenance-store.d.ts.map +1 -0
- package/dist/store/maintenance-store.js +92 -0
- package/dist/store/maintenance-store.js.map +1 -0
- package/dist/store/menu-store.d.ts +146 -0
- package/dist/store/menu-store.d.ts.map +1 -0
- package/dist/store/menu-store.js +565 -0
- package/dist/store/menu-store.js.map +1 -0
- package/dist/store/menu-tables.d.ts +38 -0
- package/dist/store/menu-tables.d.ts.map +1 -0
- package/dist/store/menu-tables.js +117 -0
- package/dist/store/menu-tables.js.map +1 -0
- package/dist/store/naming.d.ts +1 -1
- package/dist/store/naming.d.ts.map +1 -1
- package/dist/store/naming.js +2 -0
- package/dist/store/naming.js.map +1 -1
- package/dist/store/pattern-store.d.ts +75 -0
- package/dist/store/pattern-store.d.ts.map +1 -0
- package/dist/store/pattern-store.js +118 -0
- package/dist/store/pattern-store.js.map +1 -0
- package/dist/store/pattern-tables.d.ts +29 -0
- package/dist/store/pattern-tables.d.ts.map +1 -0
- package/dist/store/pattern-tables.js +53 -0
- package/dist/store/pattern-tables.js.map +1 -0
- package/dist/store/read-only.d.ts +3 -3
- package/dist/store/read-only.d.ts.map +1 -1
- package/dist/store/read-only.js +4 -3
- package/dist/store/read-only.js.map +1 -1
- package/dist/store/redirect-tracking.d.ts +50 -0
- package/dist/store/redirect-tracking.d.ts.map +1 -0
- package/dist/store/redirect-tracking.js +91 -0
- package/dist/store/redirect-tracking.js.map +1 -0
- package/dist/store/review-transitions.d.ts +34 -0
- package/dist/store/review-transitions.d.ts.map +1 -0
- package/dist/store/review-transitions.js +51 -0
- package/dist/store/review-transitions.js.map +1 -0
- package/dist/store/role-permission-export.d.ts +22 -0
- package/dist/store/role-permission-export.d.ts.map +1 -0
- package/dist/store/role-permission-export.js +0 -0
- package/dist/store/role-permission-export.js.map +1 -0
- package/dist/store/role-permission-overlay.d.ts +27 -0
- package/dist/store/role-permission-overlay.d.ts.map +1 -0
- package/dist/store/role-permission-overlay.js +0 -0
- package/dist/store/role-permission-overlay.js.map +1 -0
- package/dist/store/role-permission-store.d.ts +72 -0
- package/dist/store/role-permission-store.d.ts.map +1 -0
- package/dist/store/role-permission-store.js +148 -0
- package/dist/store/role-permission-store.js.map +1 -0
- package/dist/store/role-permission-tables.d.ts +27 -0
- package/dist/store/role-permission-tables.d.ts.map +1 -0
- package/dist/store/role-permission-tables.js +52 -0
- package/dist/store/role-permission-tables.js.map +1 -0
- package/dist/store/scheduled-publish-enqueue.d.ts +37 -0
- package/dist/store/scheduled-publish-enqueue.d.ts.map +1 -0
- package/dist/store/scheduled-publish-enqueue.js +51 -0
- package/dist/store/scheduled-publish-enqueue.js.map +1 -0
- package/dist/store/scheduled-publish-failures.d.ts +36 -0
- package/dist/store/scheduled-publish-failures.d.ts.map +1 -0
- package/dist/store/scheduled-publish-failures.js +67 -0
- package/dist/store/scheduled-publish-failures.js.map +1 -0
- package/dist/store/schema-2-1-migration.d.ts +29 -0
- package/dist/store/schema-2-1-migration.d.ts.map +1 -0
- package/dist/store/schema-2-1-migration.js +71 -0
- package/dist/store/schema-2-1-migration.js.map +1 -0
- package/dist/store/search-console-store.d.ts +44 -0
- package/dist/store/search-console-store.d.ts.map +1 -0
- package/dist/store/search-console-store.js +90 -0
- package/dist/store/search-console-store.js.map +1 -0
- package/dist/store/search-console-tables.d.ts +14 -0
- package/dist/store/search-console-tables.d.ts.map +1 -0
- package/dist/store/search-console-tables.js +29 -0
- package/dist/store/search-console-tables.js.map +1 -0
- package/dist/store/search-indexing.d.ts +36 -0
- package/dist/store/search-indexing.d.ts.map +1 -1
- package/dist/store/search-indexing.js +33 -0
- package/dist/store/search-indexing.js.map +1 -1
- package/dist/store/site-settings-registry.d.ts +164 -0
- package/dist/store/site-settings-registry.d.ts.map +1 -0
- package/dist/store/site-settings-registry.js +1160 -0
- package/dist/store/site-settings-registry.js.map +1 -0
- package/dist/store/site-settings-store.d.ts +42 -0
- package/dist/store/site-settings-store.d.ts.map +1 -0
- package/dist/store/site-settings-store.js +97 -0
- package/dist/store/site-settings-store.js.map +1 -0
- package/dist/store/site-settings-tables.d.ts +29 -0
- package/dist/store/site-settings-tables.d.ts.map +1 -0
- package/dist/store/site-settings-tables.js +48 -0
- package/dist/store/site-settings-tables.js.map +1 -0
- package/dist/store/store.d.ts +57 -2
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +278 -37
- package/dist/store/store.js.map +1 -1
- package/dist/store/tables.d.ts.map +1 -1
- package/dist/store/tables.js +11 -0
- package/dist/store/tables.js.map +1 -1
- package/dist/store/taxonomy-store.d.ts.map +1 -1
- package/dist/store/taxonomy-store.js +90 -39
- package/dist/store/taxonomy-store.js.map +1 -1
- package/dist/store/taxonomy-usage.d.ts +47 -0
- package/dist/store/taxonomy-usage.d.ts.map +1 -0
- package/dist/store/taxonomy-usage.js +101 -0
- package/dist/store/taxonomy-usage.js.map +1 -0
- package/dist/store/theme-store.d.ts +73 -0
- package/dist/store/theme-store.d.ts.map +1 -0
- package/dist/store/theme-store.js +193 -0
- package/dist/store/theme-store.js.map +1 -0
- package/dist/store/types.d.ts +36 -1
- package/dist/store/types.d.ts.map +1 -1
- package/dist/store/values.d.ts.map +1 -1
- package/dist/store/values.js +28 -1
- package/dist/store/values.js.map +1 -1
- package/dist/system-fields.d.ts +8 -1
- package/dist/system-fields.d.ts.map +1 -1
- package/dist/system-fields.js +14 -1
- package/dist/system-fields.js.map +1 -1
- package/dist/types.d.ts +54 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-indexing.js","sourceRoot":"","sources":["../../src/store/search-indexing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-indexing.js","sourceRoot":"","sources":["../../src/store/search-indexing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* The declarative registry fiche 23 task 1 asks for: "un magasin clé/valeur
|
|
4
|
+
* typé, avec un schéma Zod déclarant chaque réglage : clé, type, valeur par
|
|
5
|
+
* défaut, portée (site ou locale), permission requise. Un réglage inconnu est
|
|
6
|
+
* refusé — pas un dépotoir de clés libres."
|
|
7
|
+
*
|
|
8
|
+
* Adding a setting is one entry here — `SiteSettingsStore` validates,
|
|
9
|
+
* defaults and scopes every key generically from this list (never a special
|
|
10
|
+
* case per key), and the admin's settings screen renders a field from each
|
|
11
|
+
* entry's `group`/`order`/`uiType` the same way (`site-settings-field.tsx`).
|
|
12
|
+
* That is what makes the fiche's own acceptance test true: "ajouter un
|
|
13
|
+
* réglage nouveau = une ligne de déclaration, et il apparaît à l'écran sans
|
|
14
|
+
* code d'interface supplémentaire."
|
|
15
|
+
*
|
|
16
|
+
* Every key here is **editorial** (ADR-0025's third category) — a rédacteur
|
|
17
|
+
* changes it from the admin, and it never duplicates a field
|
|
18
|
+
* `cogenta.config.mjs` already owns. `general.defaultLocale` and
|
|
19
|
+
* `reading.notFoundPath`, for instance, stay in the config file on purpose
|
|
20
|
+
* (section 8 of the fiche recommends migrating nothing that already exists);
|
|
21
|
+
* the settings screen shows them too, but read-only, mirrored from
|
|
22
|
+
* `SchemaDocument`/`Site.site` rather than declared here.
|
|
23
|
+
*/
|
|
24
|
+
/** How the admin renders a value — never a free-form widget choice per key. */
|
|
25
|
+
export declare const SITE_SETTING_UI_TYPES: readonly ['string', 'text', 'email', 'boolean', 'path', 'number', 'timeZone', 'dateStyle', 'timeStyle',
|
|
26
|
+
/**
|
|
27
|
+
* A closed choice, rendered as a `<select>`. Fiche 34 task 4's first user:
|
|
28
|
+
* `commerce.priceDisplay` (`ttc`/`ht`) — free text would let an operator
|
|
29
|
+
* type a third value the totals engine does not know what to do with.
|
|
30
|
+
*/
|
|
31
|
+
'select',
|
|
32
|
+
/**
|
|
33
|
+
* A single optional media reference, rendered as `MediaPicker` (fiche L21
|
|
34
|
+
* task 8's first and only user: `branding.customLogoMediaId`). The value
|
|
35
|
+
* stored is a media id, or `''` for "unset" — a plain string, like every
|
|
36
|
+
* other value this registry holds; nothing here talks to `MediaStore`
|
|
37
|
+
* directly, exactly the way a `path` setting names a route without
|
|
38
|
+
* checking the route exists.
|
|
39
|
+
*/
|
|
40
|
+
'media',
|
|
41
|
+
/**
|
|
42
|
+
* A short ordered list of `{label, url}` pairs (L25 D2's first and only
|
|
43
|
+
* user: `general.socialLinks`), rendered as a textarea of one
|
|
44
|
+
* `Label | https://url` line per entry, converted to/from JSON by the
|
|
45
|
+
* field component itself — the same "closest shape in the closed set"
|
|
46
|
+
* reasoning `seo.collectionTitleTemplates` already documents for a `text`
|
|
47
|
+
* bypass, except this one *is* a real, generic editor (a JSON object map
|
|
48
|
+
* has no natural line-per-entry form; an ordered list of two short strings
|
|
49
|
+
* does) rather than a placeholder for a bespoke screen.
|
|
50
|
+
*/
|
|
51
|
+
'linkList'];
|
|
52
|
+
export type SiteSettingUiType = (typeof SITE_SETTING_UI_TYPES)[number];
|
|
53
|
+
export declare const SITE_SETTING_GROUPS: readonly ['general', 'reading', 'discussion', 'media', 'privacy',
|
|
54
|
+
/**
|
|
55
|
+
* The shop-wide settings of fiche 34 task 4 — currency, tax-inclusive vs.
|
|
56
|
+
* exclusive display, countries served, minimum order, default backorder
|
|
57
|
+
* policy, and the invoice mentions of task 5. `commerce.tosPagePath` and
|
|
58
|
+
* `commerce.returnPolicyPagePath` are, deliberately, **paths** here —
|
|
59
|
+
* exactly the way `reading.homePath`/`privacy.policyPath` already point at
|
|
60
|
+
* a real content entry rather than storing legal text as a settings field
|
|
61
|
+
* (fiche 34 § pièges: "les CGV doivent être une page publique").
|
|
62
|
+
*/
|
|
63
|
+
'commerce',
|
|
64
|
+
/**
|
|
65
|
+
* Cogenta's own credit and white-label override (fiche L21 task 8) —
|
|
66
|
+
* whether the public footer and the admin shell name Cogenta at all, and
|
|
67
|
+
* what replaces it when they don't. Editorial on purpose: a reseller
|
|
68
|
+
* turns this off from the admin the same way any other setting here
|
|
69
|
+
* changes, with no redeploy and no code touched.
|
|
70
|
+
*/
|
|
71
|
+
'branding',
|
|
72
|
+
/**
|
|
73
|
+
* Search-engine visibility (fiche 21 task 3): title/description templates,
|
|
74
|
+
* per-collection sitemap hints, and social-card defaults. Previously
|
|
75
|
+
* `seo.tsx` was read-only "by design" — that was a scope choice of a
|
|
76
|
+
* previous lot, never an ADR, and this group is what makes it editable
|
|
77
|
+
* without inventing a second settings store: exactly the same registry
|
|
78
|
+
* that already backs `SettingsRoute`, just with its own screen
|
|
79
|
+
* (`SeoRoute`) rather than a tab there, the same way `commerce` gets its
|
|
80
|
+
* own screen instead of a `SettingsRoute` tab.
|
|
81
|
+
*/
|
|
82
|
+
'seo',
|
|
83
|
+
/**
|
|
84
|
+
* OpenTelemetry tracing and structured-log collection (fiche L22 task 5).
|
|
85
|
+
* Editorial on purpose, unlike the OTLP export destination (which stays in
|
|
86
|
+
* `cogenta.config.mjs`'s `observability` section, because it can carry a
|
|
87
|
+
* bearer-token header — rule R7): whether the local recent-events buffer
|
|
88
|
+
* runs at all, and how verbose it is, are exactly the kind of switch an
|
|
89
|
+
* admin should be able to flip from the "Exploitation" screen with no
|
|
90
|
+
* redeploy, the same way `discussion.enabled` already works.
|
|
91
|
+
*/
|
|
92
|
+
'observability',
|
|
93
|
+
/**
|
|
94
|
+
* L22 task 4 — which collections the writing assistant's vector index
|
|
95
|
+
* actually contains. Its own screen (the redesigned `AssistantRoute`),
|
|
96
|
+
* not a `SettingsRoute` tab, for the same reason `commerce`/`seo` get
|
|
97
|
+
* their own: the one key this group holds (`assistant.indexedCollections`)
|
|
98
|
+
* is a per-collection map, not a single scalar a generic form field can
|
|
99
|
+
* render — exactly `seo.sitemapCollectionSettings`'s own shape.
|
|
100
|
+
*/
|
|
101
|
+
'assistant',
|
|
102
|
+
/**
|
|
103
|
+
* The update system (L22 task 9): whether `cogenta serve`'s own
|
|
104
|
+
* `updates-auto-check` scheduled task may apply an npm update on its own,
|
|
105
|
+
* and how far it may go. Lives here, not in `cogenta.config.mjs`, for the
|
|
106
|
+
* same reason `discussion.moderationRequired` does — it is a live
|
|
107
|
+
* operational choice an admin flips from the screen at 3am because a
|
|
108
|
+
* package just misbehaved, not something that should need a git commit
|
|
109
|
+
* and a redeploy to change. Read by the scheduled task on every tick
|
|
110
|
+
* (`updates.ts` in `cogenta serve`'s wiring), never cached at startup.
|
|
111
|
+
*/
|
|
112
|
+
'updates',
|
|
113
|
+
/**
|
|
114
|
+
* Admin nav reordering/hiding (fiche 22 tâche 8, part 3) — which sidebar
|
|
115
|
+
* sections and entries a signed-in actor sees, and in what order.
|
|
116
|
+
* Deliberately **site-wide**, not per-browser: `sidebarCollapsed` and
|
|
117
|
+
* `groupOpen` (`app-shell.tsx`) stay in `localStorage` on purpose (each
|
|
118
|
+
* person's own "collapsed today" is not something anyone else needs to
|
|
119
|
+
* see), but "this site sells nothing, so hide Boutique for everyone" is an
|
|
120
|
+
* editorial decision about the site, no different from every other setting
|
|
121
|
+
* in this registry — it has to survive a different browser, a different
|
|
122
|
+
* person signing in, and a fresh install pulling the same database.
|
|
123
|
+
*/
|
|
124
|
+
'navigation',
|
|
125
|
+
/**
|
|
126
|
+
* Fiche 59 — the one non-secret, operator-set fact a channel's step-by-step
|
|
127
|
+
* guide needs to name the bot by handle instead of "the Cogenta bot": each
|
|
128
|
+
* channel's bot display name/handle, free text, never a credential. Bot
|
|
129
|
+
* *tokens* stay environment-only (R7) and never enter this table — this
|
|
130
|
+
* group exists specifically so a guide can say "open a chat with
|
|
131
|
+
* @my_cogenta_bot" without ever storing anything a leaked table could turn
|
|
132
|
+
* into a working credential.
|
|
133
|
+
*/
|
|
134
|
+
'channels'];
|
|
135
|
+
export type SiteSettingGroup = (typeof SITE_SETTING_GROUPS)[number];
|
|
136
|
+
export declare const SITE_SETTING_SCOPES: readonly ['site', 'locale'];
|
|
137
|
+
export type SiteSettingScope = (typeof SITE_SETTING_SCOPES)[number];
|
|
138
|
+
export interface SiteSettingDefinition {
|
|
139
|
+
/** The machine key, `<group-ish>.<name>` by convention — never parsed, just a stable id. */
|
|
140
|
+
readonly key: string;
|
|
141
|
+
readonly group: SiteSettingGroup;
|
|
142
|
+
/** Sort order within the group, ascending. Ties break on `key`. */
|
|
143
|
+
readonly order: number;
|
|
144
|
+
readonly uiType: SiteSettingUiType;
|
|
145
|
+
readonly scope: SiteSettingScope;
|
|
146
|
+
readonly schema: z.ZodType;
|
|
147
|
+
readonly defaultValue: unknown;
|
|
148
|
+
/** Only meaningful for `uiType: 'select'` — the closed set of choices the admin renders. */
|
|
149
|
+
readonly options?: readonly {
|
|
150
|
+
readonly value: string;
|
|
151
|
+
readonly label: string;
|
|
152
|
+
}[];
|
|
153
|
+
/**
|
|
154
|
+
* Only `admin` may write any of these (fiche 23 § "Critères d'acceptation":
|
|
155
|
+
* "réglages éditoriaux réservés à admin"). Kept on the descriptor rather
|
|
156
|
+
* than hardcoded in the router so a future setting could in principle name
|
|
157
|
+
* a different role — none does today, and the router still refuses
|
|
158
|
+
* anything this field does not say.
|
|
159
|
+
*/
|
|
160
|
+
readonly writeRoles: readonly string[];
|
|
161
|
+
}
|
|
162
|
+
export declare const SITE_SETTINGS_REGISTRY: readonly SiteSettingDefinition[];
|
|
163
|
+
export declare function siteSettingByKey(key: string): SiteSettingDefinition | undefined;
|
|
164
|
+
//# sourceMappingURL=site-settings-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-settings-registry.d.ts","sourceRoot":"","sources":["../../src/store/site-settings-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,YAChC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW;AACX;;;;GAIG;AACH,QAAQ;AACR;;;;;;;GAOG;AACH,OAAO;AACP;;;;;;;;;GASG;AACH,UAAU,CACF,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtE,eAAO,MAAM,mBAAmB,YAC9B,SAAS,EACT,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS;AACT;;;;;;;;GAQG;AACH,UAAU;AACV;;;;;;GAMG;AACH,UAAU;AACV;;;;;;;;;GASG;AACH,KAAK;AACL;;;;;;;;GAQG;AACH,eAAe;AACf;;;;;;;GAOG;AACH,WAAW;AACX;;;;;;;;;GASG;AACH,SAAS;AACT;;;;;;;;;;GAUG;AACH,YAAY;AACZ;;;;;;;;GAQG;AACH,UAAU,CACF,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,eAAO,MAAM,mBAAmB,YAAI,MAAM,EAAE,QAAQ,CAAU,CAAA;AAE9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,MAAM,WAAW,qBAAqB;IACpC,4FAA4F;IAC5F,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAChF;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AA4LD,eAAO,MAAM,sBAAsB,EAAE,SAAS,qBAAqB,EAu1BzD,CAAA;AAIV,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAE/E"}
|