@zenithbuild/runtime 0.2.1 → 0.5.0-beta.2.12

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.
@@ -1,44 +0,0 @@
1
- /**
2
- * Runtime Hydration Layer (Phase 5)
3
- *
4
- * Browser-side runtime that hydrates static HTML with dynamic expressions
5
- *
6
- * This runtime:
7
- * - Locates DOM placeholders (data-zen-text, data-zen-attr-*)
8
- * - Evaluates precompiled expressions against state
9
- * - Updates DOM textContent, attributes, and properties
10
- * - Binds event handlers
11
- * - Handles reactive state updates
12
- */
13
- /**
14
- * Hydrate static HTML with dynamic expressions (Phase 5 Strategy)
15
- *
16
- * @param state - The state object to evaluate expressions against
17
- * @param container - The container element to hydrate (defaults to document)
18
- */
19
- export declare function hydrateDom(state: any, container?: Document | Element): void;
20
- /**
21
- * Bind event handlers to DOM elements
22
- *
23
- * @param container - The container element to bind events in (defaults to document)
24
- */
25
- export declare function bindEvents(container?: Document | Element): void;
26
- /**
27
- * Update all bindings when state changes
28
- *
29
- * @param state - The new state object
30
- */
31
- export declare function updateDom(state: any): void;
32
- /**
33
- * Initialize the expression registry
34
- * Called once when the runtime loads
35
- *
36
- * @param expressions - Map of expression IDs to evaluation functions
37
- */
38
- export declare function initExpressions(expressions: Map<string, (state: any) => any>): void;
39
- /**
40
- * Clear all bindings and event listeners
41
- * Useful for cleanup when navigating away
42
- */
43
- export declare function cleanupDom(container?: Document | Element): void;
44
- //# sourceMappingURL=dom-hydration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom-hydration.d.ts","sourceRoot":"","sources":["../src/dom-hydration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,GAAE,QAAQ,GAAG,OAAkB,GAAG,IAAI,CAyDrF;AAmGD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,GAAE,QAAQ,GAAG,OAAkB,GAAG,IAAI,CAwCzE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAqB1C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAInF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,GAAE,QAAQ,GAAG,OAAkB,GAAG,IAAI,CAkBzE"}
@@ -1,272 +0,0 @@
1
- /**
2
- * Runtime Hydration Layer (Phase 5)
3
- *
4
- * Browser-side runtime that hydrates static HTML with dynamic expressions
5
- *
6
- * This runtime:
7
- * - Locates DOM placeholders (data-zen-text, data-zen-attr-*)
8
- * - Evaluates precompiled expressions against state
9
- * - Updates DOM textContent, attributes, and properties
10
- * - Binds event handlers
11
- * - Handles reactive state updates
12
- */
13
- const bindings = [];
14
- /**
15
- * Hydrate static HTML with dynamic expressions (Phase 5 Strategy)
16
- *
17
- * @param state - The state object to evaluate expressions against
18
- * @param container - The container element to hydrate (defaults to document)
19
- */
20
- export function hydrateDom(state, container = document) {
21
- if (!state) {
22
- console.warn('[Zenith] hydrateDom called without state object');
23
- return;
24
- }
25
- // Store state globally for event handlers
26
- if (typeof window !== 'undefined') {
27
- window.__ZENITH_STATE__ = state;
28
- }
29
- // Clear existing bindings
30
- bindings.length = 0;
31
- // Find all text expression placeholders
32
- const textPlaceholders = container.querySelectorAll('[data-zen-text]');
33
- for (let i = 0; i < textPlaceholders.length; i++) {
34
- const node = textPlaceholders[i];
35
- if (!node)
36
- continue;
37
- const expressionId = node.getAttribute('data-zen-text');
38
- if (!expressionId)
39
- continue;
40
- bindings.push({
41
- node,
42
- type: 'text',
43
- expressionId
44
- });
45
- updateTextBinding(node, expressionId, state);
46
- }
47
- // Find all attribute expression placeholders
48
- const attrPlaceholders = container.querySelectorAll('[data-zen-attr-class], [data-zen-attr-style], [data-zen-attr-src], [data-zen-attr-href], [data-zen-attr-disabled], [data-zen-attr-checked]');
49
- for (let i = 0; i < attrPlaceholders.length; i++) {
50
- const node = attrPlaceholders[i];
51
- if (!(node instanceof Element))
52
- continue;
53
- // Check each possible attribute
54
- const attrNames = ['class', 'style', 'src', 'href', 'disabled', 'checked'];
55
- for (const attrName of attrNames) {
56
- const expressionId = node.getAttribute(`data-zen-attr-${attrName}`);
57
- if (!expressionId)
58
- continue;
59
- bindings.push({
60
- node,
61
- type: 'attribute',
62
- attributeName: attrName,
63
- expressionId
64
- });
65
- updateAttributeBinding(node, attrName, expressionId, state);
66
- }
67
- }
68
- // Bind event handlers
69
- bindEvents(container);
70
- }
71
- /**
72
- * Update a text binding
73
- */
74
- function updateTextBinding(node, expressionId, state) {
75
- try {
76
- const expression = window.__ZENITH_EXPRESSIONS__?.get(expressionId);
77
- if (!expression) {
78
- console.warn(`[Zenith] Expression ${expressionId} not found in registry`);
79
- return;
80
- }
81
- const result = expression(state);
82
- // Handle different result types
83
- if (result === null || result === undefined || result === false) {
84
- node.textContent = '';
85
- }
86
- else if (typeof result === 'string' || typeof result === 'number') {
87
- node.textContent = String(result);
88
- }
89
- else if (result instanceof Node) {
90
- // Replace node with result node
91
- if (node.parentNode) {
92
- node.parentNode.replaceChild(result, node);
93
- }
94
- }
95
- else if (Array.isArray(result)) {
96
- // Handle array results (for map expressions)
97
- if (node.parentNode) {
98
- const fragment = document.createDocumentFragment();
99
- for (const item of result) {
100
- if (item instanceof Node) {
101
- fragment.appendChild(item);
102
- }
103
- else {
104
- fragment.appendChild(document.createTextNode(String(item)));
105
- }
106
- }
107
- node.parentNode.replaceChild(fragment, node);
108
- }
109
- }
110
- else {
111
- node.textContent = String(result);
112
- }
113
- }
114
- catch (error) {
115
- console.error(`[Zenith] Error evaluating expression ${expressionId}:`, error);
116
- console.error('Expression ID:', expressionId, 'State:', state);
117
- }
118
- }
119
- /**
120
- * Update an attribute binding
121
- */
122
- function updateAttributeBinding(element, attributeName, expressionId, state) {
123
- try {
124
- const expression = window.__ZENITH_EXPRESSIONS__?.get(expressionId);
125
- if (!expression) {
126
- console.warn(`[Zenith] Expression ${expressionId} not found in registry`);
127
- return;
128
- }
129
- const result = expression(state);
130
- // Handle different attribute types
131
- if (attributeName === 'class' || attributeName === 'className') {
132
- element.className = String(result ?? '');
133
- }
134
- else if (attributeName === 'style') {
135
- if (typeof result === 'string') {
136
- element.setAttribute('style', result);
137
- }
138
- else if (result && typeof result === 'object') {
139
- // Handle style object
140
- const styleStr = Object.entries(result)
141
- .map(([key, value]) => `${key}: ${value}`)
142
- .join('; ');
143
- element.setAttribute('style', styleStr);
144
- }
145
- }
146
- else if (attributeName === 'disabled' || attributeName === 'checked' || attributeName === 'readonly') {
147
- // Boolean attributes
148
- if (result) {
149
- element.setAttribute(attributeName, '');
150
- }
151
- else {
152
- element.removeAttribute(attributeName);
153
- }
154
- }
155
- else {
156
- // Regular attributes
157
- if (result === null || result === undefined || result === false) {
158
- element.removeAttribute(attributeName);
159
- }
160
- else {
161
- element.setAttribute(attributeName, String(result));
162
- }
163
- }
164
- }
165
- catch (error) {
166
- console.error(`[Zenith] Error updating attribute ${attributeName} with expression ${expressionId}:`, error);
167
- console.error('Expression ID:', expressionId, 'State:', state);
168
- }
169
- }
170
- /**
171
- * Bind event handlers to DOM elements
172
- *
173
- * @param container - The container element to bind events in (defaults to document)
174
- */
175
- export function bindEvents(container = document) {
176
- const eventTypes = ['click', 'change', 'input', 'submit', 'focus', 'blur', 'keyup', 'keydown'];
177
- for (const eventType of eventTypes) {
178
- const elements = container.querySelectorAll(`[data-zen-${eventType}]`);
179
- for (let i = 0; i < elements.length; i++) {
180
- const element = elements[i];
181
- if (!(element instanceof Element))
182
- continue;
183
- const handlerName = element.getAttribute(`data-zen-${eventType}`);
184
- if (!handlerName)
185
- continue;
186
- // Remove existing listener if any (to avoid duplicates)
187
- const existingHandler = element[`__zen_${eventType}_handler`];
188
- if (existingHandler) {
189
- element.removeEventListener(eventType, existingHandler);
190
- }
191
- // Create new handler
192
- const handler = (event) => {
193
- try {
194
- // Get handler function from window (functions are registered on window)
195
- const handlerFunc = window[handlerName];
196
- if (typeof handlerFunc === 'function') {
197
- handlerFunc(event, element);
198
- }
199
- else {
200
- console.warn(`[Zenith] Event handler "${handlerName}" not found for ${eventType} event`);
201
- }
202
- }
203
- catch (error) {
204
- console.error(`[Zenith] Error executing event handler "${handlerName}":`, error);
205
- }
206
- };
207
- element[`__zen_${eventType}_handler`] = handler;
208
- element.addEventListener(eventType, handler);
209
- }
210
- }
211
- }
212
- /**
213
- * Update all bindings when state changes
214
- *
215
- * @param state - The new state object
216
- */
217
- export function updateDom(state) {
218
- if (!state) {
219
- console.warn('[Zenith] updateDom called without state object');
220
- return;
221
- }
222
- // Update global state
223
- if (typeof window !== 'undefined') {
224
- window.__ZENITH_STATE__ = state;
225
- }
226
- // Update all tracked bindings
227
- for (const binding of bindings) {
228
- if (binding.type === 'text') {
229
- updateTextBinding(binding.node, binding.expressionId, state);
230
- }
231
- else if (binding.type === 'attribute' && binding.attributeName) {
232
- if (binding.node instanceof Element) {
233
- updateAttributeBinding(binding.node, binding.attributeName, binding.expressionId, state);
234
- }
235
- }
236
- }
237
- }
238
- /**
239
- * Initialize the expression registry
240
- * Called once when the runtime loads
241
- *
242
- * @param expressions - Map of expression IDs to evaluation functions
243
- */
244
- export function initExpressions(expressions) {
245
- if (typeof window !== 'undefined') {
246
- window.__ZENITH_EXPRESSIONS__ = expressions;
247
- }
248
- }
249
- /**
250
- * Clear all bindings and event listeners
251
- * Useful for cleanup when navigating away
252
- */
253
- export function cleanupDom(container = document) {
254
- // Remove event listeners
255
- const eventTypes = ['click', 'change', 'input', 'submit', 'focus', 'blur', 'keyup', 'keydown'];
256
- for (const eventType of eventTypes) {
257
- const elements = container.querySelectorAll(`[data-zen-${eventType}]`);
258
- for (let i = 0; i < elements.length; i++) {
259
- const element = elements[i];
260
- if (!(element instanceof Element))
261
- continue;
262
- const handler = element[`__zen_${eventType}_handler`];
263
- if (handler) {
264
- element.removeEventListener(eventType, handler);
265
- delete element[`__zen_${eventType}_handler`];
266
- }
267
- }
268
- }
269
- // Clear bindings
270
- bindings.length = 0;
271
- }
272
- //# sourceMappingURL=dom-hydration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom-hydration.js","sourceRoot":"","sources":["../src/dom-hydration.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,90 +0,0 @@
1
- export type Signal<T> = ((v?: T) => T) & {
2
- _isSignal: true;
3
- };
4
- export type Memo<T> = Signal<T>;
5
- export type Ref<T> = {
6
- current: T;
7
- };
8
- export type EffectFn = () => (void | (() => void));
9
- export type DisposeFn = () => void;
10
- export type Subscriber = {
11
- run: () => void;
12
- dependencies: Set<Set<any>>;
13
- isRunning: boolean;
14
- };
15
- export type TrackingContext = {
16
- subscriber: Subscriber;
17
- };
18
- export type MountCallback = () => void;
19
- export type UnmountCallback = () => void;
20
- declare global {
21
- interface Window {
22
- __ZENITH_RUNTIME__: any;
23
- __ZENITH_STATE__: any;
24
- __ZENITH_SCOPES__: any;
25
- __ZENITH_EXPRESSIONS__: any;
26
- __zenith: any;
27
- zenSignal: any;
28
- zenState: any;
29
- zenEffect: any;
30
- zenMemo: any;
31
- zenBatch: any;
32
- zenUntrack: any;
33
- zenRef: any;
34
- zenOnMount: any;
35
- zenOnUnmount: any;
36
- zenithHydrate: any;
37
- zenithNotify: any;
38
- zenithSubscribe: any;
39
- zenOrder: any;
40
- zenFixSVGNamespace: any;
41
- }
42
- }
43
- export declare const trackDependency: (s: Set<any>) => void;
44
- export declare const notifySubscribers: (s: Set<any> | undefined) => void;
45
- export declare const getCurrentContext: () => any;
46
- export declare const pushContext: (e: any) => void;
47
- export declare const popContext: () => void;
48
- export declare const cleanupContext: (e: any) => void;
49
- export declare const startBatch: () => void;
50
- export declare const endBatch: () => void;
51
- export declare const isBatching: () => boolean;
52
- export declare const runUntracked: <T>(fn: () => T) => T;
53
- export declare const triggerMount: () => void;
54
- export declare const triggerUnmount: () => void;
55
- export declare const executeUnmountCallbacks: () => void;
56
- export declare const getIsMounted: () => boolean;
57
- export declare const getUnmountCallbackCount: () => number;
58
- export declare const resetMountState: () => void;
59
- export declare const resetUnmountState: () => void;
60
- export declare function mountComponent(scopeId: string): void;
61
- export declare function zenRoute(): {
62
- path: string;
63
- slugs: string[];
64
- };
65
- export declare const signal: (v: any) => {
66
- (nV?: any): any;
67
- _isSignal: boolean;
68
- toString(): string;
69
- valueOf(): any;
70
- };
71
- export declare const state: (o: any) => any;
72
- export declare const effect: (fn: () => any, opts?: any) => () => void;
73
- export declare const memo: (fn: () => any) => {
74
- (): any;
75
- _isSignal: boolean;
76
- };
77
- export declare const batch: (fn: () => void) => void;
78
- export declare const untrack: (fn: () => any) => any;
79
- export declare const ref: (i: any) => {
80
- current: any;
81
- };
82
- export declare const onMount: (cb: () => void) => void;
83
- export declare const onUnmount: (cb: () => void) => void;
84
- export declare function hydrate(state: any, container?: Element | Document, locals?: any): void;
85
- export declare function order(fn: () => void): void;
86
- export declare function h(tag: string, props: any, children: any): HTMLElement | SVGElement;
87
- export declare function fragment(c: any): DocumentFragment;
88
- export * from './dom-hydration.js';
89
- export * from './thin-runtime.js';
90
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,mCAAmC;AAuCnC,4BAA4B;AAC5B,IAAI,EAAE,GAAQ,IAAI,CAAC;AACnB,IAAI,EAAE,GAAU,EAAE,CAAC;AACnB,IAAI,EAAE,GAAG,CAAC,CAAC;AACX,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,MAAM,EAAE,GAAG,IAAI,GAAG,EAAO,CAAC;AAE1B,kBAAkB;AAClB,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAc,CAAC;AAE/C,8BAA8B;AAC9B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAW,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;IAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAuB,EAAE,EAAE;IACzD,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,CAAC,SAAS;YAAE,SAAS;QAC1B,IAAI,EAAE,GAAG,CAAC,IAAI,UAAU;YAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;YAC/B,CAAC,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAM,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAM,EAAE,EAAE,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY;IAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACnH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;IAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,EAAW,EAAK,EAAE;IAC9C,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,IAAI,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,UAAU,EAAE,CAAC;IAAC,CAAC;AAClD,CAAC,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,SAAS,GAAG,KAAK,CAAC;IAClB,uBAAuB,EAAE,CAAC;AAC9B,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACxC,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAChC,IAAI,CAAC;YAAC,EAAE,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;IAC/E,CAAC;IACD,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAErE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAChC,MAAM,CAAC,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAClC,CAAC;AAED,sCAAsC;AACtC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;AAExC,MAAM,UAAU,cAAc,CAAC,OAAe;IAC1C,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IACvC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACpC,KAAK,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,MAAM,EAAE,GAAG,WAAW,CAAC;AACvB,MAAM,EAAE,GAAG,UAAU,CAAC;AACtB,MAAM,EAAE,GAAG,eAAe,CAAC;AAC3B,MAAM,EAAE,GAAG,iBAAiB,CAAC;AAC7B,MAAM,GAAG,GAAG,cAAc,CAAC;AAE3B,MAAM,UAAU,QAAQ;IACpB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtC,OAAO;QACH,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;KACzC,CAAC;AACN,CAAC;AAED,SAAS,aAAa;IAClB,IAAI,cAAc;QAAE,OAAO;IAC3B,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,CAAC,GAAG,EAAE;QAChB,cAAc,GAAG,KAAK,CAAC;QACvB,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,YAAY;IACjB,IAAI,UAAU,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO;IACjC,UAAU,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,CAAC,CAAC,SAAS;oBAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;YAAS,CAAC;QACP,UAAU,GAAG,KAAK,CAAC;IACvB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAM;IAClC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAO,CAAC;IACzB,SAAS,GAAG,CAAC,EAAQ;QACjB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAChD,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAAC,CAAC,GAAG,EAAE,CAAC;YAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,aAAa,EAAE,CAAC;QAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAAC,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAM;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,SAAS,EAAE,CAAC,CAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,SAAS,MAAM,CAAC,CAAS,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC1D,SAAS,SAAS,CAAC,CAAS,EAAE,EAAO,IAAI,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,SAAS,EAAE,CAAC,GAAQ,EAAE,KAAK,GAAG,EAAE;QAC5B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,GAAG,CAAC;QACzE,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;YAClB,GAAG,CAAC,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;oBAAE,OAAO,MAAM,CAAC;gBACrD,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC3D,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzD,EAAE,CAAC,EAAE,CAAC,IAAI,CAAE,CAAC,CAAC;gBACd,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS;oBAAE,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC5E,OAAO,CAAC,CAAC;YACb,CAAC;YACD,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACR,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBACtD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,UAAU,IAAI,EAAE,CAAC,SAAS;oBAAE,EAAE,CAAC,EAAE,CAAC,CAAC;qBACtD,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACjB,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACV,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBACb,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5B,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvC,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACrC,IAAI,EAAE;4BAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvB,CAAC;oBACD,aAAa,EAAE,CAAC;gBACpB,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,EAAa,EAAE,OAAY,EAAE;IACzD,IAAI,EAAO,EAAE,EAAO,CAAC;IACrB,MAAM,EAAE,GAAQ;QACZ,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,SAAS,EAAE,KAAK;QAChB,GAAG,EAAE,GAAG,EAAE;YACN,IAAI,EAAE,CAAC,SAAS;gBAAE,OAAO;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,EAAE;oBAAE,YAAY,CAAC,EAAE,CAAC,CAAC;gBACzB,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC;;gBAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;KACJ,CAAC;IACF,SAAS,EAAE;QACP,IAAI,EAAE,CAAC,SAAS;YAAE,OAAO;QACzB,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;QACpB,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,EAAE,CAAC,EAAE,CAAC,CAAC;QACP,IAAI,CAAC;YAAC,IAAI,EAAE;gBAAE,EAAE,EAAE,CAAC;YAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QAAC,CAAC;gBACxB,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,EAAE,EAAE,CAAC;IACtB,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,EAAa;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,EAAc;IACzC,UAAU,EAAE,CAAC;IACb,IAAI,CAAC;QAAC,EAAE,EAAE,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,QAAQ,EAAE,CAAC;IAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,EAAa;IAC1C,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAc,EAAE,EAAE;IACtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACrF,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACJ,4CAA4C;QAC5C,IAAI,SAAS;YAAE,EAAE,EAAE,CAAC;IACxB,CAAC;AACL,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAc,EAAE,EAAE;IACxC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,kBAAkB;AAClB,SAAS,EAAE,CAAC,MAAY,EAAE,KAAU;IAChC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO;IAE7C,IAAI,EAAE,GAAG,KAAK,CAAC;IACf,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACxC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACd,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAK,MAAc,CAAC,OAAO,IAAK,MAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;IAEvG,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClD,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,MAAM,CAAC,GAAG,EAAE;gBACR,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;gBACpB,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/B,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;wBAC7B,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;wBAC7B,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,QAAQ,GAAW,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,EAAE;gBACR,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;gBACf,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;oBAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,QAAQ,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK;oBAAE,OAAO;gBACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACjB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK;wBAAE,OAAO;oBAC3C,MAAM,IAAI,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjF,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChB,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACrC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACf,CAAC;IACL,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,WAAW,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;AACL,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,OAAO,CAAC,KAAU,EAAE,YAAgC,QAAQ,EAAE,SAAc,EAAE;IAC1F,MAAM,EAAE,GAAI,MAAc,CAAC,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE;QAAE,OAAO;IACxD,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE5B,SAAS,OAAO,CAAC,KAAU,EAAE,GAAW;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAC/E,IAAI,IAAI,YAAY,gBAAgB,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;gBACxD,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAExC,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC3C,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC/C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzE,CAAC,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,WAAW,GAAG,YAAY,CAAC;YACpC,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC;YAC9B,MAAM,CAAC,GAAG,EAAE;gBACR,MAAM,IAAI,GAAG,QAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;gBAC3C,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAClC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC1B,CAAC;YACL,CAAC,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;YAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;gBAChE,IAAI,OAAO;oBAAE,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC,CAAC;;oBAC1E,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAO,EAAE,EAAE;YACpC,IAAK,CAAa,CAAC,OAAO,KAAK,OAAO,IAAK,CAAa,CAAC,OAAO,KAAK,MAAM;gBAAE,OAAO;YACpF,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,SAAqB,CAAC;IAClF,IAAI,QAAQ,EAAE,CAAC;QACX,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACJ,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7C,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,GAAG,EAAE;QAChB,YAAY,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;YAC1B,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,KAAK,CAAC,EAAc;IAChC,IAAI,OAAO,EAAE,KAAK,UAAU;QAAE,EAAE,EAAE,CAAC;AACvC,CAAC;AAED,cAAc;AACd,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAC3C,MAAM,UAAU,CAAC,CAAC,GAAW,EAAE,KAAU,EAAE,QAAa;IACpD,MAAM,MAAM,GAAG,4BAA4B,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtoB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,QAAQ,IAAI,gBAAgB,KAAK,MAAM,CAAC;IAEhE,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAEjG,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;IAC3C,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACjC,gBAAgB,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,KAAU,EAAE,EAAE;YAC9C,IAAI,eAAe,IAAI,WAAW,IAAI,OAAO,IAAI,OAAQ,OAAe,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC7F,OAAe,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACH,OAAe,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;QACL,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC;oBAAG,CAAS,CAAC,OAAO,GAAG,EAAE,CAAC;qBACrE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;gBACtF,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI,EAAE,GAAG,CAAC,CAAC;gBACX,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAK,CAAS,CAAC,EAAE;oBAAE,EAAE,GAAI,CAAS,CAAC,EAAE,CAAC;gBACpE,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;oBAC3B,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;wBAChD,MAAM,CAAC,GAAI,EAAe,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3C,IAAI,OAAO,CAAC,KAAK,UAAU;4BAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,EAAE,GAAG,CAAC,CAAC;gBACX,IAAI,EAAE,GAAG,IAAI,CAAC;gBACd,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAK,CAAS,CAAC,EAAE,EAAE,CAAC;oBACzC,EAAE,GAAI,CAAS,CAAC,EAAE,CAAC;oBACnB,EAAE,GAAI,CAAS,CAAC,EAAE,CAAC;gBACvB,CAAC;gBACD,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,EAAE;wBACR,MAAM,GAAG,GAAI,EAAe,EAAE,CAAC;wBAC/B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,WAAW;4BAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;6BACrD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,KAAK;4BAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;6BACxD,IAAI,EAAE,CAAC,YAAY;4BAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,WAAW;wBAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;yBACnD,IAAI,EAAE,CAAC,YAAY;wBAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9D,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB,GAAG,iBAAiB,CAAC;IACrC,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAM;IAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC;AACb,CAAC;AAED,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Thin Runtime
3
- *
4
- * Phase 8/9/10: Declarative runtime for DOM updates and event binding
5
- *
6
- * This runtime is purely declarative - it:
7
- * - Updates DOM nodes by ID
8
- * - Binds event handlers
9
- * - Reacts to state changes
10
- * - Does NOT parse templates or expressions
11
- * - Does NOT use eval, new Function, or with(window)
12
- */
13
- /**
14
- * Generate thin declarative runtime code
15
- *
16
- * This runtime is minimal and safe - it only:
17
- * 1. Updates DOM nodes using pre-compiled expression functions
18
- * 2. Binds event handlers by ID
19
- * 3. Provides reactive state updates
20
- *
21
- * All expressions are pre-compiled at build time.
22
- */
23
- export declare function generateThinRuntime(): string;
24
- //# sourceMappingURL=thin-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thin-runtime.d.ts","sourceRoot":"","sources":["../src/thin-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuI5C"}
@@ -1,159 +0,0 @@
1
- /**
2
- * Thin Runtime
3
- *
4
- * Phase 8/9/10: Declarative runtime for DOM updates and event binding
5
- *
6
- * This runtime is purely declarative - it:
7
- * - Updates DOM nodes by ID
8
- * - Binds event handlers
9
- * - Reacts to state changes
10
- * - Does NOT parse templates or expressions
11
- * - Does NOT use eval, new Function, or with(window)
12
- */
13
- /**
14
- * Generate thin declarative runtime code
15
- *
16
- * This runtime is minimal and safe - it only:
17
- * 1. Updates DOM nodes using pre-compiled expression functions
18
- * 2. Binds event handlers by ID
19
- * 3. Provides reactive state updates
20
- *
21
- * All expressions are pre-compiled at build time.
22
- */
23
- export function generateThinRuntime() {
24
- return `
25
- // Zenith Thin Runtime (Phase 8/9/10)
26
- // Purely declarative - no template parsing, no eval, no with(window)
27
-
28
- (function() {
29
- 'use strict';
30
-
31
- /**
32
- * Update a single DOM node with expression result
33
- * Node is identified by data-zen-text or data-zen-attr-* attribute
34
- */
35
- function updateNode(node, expressionId, state, loaderData, props, stores) {
36
- const expression = window.__ZENITH_EXPRESSIONS__.get(expressionId);
37
- if (!expression) {
38
- console.warn('[Zenith] Expression not found:', expressionId);
39
- return;
40
- }
41
-
42
- try {
43
- const result = expression(state, loaderData, props, stores);
44
-
45
- // Update node based on attribute type
46
- if (node.hasAttribute('data-zen-text')) {
47
- // Text node update
48
- if (result === null || result === undefined || result === false) {
49
- node.textContent = '';
50
- } else {
51
- node.textContent = String(result);
52
- }
53
- } else {
54
- // Attribute update - determine attribute name from data-zen-attr-*
55
- const attrMatch = Array.from(node.attributes)
56
- .find(attr => attr.name.startsWith('data-zen-attr-'));
57
-
58
- if (attrMatch) {
59
- const attrName = attrMatch.name.replace('data-zen-attr-', '');
60
-
61
- if (attrName === 'class' || attrName === 'className') {
62
- node.className = String(result ?? '');
63
- } else if (attrName === 'style') {
64
- if (typeof result === 'string') {
65
- node.setAttribute('style', result);
66
- }
67
- } else if (attrName === 'disabled' || attrName === 'checked') {
68
- if (result) {
69
- node.setAttribute(attrName, '');
70
- } else {
71
- node.removeAttribute(attrName);
72
- }
73
- } else {
74
- if (result != null && result !== false) {
75
- node.setAttribute(attrName, String(result));
76
- } else {
77
- node.removeAttribute(attrName);
78
- }
79
- }
80
- }
81
- }
82
- } catch (error) {
83
- console.error('[Zenith] Error updating node:', expressionId, error);
84
- }
85
- }
86
-
87
- /**
88
- * Update all hydrated nodes
89
- * Called when state changes
90
- */
91
- function updateAll(state, loaderData, props, stores) {
92
- // Find all nodes with hydration markers
93
- const textNodes = document.querySelectorAll('[data-zen-text]');
94
- const attrNodes = document.querySelectorAll('[data-zen-attr-class], [data-zen-attr-style], [data-zen-attr-src], [data-zen-attr-href]');
95
-
96
- textNodes.forEach(node => {
97
- const expressionId = node.getAttribute('data-zen-text');
98
- if (expressionId) {
99
- updateNode(node, expressionId, state, loaderData, props, stores);
100
- }
101
- });
102
-
103
- attrNodes.forEach(node => {
104
- const attrMatch = Array.from(node.attributes)
105
- .find(attr => attr.name.startsWith('data-zen-attr-'));
106
- if (attrMatch) {
107
- const expressionId = attrMatch.value;
108
- if (expressionId) {
109
- updateNode(node, expressionId, state, loaderData, props, stores);
110
- }
111
- }
112
- });
113
- }
114
-
115
- /**
116
- * Bind event handlers
117
- * Handlers are pre-compiled and registered on window
118
- */
119
- function bindEvents(container) {
120
- container = container || document;
121
-
122
- const eventTypes = ['click', 'change', 'input', 'submit', 'focus', 'blur', 'keyup', 'keydown', 'mouseenter'];
123
-
124
- eventTypes.forEach(eventType => {
125
- const elements = container.querySelectorAll('[data-zen-' + eventType + ']');
126
- elements.forEach(element => {
127
- const handlerName = element.getAttribute('data-zen-' + eventType);
128
- if (!handlerName) return;
129
-
130
- // Remove existing handler
131
- const handlerKey = '__zen_' + eventType + '_handler';
132
- const existingHandler = element[handlerKey];
133
- if (existingHandler) {
134
- element.removeEventListener(eventType, existingHandler);
135
- }
136
-
137
- // Bind new handler (pre-compiled, registered on window)
138
- const handler = function(event) {
139
- const handlerFunc = window[handlerName];
140
- if (typeof handlerFunc === 'function') {
141
- handlerFunc(event, element);
142
- }
143
- };
144
-
145
- element[handlerKey] = handler;
146
- element.addEventListener(eventType, handler);
147
- });
148
- });
149
- }
150
-
151
- // Export to window
152
- if (typeof window !== 'undefined') {
153
- window.__zenith_updateAll = updateAll;
154
- window.__zenith_bindEvents = bindEvents;
155
- }
156
- })();
157
- `;
158
- }
159
- //# sourceMappingURL=thin-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thin-runtime.js","sourceRoot":"","sources":["../src/thin-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqIV,CAAA;AACD,CAAC"}