@hozu/transform 0.7.0 → 0.8.0

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 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB;AAqKD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,eAAe,CAmTrE"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB;AAkLD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,eAAe,CAobrE"}
package/dist/transform.js CHANGED
@@ -2,7 +2,20 @@ import { stripTypeScriptTypes } from 'node:module';
2
2
  import { parse } from 'acorn';
3
3
  const H = '__hozu';
4
4
  const HEADER = `import { lower as ${H} } from '@hozu/core/lower';`;
5
- const BUILDERS = new Set(['machine', 'on', 'invoke', 'query', 'mutation', 'endpoint']);
5
+ const BUILDERS = new Set(['machine', 'on', 'invoke', 'query', 'mutation', 'endpoint', 'part']);
6
+ const UI_REFS = new Set(['env', 'alternate']);
7
+ const UI_VALUES = new Set([
8
+ 'env',
9
+ 'alternate',
10
+ 'link',
11
+ 'asset',
12
+ 'send',
13
+ 'og',
14
+ 'page',
15
+ 'messages',
16
+ 'widget',
17
+ 'view',
18
+ ]);
6
19
  const COMPARE = {
7
20
  '===': 'eq',
8
21
  '==': 'eq',
@@ -180,13 +193,33 @@ export function transform(source, _file = '') {
180
193
  const js = strip(source);
181
194
  const program = parse(js, { ecmaVersion: 'latest', sourceType: 'module' });
182
195
  const locals = new Map();
196
+ const imported = new Set();
183
197
  for (const stmt of program.body)
184
- if (stmt.type === 'ImportDeclaration' && stmt.source.value === '@hozu/core')
185
- for (const s of stmt.specifiers)
186
- if (s.type === 'ImportSpecifier')
198
+ if (stmt.type === 'ImportDeclaration')
199
+ for (const s of stmt.specifiers) {
200
+ if (stmt.source.value !== '@hozu/core')
201
+ imported.add(s.local.name);
202
+ else if (s.type === 'ImportSpecifier')
187
203
  locals.set(s.local.name, s.imported.name ?? s.imported.value);
204
+ }
188
205
  if (!locals.size)
189
206
  return { code: source, changed: false };
207
+ const lineStarts = [0];
208
+ for (let i = 0; i < source.length; i++)
209
+ if (source[i] === '\n')
210
+ lineStarts.push(i + 1);
211
+ const position = (offset) => {
212
+ let lo = 0;
213
+ let hi = lineStarts.length - 1;
214
+ while (lo < hi) {
215
+ const mid = (lo + hi + 1) >> 1;
216
+ if (lineStarts[mid] <= offset)
217
+ lo = mid;
218
+ else
219
+ hi = mid - 1;
220
+ }
221
+ return [lo + 1, offset - lineStarts[lo] + 1];
222
+ };
190
223
  const moduleHelpers = new Map();
191
224
  for (const stmt of program.body) {
192
225
  const d = stmt.type === 'ExportNamedDeclaration' ? stmt.declaration : stmt;
@@ -197,6 +230,10 @@ export function transform(source, _file = '') {
197
230
  if (v.id.type === 'Identifier' && v.init)
198
231
  moduleHelpers.set(v.id.name, v.init);
199
232
  }
233
+ const plainFunction = (name) => {
234
+ const node = moduleHelpers.get(name);
235
+ return !!node && isFunction(node);
236
+ };
200
237
  const helperClosure = (names) => {
201
238
  const helpers = new Set();
202
239
  const free = new Set();
@@ -288,6 +325,12 @@ export function transform(source, _file = '') {
288
325
  return x.names.get(name);
289
326
  return false;
290
327
  };
328
+ const holding = (s, name) => {
329
+ for (let x = s; x; x = x.up)
330
+ if (x.names.has(name))
331
+ return x.holds.has(name);
332
+ return false;
333
+ };
291
334
  const isRef = (n, s) => {
292
335
  if (lowered.has(n))
293
336
  return true;
@@ -297,17 +340,25 @@ export function transform(source, _file = '') {
297
340
  return isRef(n.object, s);
298
341
  if (n.type === 'ChainExpression')
299
342
  return isRef(n.expression, s);
300
- if (n.type === 'CallExpression' && n.callee.type === 'Identifier' && !builderNames.has(n.callee.name))
343
+ if (n.type === 'CallExpression') {
344
+ const c = n.callee;
345
+ if (isUiMember(c) && !c.computed && UI_REFS.has(c.property.name))
346
+ return true;
347
+ if ((c.type === 'Identifier' && builderNames.has(c.name)) || isUiMember(c))
348
+ return false;
301
349
  return n.arguments.some((a) => holdsRef(a, s));
350
+ }
302
351
  return false;
303
352
  };
304
353
  const holdsRef = (n, s) => isRef(n, s) ||
354
+ (n.type === 'Identifier' && holding(s, n.name)) ||
305
355
  (n.type === 'ObjectExpression' &&
306
356
  n.properties.some((p) => p.type === 'SpreadElement' ? holdsRef(p.argument, s) : holdsRef(p.value, s))) ||
307
357
  (n.type === 'ArrayExpression' && n.elements.some((e) => !!e && holdsRef(e, s)));
308
358
  const nodeLike = (n) => !!n &&
309
359
  ((n.type === 'CallExpression' &&
310
- (isUiMember(n.callee) || (n.callee.type === 'Identifier' && n.callee.name === 'when'))) ||
360
+ ((isUiMember(n.callee) && !UI_VALUES.has(n.callee.property.name)) ||
361
+ (n.callee.type === 'Identifier' && n.callee.name === 'when'))) ||
311
362
  n.type === 'ArrayExpression' ||
312
363
  (n.type === 'ConditionalExpression' && (nodeLike(n.consequent) || nodeLike(n.alternate))));
313
364
  const childPosition = (n) => {
@@ -322,6 +373,43 @@ export function transform(source, _file = '') {
322
373
  const p = parent.get(fn);
323
374
  return p?.type === 'Property' && keyName(p) === 'guard';
324
375
  };
376
+ const escapes = new Map();
377
+ const outerBuilder = (n) => {
378
+ let found = n;
379
+ for (let up = n; up; up = parent.get(up))
380
+ if (up.type === 'CallExpression' && isBuilderCall(up))
381
+ found = up;
382
+ return found;
383
+ };
384
+ const leak = (site, kind, name) => {
385
+ const owner = outerBuilder(site);
386
+ const list = escapes.get(owner) ?? [];
387
+ list.push([kind, name, ...position(site.start)]);
388
+ escapes.set(owner, list);
389
+ };
390
+ const local = (s, name) => {
391
+ for (let x = s; x?.up; x = x.up)
392
+ if (x.names.has(name))
393
+ return true;
394
+ return false;
395
+ };
396
+ const nameOf = (n) => n.type === 'Identifier'
397
+ ? n.name
398
+ : n.type === 'MemberExpression' && !n.computed
399
+ ? `${nameOf(n.object)}.${n.property.name}`
400
+ : 'call';
401
+ const callbacks = (call, s) => {
402
+ const check = (v) => {
403
+ if (v.type === 'Identifier' && !local(s, v.name) && plainFunction(v.name))
404
+ leak(v, 'callback', v.name);
405
+ else if (v.type === 'ObjectExpression')
406
+ for (const p of v.properties)
407
+ if (p.type === 'Property')
408
+ check(p.value);
409
+ };
410
+ for (const a of call.arguments)
411
+ check(a);
412
+ };
325
413
  const assignBody = (fn, s) => {
326
414
  const body = fn.body;
327
415
  const parts = [];
@@ -341,18 +429,21 @@ export function transform(source, _file = '') {
341
429
  ? e.right.arguments[0]
342
430
  : null;
343
431
  const test = filter?.body;
344
- if (test?.type === 'BinaryExpression' &&
345
- test.operator === '!==' &&
432
+ const item = filter?.params[0]?.name;
433
+ const removes = test?.type === 'BinaryExpression' && test.operator === '!==';
434
+ if (removes &&
346
435
  test.left.type === 'MemberExpression' &&
347
436
  test.left.object.type === 'Identifier' &&
348
- test.left.object.name === filter.params[0]?.name)
437
+ test.left.object.name === item)
349
438
  op = `${H}.removeWhere(${gen(e.left)}, ${JSON.stringify(test.left.property.name)}, ${gen(test.right)})`;
439
+ else if (removes && test.left.type === 'Identifier' && test.left.name === item)
440
+ op = `${H}.removeWhere(${gen(e.left)}, null, ${gen(test.right)})`;
350
441
  else if (e.operator === '=')
351
442
  op = `${H}.set(${gen(e.left)}, ${gen(e.right)})`;
352
443
  else if (e.operator === '+=')
353
- op = `${H}.inc(${gen(e.left)}, ${gen(e.right)})`;
444
+ op = `${H}.set(${gen(e.left)}, ${H}.plus(${gen(e.left)}, ${gen(e.right)}))`;
354
445
  else if (e.operator === '-=')
355
- op = `${H}.inc(${gen(e.left)}, ${H}.minus(0, ${gen(e.right)}))`;
446
+ op = `${H}.set(${gen(e.left)}, ${H}.minus(${gen(e.left)}, ${gen(e.right)}))`;
356
447
  }
357
448
  else if (e?.type === 'CallExpression' &&
358
449
  e.callee.type === 'MemberExpression' &&
@@ -369,7 +460,7 @@ export function transform(source, _file = '') {
369
460
  const visit = (n, s, bool, guardFn = false) => {
370
461
  if (isFunction(n)) {
371
462
  const bears = refBearing(n);
372
- const scope = { names: new Map(), up: s };
463
+ const scope = { names: new Map(), holds: new Set(), up: s };
373
464
  for (const p of n.params)
374
465
  for (const name of patternNames(p))
375
466
  scope.names.set(name, bears && name !== 'when');
@@ -383,6 +474,8 @@ export function transform(source, _file = '') {
383
474
  }
384
475
  else
385
476
  visit(n.body, scope, guard, guard);
477
+ if (bears && n.type !== 'FunctionDeclaration')
478
+ replace(n, `${H}.lowered(${gen(n)})`, false);
386
479
  return;
387
480
  }
388
481
  if (n.type === 'VariableDeclaration') {
@@ -390,8 +483,12 @@ export function transform(source, _file = '') {
390
483
  if (d.init)
391
484
  visit(d.init, s, false, guardFn);
392
485
  const ref = !!d.init && isRef(d.init, s);
393
- for (const name of patternNames(d.id))
486
+ const holds = !ref && !!d.init && holdsRef(d.init, s);
487
+ for (const name of patternNames(d.id)) {
394
488
  s.names.set(name, ref);
489
+ if (holds)
490
+ s.holds.add(name);
491
+ }
395
492
  }
396
493
  return;
397
494
  }
@@ -432,7 +529,24 @@ export function transform(source, _file = '') {
432
529
  else if (bool)
433
530
  replace(n, `${H}.${n.operator === '&&' ? 'and' : 'or'}(${l}, ${r})`);
434
531
  else
435
- replace(n, n.operator === '&&' ? `${H}.cond(${l}, ${r}, ${l})` : `${H}.cond(${l}, ${l}, ${r})`);
532
+ replace(n, `${H}.${n.operator === '&&' ? 'both' : 'either'}(${l}, ${r})`);
533
+ return;
534
+ }
535
+ if (n.type === 'UnaryExpression' && n.operator === 'typeof') {
536
+ visit(n.argument, s, false, guardFn);
537
+ if (isRef(n.argument, s))
538
+ leak(n, 'typeof', `typeof ${nameOf(n.argument)}`);
539
+ return;
540
+ }
541
+ if (n.type === 'NewExpression') {
542
+ for (const c of children(n))
543
+ visit(c, s, false, guardFn);
544
+ if (n.callee.type === 'Identifier' &&
545
+ GLOBALS.has(n.callee.name) &&
546
+ !local(s, n.callee.name) &&
547
+ !moduleHelpers.has(n.callee.name) &&
548
+ n.arguments.some((a) => holdsRef(a, s)))
549
+ leak(n, 'global', `new ${n.callee.name}`);
436
550
  return;
437
551
  }
438
552
  if (n.type === 'UnaryExpression' && n.operator === '!') {
@@ -476,12 +590,17 @@ export function transform(source, _file = '') {
476
590
  callee.property.name === 'view') ||
477
591
  (callee.type === 'Identifier' && [...locals].some(([l, i]) => l === callee.name && i === 'machine'));
478
592
  if (declares) {
593
+ callbacks(n, s);
479
594
  replace(n, `${H}.done(${gen(n)})`, false);
480
595
  return;
481
596
  }
482
597
  if (callee.type === 'Identifier' && fnNames.has(callee.name)) {
483
598
  const impl = n.arguments[0]?.properties?.find((p) => p.type === 'Property' && keyName(p) === 'impl')?.value;
484
- const { helpers, free } = helperClosure(impl && isFunction(impl) ? freeNames(impl) : []);
599
+ const named = impl?.type === 'Identifier' && plainFunction(impl.name) ? impl.name : null;
600
+ const body = named ? moduleHelpers.get(named) : impl && isFunction(impl) ? impl : null;
601
+ const closure = helperClosure(body ? freeNames(body).filter((x) => x !== named) : []);
602
+ const helpers = closure.helpers.filter((h) => h !== named);
603
+ const free = closure.free.filter((h) => h !== named);
485
604
  let text = gen(n);
486
605
  if (helpers.length)
487
606
  text = `${H}.helpers(${text}, { ${helpers.map((h) => `${h}: () => ${h}`).join(', ')} })`;
@@ -491,18 +610,54 @@ export function transform(source, _file = '') {
491
610
  replace(n, text, false);
492
611
  return;
493
612
  }
613
+ if (isBuilderCall(n)) {
614
+ callbacks(n, s);
615
+ return;
616
+ }
617
+ const refArgs = n.arguments.some((a) => holdsRef(a, s));
494
618
  if (callee.type === 'MemberExpression' && !callee.computed && isRef(callee.object, s)) {
495
619
  const statement = parent.get(n);
496
620
  const pushInAssign = callee.property.name === 'push' && statement?.type === 'ExpressionStatement';
497
- if (!pushInAssign)
621
+ if (callee.property.name === 'includes' && n.arguments.length === 1)
622
+ replace(n, `${H}.includes(${gen(callee.object)}, ${gen(n.arguments[0])})`);
623
+ else if (!pushInAssign)
498
624
  replace(n, `${H}.method(${JSON.stringify(callee.property.name)})`, false);
625
+ return;
499
626
  }
627
+ if (!refArgs)
628
+ return;
629
+ const root = callee.type === 'MemberExpression' ? callee.object : callee;
630
+ if (root.type !== 'Identifier')
631
+ return;
632
+ const name = nameOf(callee);
633
+ const inScope = local(s, root.name);
634
+ if (inScope && (callee !== root || isRef(callee, s)))
635
+ return;
636
+ if (!inScope && callee.type === 'Identifier' && plainFunction(root.name))
637
+ leak(n, 'helper', name);
638
+ else if (inScope || imported.has(root.name))
639
+ replace(n, `${H}.call(${gen(callee)}, ${JSON.stringify(name)}${n.arguments.map((a) => `, ${gen(a)}`).join('')})`, false);
640
+ else if (GLOBALS.has(root.name) && !moduleHelpers.has(root.name))
641
+ leak(n, 'global', name);
500
642
  return;
501
643
  }
502
644
  for (const c of children(n))
503
645
  visit(c, s, false, guardFn);
504
646
  };
505
- visit(program, { names: new Map(), up: null }, false);
647
+ visit(program, { names: new Map(), holds: new Set(), up: null }, false);
648
+ for (const [owner, sites] of escapes)
649
+ replace(owner, `${H}.escapes(${gen(owner)}, ${JSON.stringify(sites)})`, false);
650
+ const named = (n) => {
651
+ for (const c of children(n))
652
+ named(c);
653
+ if (n.type === 'VariableDeclarator' &&
654
+ n.id.type === 'Identifier' &&
655
+ n.init?.type === 'CallExpression' &&
656
+ n.init.callee.type === 'Identifier' &&
657
+ locals.get(n.init.callee.name) === 'part')
658
+ replace(n.init, `${H}.name(${gen(n.init)}, ${JSON.stringify(n.id.name)})`, false);
659
+ };
660
+ named(program);
506
661
  let code = source;
507
662
  for (const e of edits.sort((a, b) => b.start - a.start))
508
663
  code = code.slice(0, e.start) + e.text + code.slice(e.end);
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAS7B,MAAM,CAAC,GAAG,QAAQ,CAAA;AAClB,MAAM,MAAM,GAAG,qBAAqB,CAAC,6BAA6B,CAAA;AAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;AAC9F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;AAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,KAAK;IACL,WAAW;IACX,MAAM;IACN,OAAO;IACP,MAAM;IACN,IAAI;IACJ,MAAM;IACN,UAAU;IACV,QAAQ;IACR,MAAM;CACP,CAAC,CAAA;AACF,MAAM,OAAO,GAA2B;IACtC,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,KAAK;CACZ,CAAA;AAED,IAAI,KAAK,GAAG,KAAK,CAAA;AACjB,SAAS,KAAK,CAAC,MAAc;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,CAAA;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAA;QAChC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,OAAuB,EAAE,GAAG,IAAe,EAAE,EAAE;YACrE,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBAAE,OACrD;YAAC,IAAkC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;QACtE,CAAC,CAA+B,CAAA;QAChC,IAAI,CAAC;YACH,OAAO,oBAAoB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,WAAW,GAAG,IAAI,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAU,EAAa,EAAE,CACvC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAQ,CAAU,CAAC,IAAI,KAAK,QAAQ,CAAA;AAE7E,SAAS,QAAQ,CAAC,IAAU;IAC1B,MAAM,GAAG,GAAW,EAAE,CAAA;IACtB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAQ;QAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,KAAK,MAAM,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,CAAC,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,MAAM,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAO,EAAE,EAAE,CAC7B,CAAC,CAAC,IAAI,KAAK,yBAAyB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAA;AAE7G,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,EAAE,CAC1B,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAEpG,SAAS,YAAY,CAAC,CAAc,EAAE,GAAG,GAAa,EAAE;IACtD,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAA;IAClB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SACxC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;QACjC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,UAAU;YAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAC1E,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;QAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;SAC/E,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB;QAAE,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAC7D,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;QAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAChE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;IACtB,WAAW;IACX,KAAK;IACL,UAAU;IACV,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,KAAK;IACL,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,WAAW;IACX,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,UAAU;IACV,YAAY;IACZ,OAAO;IACP,UAAU;IACV,oBAAoB;IACpB,oBAAoB;IACpB,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,aAAa;IACb,UAAU;IACV,YAAY;IACZ,WAAW;IACX,aAAa;IACb,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,gBAAgB;IAChB,KAAK;IACL,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;CACT,CAAC,CAAA;AAEF,SAAS,SAAS,CAAC,IAAU;IAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QACD,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACnF,IAAI,CAAC,CAAC,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM;gBAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;oBAAE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;wBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAAE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9F,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;YAAE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1F,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAM;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACnG,IAAI,CAAC,CAAC,IAAI;gBAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACxB,OAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GACP,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAClE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC;oBAC1F,CAAC,KAAK,CAAC,CAAC,GAAG;oBACX,CAAC,CAAC,CAAC,QAAQ;oBACX,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YACpC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,CAAA;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACrF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,KAAK,GAAG,EAAE;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACxG,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAoB,CAAA;IAC7F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB;YACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,YAAY;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;qBAC7D,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACtG,CAAC;IACL,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACzD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACtF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAoB,EAAE;QACpD,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,EAAE,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;QAC9B,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;YAC9B,IAAI,UAAU,CAAC,GAAG,CAAE,IAAI,MAAM;gBAAE,EAAE,GAAG,GAAG,CAAA;;gBACnC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,EAAE,CAAE,GAAG,CAAC,CAAC,CAAA;IAC/C,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgB,CAAA;IAC7C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1E,IAAI,CAAC,EAAE,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,EAAE;YAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC9E,IAAI,CAAC,EAAE,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YACzD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY;gBAC5B,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI;oBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IACpF,CAAC;IACD,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpC,OAAO,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,CAAC,KAAe,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAkB,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,QAAQ,GACZ,IAAI,EAAE,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACvG,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACpC,OAAM;YACR,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAM;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACjB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC;gBAAE,IAAI,KAAK,KAAK,IAAI;oBAAE,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAClG,CAAC,CAAA;QACD,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACvC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;IACjE,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAClF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAElF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAc,CAAA;IACpC,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,EAAE;QACvB,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAChB,IAAI,CAAC,CAAC,CAAC,CAAA;QACT,CAAC;IACH,CAAC,CAAA;IACD,IAAI,CAAC,OAAO,CAAC,CAAA;IAEb,MAAM,UAAU,GAAG,CAAC,MAAY,EAAE,EAAE,CAClC,MAAM,EAAE,IAAI,KAAK,kBAAkB;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;QACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,EAAE,CACnC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEtG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAA;IACxC,MAAM,UAAU,GAAG,CAAC,EAAQ,EAAW,EAAE;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACrC,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,KAAK,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACnE,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,MAAM;gBAAE,OAAO,GAAG,IAAI,CAAA;YACzF,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACjC,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI;oBAAE,MAAK;gBAC7B,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;oBAAE,MAAK;gBACzE,MAAM,GAAG,CAAC,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC,CAAA;gBACtC,MAAK;YACP,CAAC;YACD,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnB,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;gBACvB,MAAK;YACP,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACvB,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,MAAM,KAAK,GAAmD,EAAE,CAAA;IAChE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAQ,CAAA;IAC/B,MAAM,GAAG,GAAG,CAAC,CAAO,EAAU,EAAE;QAC9B,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAC1G,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QACtG,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,IAAY,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;QACzG,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3D,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACxC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;gBAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACxD,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC,CAAA;IAGD,MAAM,MAAM,GAAG,CAAC,CAAe,EAAE,IAAY,EAAW,EAAE;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;QAC7E,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,CAAe,EAAE,IAAY,EAAW,EAAE;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5E,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,CAAC,CAAO,EAAE,CAAQ,EAAW,EAAE;QAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACrD,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QAC/D,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;YAClB,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;YAC7E,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;YACxF,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,CAAQ,EAAW,EAAE,CAC9C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAC5B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAC5B,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAC5E,CAAC;QACJ,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9F,MAAM,QAAQ,GAAG,CAAC,CAAc,EAAW,EAAE,CAC3C,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,IAAI,KAAK,iBAAiB;YAC5B,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9F,MAAM,aAAa,GAAG,CAAC,CAAO,EAAW,EAAE;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,CACL,IAAI,EAAE,IAAI,KAAK,iBAAiB;YAChC,IAAI,EAAE,IAAI,KAAK,gBAAgB;YAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAChG,CAAA;IACH,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,EAAQ,EAAE,EAAE;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxB,OAAO,CAAC,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACzD,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4C,CAAA;IACnE,MAAM,YAAY,GAAG,CAAC,CAAO,EAAQ,EAAE;QACrC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,KAAK,IAAI,EAAE,GAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,IAAI,aAAa,CAAC,EAAE,CAAC;gBAAE,KAAK,GAAG,EAAE,CAAA;QACnE,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,CAAC,IAAU,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,CAAC,CAAQ,EAAE,IAAY,EAAE,EAAE;QACvC,KAAK,IAAI,CAAC,GAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;QACjF,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,CAAC,CAAO,EAAU,EAAE,CACjC,CAAC,CAAC,IAAI,KAAK,YAAY;QACrB,CAAC,CAAC,CAAC,CAAC,IAAI;QACR,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,CAAC,QAAQ;YAC5C,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC1C,CAAC,CAAC,MAAM,CAAA;IACd,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,CAAQ,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,CAAC,CAAO,EAAE,EAAE;YACxB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;iBACjG,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;gBACpC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;oBAAE,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;wBAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC3E,CAAC,CAAA;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,EAAQ,EAAE,CAAQ,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAA;QACpB,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;YACxE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;YACtE,IAAI,EAAE,GAAkB,IAAI,CAAA;YAC5B,IAAI,CAAC,EAAE,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,MAAM,GACV,CAAC,CAAC,QAAQ,KAAK,GAAG;oBAClB,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB;oBACjC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;oBAC1C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;oBACzC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC1C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBACpB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtB,CAAC,CAAC,IAAI,CAAA;gBACV,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAA;gBACzB,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;gBACpC,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAA;gBAC5E,IACE,OAAO;oBACP,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB;oBACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;oBACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI;oBAE9B,EAAE,GAAG,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;qBACpG,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI;oBAC5E,EAAE,GAAG,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;qBAC9D,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG;oBAAE,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA;qBACxE,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;oBAC1B,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;qBACxE,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;oBAC1B,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;YAChF,CAAC;iBAAM,IACL,CAAC,EAAE,IAAI,KAAK,gBAAgB;gBAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;gBACpC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;gBACjC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEzB,EAAE,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACrE,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAM;YACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;YACjC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,CAAC,CAAO,EAAE,CAAQ,EAAE,IAAa,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;QAClE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,KAAK,GAAU,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAA;YAClE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;gBACtB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;oBAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,CAAA;YACrF,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;YACjC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACrC,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI;oBAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;gBAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;oBAAE,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACtF,CAAC;;gBAAM,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YACzC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC3F,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,IAAI;oBAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;gBAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;gBACxC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;gBACrD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBACtB,IAAI,KAAK;wBAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,QAAQ;gBAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC5D,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClB,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACxG,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI;oBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YAC1E,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACvC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YAC/B,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACrC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACpC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClB,OAAO,CACL,CAAC,EACD,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;oBACjE,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;oBAC1E,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAC3E,CAAA;YACH,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACnC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,OAAO,CAAC,CAAA;YACtD,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YAChC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAAE,OAAM;YACnD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1C,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBAC3D,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;iBACxC,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;;gBAC9E,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9E,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5D,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACpC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAC3E,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACxD,IACE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;gBAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACxB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE7C,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YACvD,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACnC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YACpE,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAClC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YAChC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACjC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAAE,OAAM;YACnD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACvG,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACrE,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACvF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW;gBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YAC1D,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAM;YACzD,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAO,EAAE,CAAS,EAAE,EAAE;gBACtC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC9D,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9C,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACxD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACnF,MAAM,QAAQ,GACZ,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;gBACjC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;gBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;gBAClC,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAA;YACtG,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACf,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBACzC,OAAM;YACR,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAC3C,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAC5D,EAAE,KAAK,CAAA;gBACR,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,KAAK,YAAY,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;gBACxF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;gBACvF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBACrF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;gBAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;gBACpD,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBACjB,IAAI,OAAO,CAAC,MAAM;oBAChB,IAAI,GAAG,GAAG,CAAC,YAAY,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;gBAC1F,IAAI,IAAI,CAAC,MAAM;oBAAE,IAAI,GAAG,GAAG,CAAC,SAAS,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAA;gBACrE,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC5C,OAAM;YACR,CAAC;YACD,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACf,OAAM;YACR,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,EAAE,IAAI,KAAK,qBAAqB,CAAA;gBACjG,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;oBACjE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;qBACvE,IAAI,CAAC,YAAY;oBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBACjG,OAAM;YACR,CAAC;YACD,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;YACxE,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAM;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;YAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAM;YAC5D,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;iBAC5F,IAAI,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzC,OAAO,CACL,CAAC,EACD,GAAG,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAC3G,KAAK,CACN,CAAA;iBACE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;YACzF,OAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;IACvE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO;QAClC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAChF,MAAM,KAAK,GAAG,CAAC,CAAO,EAAE,EAAE;QACxB,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QACrC,IACE,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAC/B,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY;YAC1B,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB;YACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM;YAEzC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACrF,CAAC,CAAA;IACD,KAAK,CAAC,OAAO,CAAC,CAAA;IACd,IAAI,IAAI,GAAG,MAAM,CAAA;IACjB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACrD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hozu/transform",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Lets Hozu builder callbacks use ordinary TypeScript (===, ?:, &&, template strings, assignments) by lowering it to the IR's explicit forms",
5
5
  "keywords": [
6
6
  "hozu",