@bagelink/blox 1.12.21 → 1.12.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/CmsPageView.vue.d.ts.map +1 -1
  2. package/dist/PreviewApp-C2T03Jm9.cjs +4 -0
  3. package/dist/PreviewApp-CmThrLvv.js +4 -0
  4. package/dist/PreviewApp.vue.d.ts.map +1 -1
  5. package/dist/PreviewApp.vue_vue_type_style_index_0_lang-B0N5QbfS.js +157 -0
  6. package/dist/PreviewApp.vue_vue_type_style_index_0_lang-BTuE4GmT.cjs +156 -0
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/bridge.d.ts +1 -0
  9. package/dist/bridge.d.ts.map +1 -1
  10. package/dist/core-C3Iu5qa2.js +460 -0
  11. package/dist/core-_fnHoEZN.cjs +459 -0
  12. package/dist/core.d.ts.map +1 -1
  13. package/dist/createBloxApp.d.ts +107 -0
  14. package/dist/createBloxApp.d.ts.map +1 -0
  15. package/dist/defineBlock.d.ts +2 -0
  16. package/dist/defineBlock.d.ts.map +1 -1
  17. package/dist/index.cjs +79 -572
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.mjs +78 -570
  21. package/dist/{prerender-6jE_obPj.cjs → prerender-Bi7YtzSp.cjs} +246 -6
  22. package/dist/prerender-D3Q4jKXm.js +522 -0
  23. package/dist/schema.d.ts +2 -0
  24. package/dist/schema.d.ts.map +1 -1
  25. package/dist/ssg/cli.cjs +48 -5
  26. package/dist/ssg/cli.mjs +48 -5
  27. package/dist/ssg/client.cjs +50 -3
  28. package/dist/ssg/client.d.ts +2 -1
  29. package/dist/ssg/client.d.ts.map +1 -1
  30. package/dist/ssg/client.mjs +49 -2
  31. package/dist/ssg/cms-routes.d.ts +21 -4
  32. package/dist/ssg/cms-routes.d.ts.map +1 -1
  33. package/dist/ssg/collection-cache.d.ts +53 -0
  34. package/dist/ssg/collection-cache.d.ts.map +1 -0
  35. package/dist/ssg/constants.d.ts +4 -0
  36. package/dist/ssg/constants.d.ts.map +1 -1
  37. package/dist/ssg/createSSREntry.d.ts +73 -0
  38. package/dist/ssg/createSSREntry.d.ts.map +1 -0
  39. package/dist/ssg/index.cjs +138 -6
  40. package/dist/ssg/index.d.ts +10 -3
  41. package/dist/ssg/index.d.ts.map +1 -1
  42. package/dist/ssg/index.mjs +124 -12
  43. package/dist/ssg/prerender.d.ts +19 -1
  44. package/dist/ssg/prerender.d.ts.map +1 -1
  45. package/dist/ssg/render-resolved-page.d.ts +13 -3
  46. package/dist/ssg/render-resolved-page.d.ts.map +1 -1
  47. package/dist/ssg/seo.d.ts +66 -0
  48. package/dist/ssg/seo.d.ts.map +1 -0
  49. package/dist/style.css +20 -0
  50. package/dist/vite-plugin.cjs +142 -3
  51. package/dist/vite-plugin.d.ts +22 -21
  52. package/dist/vite-plugin.d.ts.map +1 -1
  53. package/dist/vite-plugin.mjs +142 -3
  54. package/package.json +4 -1
  55. package/dist/PreviewApp-BZNzZkit.js +0 -4
  56. package/dist/PreviewApp-C1WvJWI4.cjs +0 -4
  57. package/dist/constants-BIbQhd3z.js +0 -4
  58. package/dist/constants-fZvybj0k.cjs +0 -3
  59. package/dist/prerender-DYmDaqcz.js +0 -282
@@ -1 +1 @@
1
- {"version":3,"file":"CmsPageView.vue.d.ts","sourceRoot":"","sources":["../src/CmsPageView.vue"],"names":[],"mappings":";AAkRA,wBAMG"}
1
+ {"version":3,"file":"CmsPageView.vue.d.ts","sourceRoot":"","sources":["../src/CmsPageView.vue"],"names":[],"mappings":";AA0XA,wBAMG"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-BTuE4GmT.cjs");
4
+ exports.default = PreviewApp_vue_vue_type_style_index_0_lang._sfc_main;
@@ -0,0 +1,4 @@
1
+ import { _ as _sfc_main } from "./PreviewApp.vue_vue_type_style_index_0_lang-B0N5QbfS.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewApp.vue.d.ts","sourceRoot":"","sources":["../src/PreviewApp.vue"],"names":[],"mappings":";AAyQA,wBAMG"}
1
+ {"version":3,"file":"PreviewApp.vue.d.ts","sourceRoot":"","sources":["../src/PreviewApp.vue"],"names":[],"mappings":";AA0QA,wBAMG"}
@@ -0,0 +1,157 @@
1
+ import { defineComponent, inject, ref, h, provide, onMounted, onUnmounted, createElementBlock, openBlock, createVNode, unref, nextTick } from "vue";
2
+ import { e as BLOX_REGISTRY_KEY, u as useLocale } from "./core-C3Iu5qa2.js";
3
+ function sendToEditor(msg) {
4
+ window.parent.postMessage(msg, "*");
5
+ }
6
+ function sendToPreview(iframe, msg) {
7
+ var _a;
8
+ (_a = iframe.contentWindow) == null ? void 0 : _a.postMessage(msg, "*");
9
+ }
10
+ const PreviewRenderer = defineComponent({
11
+ name: "PreviewRenderer",
12
+ props: {
13
+ blocks: {
14
+ type: Array,
15
+ default: () => []
16
+ },
17
+ selectedIndex: {
18
+ type: Number,
19
+ default: null
20
+ },
21
+ hoveredIndex: {
22
+ type: Number,
23
+ default: null
24
+ }
25
+ },
26
+ setup(props) {
27
+ const registry = inject(BLOX_REGISTRY_KEY, {});
28
+ const localHovered = ref(null);
29
+ function onBlockClick(index) {
30
+ sendToEditor({ type: "BLOX_BLOCK_CLICK", index });
31
+ }
32
+ function onBlockEnter(index) {
33
+ localHovered.value = index;
34
+ sendToEditor({ type: "BLOX_BLOCK_HOVER", index });
35
+ }
36
+ function onBlockLeave() {
37
+ localHovered.value = null;
38
+ sendToEditor({ type: "BLOX_BLOCK_HOVER", index: null });
39
+ }
40
+ return () => h(
41
+ "div",
42
+ { class: "blox-preview-canvas" },
43
+ props.blocks.flatMap((block, i) => {
44
+ const definition = registry[block.type];
45
+ if (!definition) return [];
46
+ const isSelected = props.selectedIndex === i;
47
+ const isHovered = (props.hoveredIndex === i || localHovered.value === i) && !isSelected;
48
+ const { label } = definition.schema;
49
+ return [
50
+ h(
51
+ "div",
52
+ {
53
+ "key": i,
54
+ "data-blox-index": i,
55
+ "class": [
56
+ "blox-block-wrapper",
57
+ isSelected && "blox-block--selected",
58
+ isHovered && "blox-block--hovered"
59
+ ],
60
+ "onClick": () => {
61
+ onBlockClick(i);
62
+ },
63
+ "onMouseenter": () => {
64
+ onBlockEnter(i);
65
+ },
66
+ "onMouseleave": onBlockLeave
67
+ },
68
+ [
69
+ h(definition.component, { ...definition.schema.defaults, ...block.props }),
70
+ h("div", { class: "blox-block-overlay" }),
71
+ (isSelected || isHovered) && h(
72
+ "div",
73
+ {
74
+ class: ["blox-block-label", isSelected && "blox-block-label--selected"]
75
+ },
76
+ label
77
+ )
78
+ ]
79
+ )
80
+ ];
81
+ })
82
+ );
83
+ }
84
+ });
85
+ const _hoisted_1 = { class: "blox-preview-root" };
86
+ const _sfc_main = /* @__PURE__ */ defineComponent({
87
+ __name: "PreviewApp",
88
+ setup(__props) {
89
+ const registry = inject(BLOX_REGISTRY_KEY, {});
90
+ const { setLocale } = useLocale();
91
+ const blocks = ref([]);
92
+ const contexts = ref({});
93
+ const selectedIndex = ref(null);
94
+ const hoveredIndex = ref(null);
95
+ provide("contexts", contexts);
96
+ let heightObserver = null;
97
+ function onMessage(event) {
98
+ var _a;
99
+ const msg = event.data;
100
+ switch (msg.type) {
101
+ case "BLOX_INIT":
102
+ blocks.value = ((_a = msg.page.page.content) == null ? void 0 : _a.blocks) ?? [];
103
+ contexts.value = msg.page.contexts ?? {};
104
+ setLocale(msg.locale);
105
+ break;
106
+ case "BLOX_SET_LOCALE":
107
+ setLocale(msg.locale);
108
+ break;
109
+ case "BLOX_SET_BLOCKS":
110
+ blocks.value = msg.blocks;
111
+ break;
112
+ case "BLOX_SELECT_BLOCK":
113
+ selectedIndex.value = msg.index;
114
+ if (msg.index !== null) {
115
+ nextTick(() => {
116
+ const el = document.querySelector(`[data-blox-index="${msg.index}"]`);
117
+ el == null ? void 0 : el.scrollIntoView({ behavior: "smooth", block: "center" });
118
+ });
119
+ }
120
+ break;
121
+ case "BLOX_HOVER_BLOCK":
122
+ hoveredIndex.value = msg.index;
123
+ break;
124
+ }
125
+ }
126
+ onMounted(() => {
127
+ window.addEventListener("message", onMessage);
128
+ heightObserver = new ResizeObserver(() => {
129
+ sendToEditor({ type: "BLOX_HEIGHT", height: document.body.scrollHeight });
130
+ });
131
+ heightObserver.observe(document.body);
132
+ sendToEditor({
133
+ type: "BLOX_READY",
134
+ registry: Object.fromEntries(Object.entries(registry).map(([key, def]) => [key, def.schema]))
135
+ });
136
+ });
137
+ onUnmounted(() => {
138
+ window.removeEventListener("message", onMessage);
139
+ heightObserver == null ? void 0 : heightObserver.disconnect();
140
+ });
141
+ return (_ctx, _cache) => {
142
+ return openBlock(), createElementBlock("div", _hoisted_1, [
143
+ createVNode(unref(PreviewRenderer), {
144
+ blocks: blocks.value,
145
+ "selected-index": selectedIndex.value,
146
+ "hovered-index": hoveredIndex.value
147
+ }, null, 8, ["blocks", "selected-index", "hovered-index"])
148
+ ]);
149
+ };
150
+ }
151
+ });
152
+ export {
153
+ PreviewRenderer as P,
154
+ _sfc_main as _,
155
+ sendToPreview as a,
156
+ sendToEditor as s
157
+ };
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const core = require("./core-_fnHoEZN.cjs");
4
+ function sendToEditor(msg) {
5
+ window.parent.postMessage(msg, "*");
6
+ }
7
+ function sendToPreview(iframe, msg) {
8
+ var _a;
9
+ (_a = iframe.contentWindow) == null ? void 0 : _a.postMessage(msg, "*");
10
+ }
11
+ const PreviewRenderer = vue.defineComponent({
12
+ name: "PreviewRenderer",
13
+ props: {
14
+ blocks: {
15
+ type: Array,
16
+ default: () => []
17
+ },
18
+ selectedIndex: {
19
+ type: Number,
20
+ default: null
21
+ },
22
+ hoveredIndex: {
23
+ type: Number,
24
+ default: null
25
+ }
26
+ },
27
+ setup(props) {
28
+ const registry = vue.inject(core.BLOX_REGISTRY_KEY, {});
29
+ const localHovered = vue.ref(null);
30
+ function onBlockClick(index) {
31
+ sendToEditor({ type: "BLOX_BLOCK_CLICK", index });
32
+ }
33
+ function onBlockEnter(index) {
34
+ localHovered.value = index;
35
+ sendToEditor({ type: "BLOX_BLOCK_HOVER", index });
36
+ }
37
+ function onBlockLeave() {
38
+ localHovered.value = null;
39
+ sendToEditor({ type: "BLOX_BLOCK_HOVER", index: null });
40
+ }
41
+ return () => vue.h(
42
+ "div",
43
+ { class: "blox-preview-canvas" },
44
+ props.blocks.flatMap((block, i) => {
45
+ const definition = registry[block.type];
46
+ if (!definition) return [];
47
+ const isSelected = props.selectedIndex === i;
48
+ const isHovered = (props.hoveredIndex === i || localHovered.value === i) && !isSelected;
49
+ const { label } = definition.schema;
50
+ return [
51
+ vue.h(
52
+ "div",
53
+ {
54
+ "key": i,
55
+ "data-blox-index": i,
56
+ "class": [
57
+ "blox-block-wrapper",
58
+ isSelected && "blox-block--selected",
59
+ isHovered && "blox-block--hovered"
60
+ ],
61
+ "onClick": () => {
62
+ onBlockClick(i);
63
+ },
64
+ "onMouseenter": () => {
65
+ onBlockEnter(i);
66
+ },
67
+ "onMouseleave": onBlockLeave
68
+ },
69
+ [
70
+ vue.h(definition.component, { ...definition.schema.defaults, ...block.props }),
71
+ vue.h("div", { class: "blox-block-overlay" }),
72
+ (isSelected || isHovered) && vue.h(
73
+ "div",
74
+ {
75
+ class: ["blox-block-label", isSelected && "blox-block-label--selected"]
76
+ },
77
+ label
78
+ )
79
+ ]
80
+ )
81
+ ];
82
+ })
83
+ );
84
+ }
85
+ });
86
+ const _hoisted_1 = { class: "blox-preview-root" };
87
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
88
+ __name: "PreviewApp",
89
+ setup(__props) {
90
+ const registry = vue.inject(core.BLOX_REGISTRY_KEY, {});
91
+ const { setLocale } = core.useLocale();
92
+ const blocks = vue.ref([]);
93
+ const contexts = vue.ref({});
94
+ const selectedIndex = vue.ref(null);
95
+ const hoveredIndex = vue.ref(null);
96
+ vue.provide("contexts", contexts);
97
+ let heightObserver = null;
98
+ function onMessage(event) {
99
+ var _a;
100
+ const msg = event.data;
101
+ switch (msg.type) {
102
+ case "BLOX_INIT":
103
+ blocks.value = ((_a = msg.page.page.content) == null ? void 0 : _a.blocks) ?? [];
104
+ contexts.value = msg.page.contexts ?? {};
105
+ setLocale(msg.locale);
106
+ break;
107
+ case "BLOX_SET_LOCALE":
108
+ setLocale(msg.locale);
109
+ break;
110
+ case "BLOX_SET_BLOCKS":
111
+ blocks.value = msg.blocks;
112
+ break;
113
+ case "BLOX_SELECT_BLOCK":
114
+ selectedIndex.value = msg.index;
115
+ if (msg.index !== null) {
116
+ vue.nextTick(() => {
117
+ const el = document.querySelector(`[data-blox-index="${msg.index}"]`);
118
+ el == null ? void 0 : el.scrollIntoView({ behavior: "smooth", block: "center" });
119
+ });
120
+ }
121
+ break;
122
+ case "BLOX_HOVER_BLOCK":
123
+ hoveredIndex.value = msg.index;
124
+ break;
125
+ }
126
+ }
127
+ vue.onMounted(() => {
128
+ window.addEventListener("message", onMessage);
129
+ heightObserver = new ResizeObserver(() => {
130
+ sendToEditor({ type: "BLOX_HEIGHT", height: document.body.scrollHeight });
131
+ });
132
+ heightObserver.observe(document.body);
133
+ sendToEditor({
134
+ type: "BLOX_READY",
135
+ registry: Object.fromEntries(Object.entries(registry).map(([key, def]) => [key, def.schema]))
136
+ });
137
+ });
138
+ vue.onUnmounted(() => {
139
+ window.removeEventListener("message", onMessage);
140
+ heightObserver == null ? void 0 : heightObserver.disconnect();
141
+ });
142
+ return (_ctx, _cache) => {
143
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
144
+ vue.createVNode(vue.unref(PreviewRenderer), {
145
+ blocks: blocks.value,
146
+ "selected-index": selectedIndex.value,
147
+ "hovered-index": hoveredIndex.value
148
+ }, null, 8, ["blocks", "selected-index", "hovered-index"])
149
+ ]);
150
+ };
151
+ }
152
+ });
153
+ exports.PreviewRenderer = PreviewRenderer;
154
+ exports._sfc_main = _sfc_main;
155
+ exports.sendToEditor = sendToEditor;
156
+ exports.sendToPreview = sendToPreview;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAe,MAAM,SAAS,CAAA;AAShF,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrE;AA+BD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAMxF;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,UAAU,EAAE,MAAM,EAClB,EAAE,MAAM,EAAE,CAAC,EAAE,MAAU,EAAE,KAAW,EAAE,GAAE,gBAAqB,GAC3D,OAAO,CAAC,mBAAmB,GAAG;IAAE,KAAK,EAAE,CAAC,EAAE,CAAA;CAAE,CAAC,CAK/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAe,MAAM,SAAS,CAAA;AAUhF,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrE;AAyCD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAMxF;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,UAAU,EAAE,MAAM,EAClB,EAAE,MAAM,EAAE,CAAC,EAAE,MAAU,EAAE,KAAW,EAAE,GAAE,gBAAqB,GAC3D,OAAO,CAAC,mBAAmB,GAAG;IAAE,KAAK,EAAE,CAAC,EAAE,CAAA;CAAE,CAAC,CAK/C"}
package/dist/bridge.d.ts CHANGED
@@ -6,6 +6,7 @@ export interface BlockSchemaInfo {
6
6
  icon?: string;
7
7
  fields: SchemaDefinition;
8
8
  defaults?: Record<string, unknown>;
9
+ dataSource?: boolean;
9
10
  }
10
11
  export type EditorMessage = {
11
12
  type: 'BLOX_INIT';
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,gBAAgB,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAMD,MAAM,MAAM,aAAa,GACpB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAMtD,MAAM,MAAM,cAAc,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAM3C,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAEtD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAEjF"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,gBAAgB,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAMD,MAAM,MAAM,aAAa,GACpB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAMtD,MAAM,MAAM,cAAc,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAM3C,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAEtD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAEjF"}