@prenta/core 8.13.5 → 8.15.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.
Files changed (122) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +22 -5
  4. package/dist/actions.js.map +1 -1
  5. package/dist/ai/batch-list.d.ts +37 -6
  6. package/dist/ai/batch-list.d.ts.map +1 -1
  7. package/dist/ai/batch-list.js +217 -7
  8. package/dist/ai/batch-list.js.map +1 -1
  9. package/dist/ai/feature-defaults.d.ts.map +1 -1
  10. package/dist/ai/feature-defaults.js +1 -1
  11. package/dist/ai/feature-defaults.js.map +1 -1
  12. package/dist/ai/tasks/media-detail-limits.d.ts +5 -0
  13. package/dist/ai/tasks/media-detail-limits.d.ts.map +1 -0
  14. package/dist/ai/tasks/media-detail-limits.js +5 -0
  15. package/dist/ai/tasks/media-detail-limits.js.map +1 -0
  16. package/dist/ai/tasks/media-details.d.ts +51 -0
  17. package/dist/ai/tasks/media-details.d.ts.map +1 -0
  18. package/dist/ai/tasks/media-details.js +117 -0
  19. package/dist/ai/tasks/media-details.js.map +1 -0
  20. package/dist/api/route-helpers/auth.d.ts +0 -6
  21. package/dist/api/route-helpers/auth.d.ts.map +1 -1
  22. package/dist/api/route-helpers/auth.js +13 -8
  23. package/dist/api/route-helpers/auth.js.map +1 -1
  24. package/dist/api/route-helpers/forms.d.ts +2 -2
  25. package/dist/api/route-helpers/forms.d.ts.map +1 -1
  26. package/dist/api/route-helpers/forms.js +47 -3
  27. package/dist/api/route-helpers/forms.js.map +1 -1
  28. package/dist/api/routes/dashboard.d.ts.map +1 -1
  29. package/dist/api/routes/dashboard.js +228 -16
  30. package/dist/api/routes/dashboard.js.map +1 -1
  31. package/dist/api/routes/forms.d.ts.map +1 -1
  32. package/dist/api/routes/forms.js +219 -6
  33. package/dist/api/routes/forms.js.map +1 -1
  34. package/dist/api/routes/scheduling.d.ts.map +1 -1
  35. package/dist/api/routes/scheduling.js +8 -1
  36. package/dist/api/routes/scheduling.js.map +1 -1
  37. package/dist/api/routes/system.js +2 -2
  38. package/dist/api/routes/system.js.map +1 -1
  39. package/dist/forms/attribution-settings.d.ts +2 -0
  40. package/dist/forms/attribution-settings.d.ts.map +1 -1
  41. package/dist/forms/attribution-settings.js +28 -22
  42. package/dist/forms/attribution-settings.js.map +1 -1
  43. package/dist/forms/attribution.d.ts +10 -1
  44. package/dist/forms/attribution.d.ts.map +1 -1
  45. package/dist/forms/attribution.js +26 -2
  46. package/dist/forms/attribution.js.map +1 -1
  47. package/dist/forms/client-validation.d.ts +13 -2
  48. package/dist/forms/client-validation.d.ts.map +1 -1
  49. package/dist/forms/client-validation.js +29 -10
  50. package/dist/forms/client-validation.js.map +1 -1
  51. package/dist/forms/entries.d.ts.map +1 -1
  52. package/dist/forms/entries.js +3 -1
  53. package/dist/forms/entries.js.map +1 -1
  54. package/dist/forms/form-model.d.ts +19 -0
  55. package/dist/forms/form-model.d.ts.map +1 -1
  56. package/dist/forms/form-model.js.map +1 -1
  57. package/dist/forms/index.d.ts +1 -1
  58. package/dist/forms/index.d.ts.map +1 -1
  59. package/dist/forms/index.js +1 -1
  60. package/dist/forms/index.js.map +1 -1
  61. package/dist/forms/public-html.d.ts +12 -1
  62. package/dist/forms/public-html.d.ts.map +1 -1
  63. package/dist/forms/public-html.js +94 -14
  64. package/dist/forms/public-html.js.map +1 -1
  65. package/dist/forms/redirect-url.d.ts +12 -0
  66. package/dist/forms/redirect-url.d.ts.map +1 -0
  67. package/dist/forms/redirect-url.js +33 -0
  68. package/dist/forms/redirect-url.js.map +1 -0
  69. package/dist/forms/service.d.ts +6 -1
  70. package/dist/forms/service.d.ts.map +1 -1
  71. package/dist/forms/service.js +147 -6
  72. package/dist/forms/service.js.map +1 -1
  73. package/dist/forms/site-settings.d.ts +77 -0
  74. package/dist/forms/site-settings.d.ts.map +1 -0
  75. package/dist/forms/site-settings.js +276 -0
  76. package/dist/forms/site-settings.js.map +1 -0
  77. package/dist/forms/submission.d.ts +15 -0
  78. package/dist/forms/submission.d.ts.map +1 -1
  79. package/dist/forms/submission.js +32 -5
  80. package/dist/forms/submission.js.map +1 -1
  81. package/dist/forms/types.d.ts +30 -0
  82. package/dist/forms/types.d.ts.map +1 -1
  83. package/dist/forms/types.js +1 -0
  84. package/dist/forms/types.js.map +1 -1
  85. package/dist/forms/validation.d.ts.map +1 -1
  86. package/dist/forms/validation.js +2 -2
  87. package/dist/forms/validation.js.map +1 -1
  88. package/dist/index.d.ts +1 -1
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +1 -1
  91. package/dist/index.js.map +1 -1
  92. package/dist/jobs/batch-ai.d.ts.map +1 -1
  93. package/dist/jobs/batch-ai.js +67 -19
  94. package/dist/jobs/batch-ai.js.map +1 -1
  95. package/dist/jobs/contract.d.ts +3 -1
  96. package/dist/jobs/contract.d.ts.map +1 -1
  97. package/dist/jobs/review.d.ts.map +1 -1
  98. package/dist/jobs/review.js +49 -5
  99. package/dist/jobs/review.js.map +1 -1
  100. package/dist/jobs/serialize.d.ts.map +1 -1
  101. package/dist/jobs/serialize.js +2 -0
  102. package/dist/jobs/serialize.js.map +1 -1
  103. package/dist/media/seo.d.ts +18 -0
  104. package/dist/media/seo.d.ts.map +1 -1
  105. package/dist/media/seo.js +24 -0
  106. package/dist/media/seo.js.map +1 -1
  107. package/dist/media/used-on-titles.d.ts +8 -0
  108. package/dist/media/used-on-titles.d.ts.map +1 -0
  109. package/dist/media/used-on-titles.js +33 -0
  110. package/dist/media/used-on-titles.js.map +1 -0
  111. package/dist/security/rate-limit.d.ts +7 -0
  112. package/dist/security/rate-limit.d.ts.map +1 -1
  113. package/dist/security/rate-limit.js +20 -4
  114. package/dist/security/rate-limit.js.map +1 -1
  115. package/dist/server-site.d.ts.map +1 -1
  116. package/dist/server-site.js +3 -0
  117. package/dist/server-site.js.map +1 -1
  118. package/dist/stats/dashboard.d.ts +66 -0
  119. package/dist/stats/dashboard.d.ts.map +1 -0
  120. package/dist/stats/dashboard.js +111 -0
  121. package/dist/stats/dashboard.js.map +1 -0
  122. package/package.json +1 -1
@@ -15,11 +15,16 @@ import { getDB } from '../db.js';
15
15
  import { createDocument, updateDocument, deleteDocument } from '../actions.js';
16
16
  import { logEvent } from '../security/audit.js';
17
17
  import { getPrentaConfig } from '../config/runtime.js';
18
- import { INPUT_FIELD_TYPES, NON_INPUT_FIELD_TYPES, } from './types.js';
18
+ import { FORM_PROGRESS_STYLES, INPUT_FIELD_TYPES, NON_INPUT_FIELD_TYPES, } from './types.js';
19
+ import { collectFormSlugsFromSections } from './prefetch.js';
20
+ import { isSafeRedirectUrl } from './redirect-url.js';
21
+ import { addDateKeyDays, dateKeyInTimeZone, isValidTimeZone } from '../stats/dashboard.js';
19
22
  const FORMS_COLLECTION = 'forms';
20
23
  const ALL_FIELD_TYPES = [...INPUT_FIELD_TYPES, ...NON_INPUT_FIELD_TYPES];
21
24
  const DEFAULT_MAX_FIELDS = 60;
22
25
  const KEY_PATTERN = /^[a-zA-Z][a-zA-Z0-9_]*$/;
26
+ /** Space-separated class tokens; anything else could break out of the attribute. */
27
+ const CSS_CLASS_PATTERN = /^[A-Za-z0-9_ -]{0,120}$/;
23
28
  function rawDb() {
24
29
  return getDB();
25
30
  }
@@ -225,6 +230,11 @@ export function parseFormDefinition(doc) {
225
230
  availability: normalizeFormAvailability(data.availability),
226
231
  successMessage: typeof data.successMessage === 'string' ? data.successMessage : undefined,
227
232
  redirectUrl: typeof data.redirectUrl === 'string' ? data.redirectUrl : undefined,
233
+ submitLabel: typeof data.submitLabel === 'string' ? data.submitLabel : undefined,
234
+ firstStep: typeof data.firstStep === 'string' ? data.firstStep : undefined,
235
+ progress: FORM_PROGRESS_STYLES.includes(data.progress)
236
+ ? data.progress
237
+ : undefined,
228
238
  analytics: normalizeAnalyticsConfig(data.analytics),
229
239
  notifyEnabled: Boolean(notif.enabled ?? data.notifyEnabled ?? false),
230
240
  createdBy: doc.createdById ? String(doc.createdById) : undefined,
@@ -269,10 +279,14 @@ export function validateFormSchema(fields) {
269
279
  (!Array.isArray(raw.options) || raw.options.length === 0)) {
270
280
  errors.push(`Field "${key ?? ''}" of type ${raw.type} requires at least one option.`);
271
281
  }
272
- const rules = [
273
- ...(raw?.conditionalLogic?.show ?? []),
274
- ...(raw?.conditionalLogic?.require ?? []),
275
- ];
282
+ const logic = raw?.conditionalLogic;
283
+ if (logic?.match !== undefined && logic.match !== 'all' && logic.match !== 'any') {
284
+ errors.push(`Field "${key ?? ''}" has an invalid logic match.`);
285
+ }
286
+ if (raw?.cssClass !== undefined && !CSS_CLASS_PATTERN.test(String(raw.cssClass))) {
287
+ errors.push(`Field "${key ?? ''}" CSS class may only use letters, numbers, - and _.`);
288
+ }
289
+ const rules = [...(logic?.show ?? []), ...(logic?.hide ?? []), ...(logic?.require ?? [])];
276
290
  const index = fields.indexOf(raw);
277
291
  for (const rule of rules) {
278
292
  if (rule.fieldKey === key) {
@@ -383,6 +397,86 @@ async function computeFormCounters(formIds) {
383
397
  }
384
398
  return out;
385
399
  }
400
+ const SPARK_DAYS = 14;
401
+ const DAY_MS = 86_400_000;
402
+ async function siteTimeZone() {
403
+ const row = await rawDb().document.findFirst({
404
+ where: { collection: 'settings', deletedAt: null },
405
+ select: { data: true },
406
+ });
407
+ const tz = row?.data?.timezone;
408
+ return typeof tz === 'string' && isValidTimeZone(tz) ? tz : 'UTC';
409
+ }
410
+ /**
411
+ * List-row extras for the forms table: a 14-day daily entry series, how many
412
+ * pages embed the form, and recent failed emails. One query per metric for the
413
+ * whole list, never one per form.
414
+ */
415
+ async function computeFormListInsights(forms, now = new Date()) {
416
+ const out = new Map();
417
+ for (const f of forms) {
418
+ out.set(f.id, { entries14d: new Array(SPARK_DAYS).fill(0), pageCount: 0, failedEmails7d: 0 });
419
+ }
420
+ if (forms.length === 0)
421
+ return out;
422
+ const db = rawDb();
423
+ const formIds = forms.map((f) => f.id);
424
+ const timeZone = await siteTimeZone();
425
+ const today = dateKeyInTimeZone(now, timeZone);
426
+ const firstKey = addDateKeyDays(today, -(SPARK_DAYS - 1));
427
+ // One extra day of margin so timezone offsets can't drop the oldest bucket.
428
+ const since = new Date(now.getTime() - (SPARK_DAYS + 1) * DAY_MS);
429
+ const [recent, failures, pages] = await Promise.all([
430
+ db.formSubmission.findMany({
431
+ where: {
432
+ formId: { in: formIds },
433
+ spamStatus: { not: 'spam' },
434
+ status: { not: 'partial' },
435
+ submittedAt: { gte: since },
436
+ },
437
+ select: { formId: true, submittedAt: true },
438
+ }),
439
+ db.formDeliveryAttempt.groupBy({
440
+ by: ['formId'],
441
+ where: {
442
+ formId: { in: formIds },
443
+ channel: { in: ['email_notify', 'email_autoresponder'] },
444
+ status: 'failed',
445
+ createdAt: { gte: new Date(now.getTime() - 7 * DAY_MS) },
446
+ },
447
+ _count: { _all: true },
448
+ }),
449
+ db.document.findMany({
450
+ where: { deletedAt: null, collection: { not: FORMS_COLLECTION } },
451
+ select: { data: true },
452
+ }),
453
+ ]);
454
+ for (const row of recent) {
455
+ const key = dateKeyInTimeZone(new Date(row.submittedAt), timeZone);
456
+ if (key < firstKey || key > today)
457
+ continue;
458
+ const index = Math.round((Date.parse(`${key}T12:00:00Z`) - Date.parse(`${firstKey}T12:00:00Z`)) / DAY_MS);
459
+ const bucket = out.get(row.formId)?.entries14d;
460
+ if (bucket && index >= 0 && index < SPARK_DAYS)
461
+ bucket[index] += 1;
462
+ }
463
+ for (const g of failures) {
464
+ const c = out.get(g.formId);
465
+ if (c)
466
+ c.failedEmails7d = g._count._all;
467
+ }
468
+ const idBySlug = new Map(forms.map((f) => [f.slug, f.id]));
469
+ for (const doc of pages) {
470
+ const sections = doc.data?.sections;
471
+ for (const slug of collectFormSlugsFromSections(sections)) {
472
+ const id = idBySlug.get(slug);
473
+ const c = id ? out.get(id) : undefined;
474
+ if (c)
475
+ c.pageCount += 1;
476
+ }
477
+ }
478
+ return out;
479
+ }
386
480
  // ─── Forms CRUD ──────────────────────────────────────────────────────────
387
481
  function matchesSearch(form, term) {
388
482
  const haystack = [
@@ -405,15 +499,22 @@ export async function listForms(params = {}) {
405
499
  orderBy: { createdAt: 'desc' },
406
500
  });
407
501
  let forms = rows.map((r) => parseFormDefinition(r));
408
- const counters = await computeFormCounters(forms.map((f) => f.id));
502
+ const [counters, insights] = await Promise.all([
503
+ computeFormCounters(forms.map((f) => f.id)),
504
+ computeFormListInsights(forms),
505
+ ]);
409
506
  forms = forms.map((f) => {
410
507
  const c = counters.get(f.id);
508
+ const i = insights.get(f.id);
411
509
  return {
412
510
  ...f,
413
511
  totalEntries: c?.total ?? 0,
414
512
  unreadEntries: c?.unread ?? 0,
415
513
  starredEntries: c?.starred ?? 0,
416
514
  lastEntryAt: c?.lastEntryAt ?? null,
515
+ entries14d: i?.entries14d ?? new Array(SPARK_DAYS).fill(0),
516
+ pageCount: i?.pageCount ?? 0,
517
+ failedEmails7d: i?.failedEmails7d ?? 0,
417
518
  };
418
519
  });
419
520
  if (params.status)
@@ -498,6 +599,9 @@ export async function createForm(ctx, input) {
498
599
  if (availabilityErrors.length > 0)
499
600
  throw new FormValidationError(availabilityErrors);
500
601
  }
602
+ const redirectErrors = redirectUrlErrors(input.redirectUrl);
603
+ if (redirectErrors.length > 0)
604
+ throw new FormValidationError(redirectErrors);
501
605
  let slug = input.slug?.trim() ? slugify(input.slug) : slugify(input.name);
502
606
  if (!slug)
503
607
  slug = `form-${Date.now()}`;
@@ -534,11 +638,48 @@ export async function createForm(ctx, input) {
534
638
  throw new Error('Form created but could not be reloaded');
535
639
  return created;
536
640
  }
641
+ /** SPEC §5.1 limits for the presentation settings; messages are field-addressed. */
642
+ export function validateFormPresentation(patch) {
643
+ const errors = [];
644
+ if (patch.submitLabel !== undefined) {
645
+ const v = typeof patch.submitLabel === 'string' ? patch.submitLabel.trim() : '';
646
+ if (v.length < 1 || v.length > 30)
647
+ errors.push('Submit button text must be 1–30 characters.');
648
+ }
649
+ if (patch.firstStep !== undefined) {
650
+ const v = typeof patch.firstStep === 'string' ? patch.firstStep.trim() : '';
651
+ if (v.length < 1 || v.length > 60)
652
+ errors.push('First step title must be 1–60 characters.');
653
+ }
654
+ if (patch.progress !== undefined && !FORM_PROGRESS_STYLES.includes(patch.progress)) {
655
+ errors.push('Progress indicator must be steps, bar or none.');
656
+ }
657
+ errors.push(...redirectUrlErrors(patch.redirectUrl));
658
+ return errors;
659
+ }
660
+ function redirectUrlErrors(redirectUrl) {
661
+ if (redirectUrl === undefined || redirectUrl === null)
662
+ return [];
663
+ if (typeof redirectUrl !== 'string')
664
+ return ['Redirect URL must be text.'];
665
+ if (redirectUrl.trim() === '' || isSafeRedirectUrl(redirectUrl))
666
+ return [];
667
+ return ['Redirect URL must start with https://, http:// or /.'];
668
+ }
537
669
  export async function updateForm(ctx, id, patch) {
538
670
  const existing = await getFormById(id);
539
671
  if (!existing)
540
672
  throw new FormNotFoundError(id);
673
+ const presentationErrors = validateFormPresentation(patch);
674
+ if (presentationErrors.length > 0)
675
+ throw new FormValidationError(presentationErrors);
541
676
  const data = {};
677
+ if (patch.submitLabel !== undefined)
678
+ data.submitLabel = patch.submitLabel.trim();
679
+ if (patch.firstStep !== undefined)
680
+ data.firstStep = patch.firstStep.trim();
681
+ if (patch.progress !== undefined)
682
+ data.progress = patch.progress;
542
683
  if (patch.name !== undefined)
543
684
  data.name = patch.name;
544
685
  if (patch.description !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/forms/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAA;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,GAatB,MAAM,YAAY,CAAA;AAInB,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEhC,MAAM,eAAe,GAAoB,CAAC,GAAG,iBAAiB,EAAE,GAAG,qBAAqB,CAAC,CAAA;AACzF,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAC7B,MAAM,WAAW,GAAG,yBAAyB,CAAA;AAO7C,SAAS,KAAK;IACZ,OAAO,KAAK,EAAM,CAAA;AACpB,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;AACrE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAED,6EAA6E;AAE7E;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEnD,MAAM,GAAG,GAAwB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAA;IAClE,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IAC9C,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1E,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;IAClD,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QACxE,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAChD,CAAC;IACD,IAAI,GAAG,CAAC,iBAAiB,KAAK,IAAI;QAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAChE,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACpF,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAA;IAC3C,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ,IAAI,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;QAChF,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;IACxD,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC7C,MAAM,WAAW,GAA8C,EAAE,CAAA;IACjE,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7E,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,gBAAgB,GAAG,WAAW,CAAA;IAC3E,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACnC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,aAAa,GACjB,0KAA0K,CAAA;AAE5K;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IAChD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACrE,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1F,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;QAAE,OAAO,KAAK,CAAA;IACjF,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;QAAE,OAAO,KAAK,CAAA;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAA;AAEnG;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3B,MAAM,GAAG,GAAqB,EAAE,CAAA;IAChC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;QAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;IAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAI,OAAO;QAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,QAAQ;QAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACrC,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;IACjE,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAA;IAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,yCAAyC,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAC7D,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAU,EAAE,CAAC;QACnD,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CACT,iBAAiB,GAAG,sEAAsE,CAC3F,CAAA;QACH,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;IAC/D,CAAC;IACD,IACE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;QAC1B,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EACnD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,KAA0C;IACrE,MAAM,IAAI,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5D,MAAM,WAAW,GAAG,yBAAyB,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzF,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACjF,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,MAAsB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7E,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,eAAe,CAAC;QACvD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACzC,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;QACzE,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,qBAAqB,EAAG,IAAI,CAAC,qBAA4C,IAAI,IAAI;QACjF,MAAM;QACN,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC7C,CAAC,CAAE,IAAI,CAAC,oBAAiD;YACzD,CAAC,CAAC,SAAS;QACb,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,IAAI,CAAC,aAAmC,CAAC,CAAC,CAAC,SAAS;QACzF,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAE,IAAI,CAAC,YAAiC,CAAC,CAAC,CAAC,SAAS;QACrF,YAAY,EAAE,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1D,cAAc,EAAE,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACzF,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAChF,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC;QACnD,aAAa,EAAE,OAAO,CAAE,KAAK,CAAC,OAA+B,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC;QAC7F,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAChE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/B,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/B,UAAU,EAAG,IAAI,CAAC,UAAiC,IAAI,IAAI;KAC5D,CAAA;AACH,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAA;IAC9D,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,EAAE,EAAE,KAAK,CAAA;IACpC,MAAM,OAAO,GAAI,GAAG,EAAE,iBAAiD,IAAI,eAAe,CAAA;IAC1F,MAAM,SAAS,GAAG,GAAG,EAAE,gBAAgB,IAAI,kBAAkB,CAAA;IAE7D,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,wBAAwB,SAAS,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,KAAK,MAAM,GAAG,IAAI,MAAqB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,EAAE,GAAG,CAAA;QACpB,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,IAAI,EAAE,2CAA2C,CAAC,CAAA;QACzF,CAAC;aAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,GAAG;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE1B,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,IAAI,EAAE,mBAAmB,CAAC,CAAA;QAChE,CAAC;QACD,IACE,CAAC,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,IAAI,KAAK,aAAa,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC;YAChF,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EACzD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,aAAa,GAAG,CAAC,IAAI,gCAAgC,CAAC,CAAA;QACvF,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC;YACtC,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,IAAI,EAAE,CAAC;SAC1C,CAAA;QACD,MAAM,KAAK,GAAI,MAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,4BAA4B,CAAC,CAAA;YAC9D,CAAC;YACD,MAAM,MAAM,GAAI,MAAsB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxF,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,mCAAmC,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;AAC/C,CAAC;AAED,mFAAmF;AACnF,SAAS,eAAe,CAAC,MAAmB;IAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,GAAG,CAAC;QACJ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC5D,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC7D,CAAC,CAAC,CAAA;AACL,CAAC;AAED,4EAA4E;AAE5E,SAAS,kBAAkB,CAAC,GAAQ;IAClC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAC5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,MAAsB,CAAC,CAAC,CAAC,EAAE;QACpE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;QACpC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC5D,CAAA;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAAc,EACd,MAAmB,EACnB,WAA+B,EAC/B,KAAc;IAEd,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAClD,KAAK,EAAE,EAAE,MAAM,EAAE;QACjB,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC5B,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC1B,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAC5C,IAAI,EAAE;YACJ,MAAM;YACN,OAAO,EAAE,WAAW;YACpB,MAAM;YACN,KAAK,EAAE,KAAK,IAAI,IAAI;YACpB,WAAW,EAAE,WAAW,IAAI,IAAI;SACjC;KACF,CAAC,CAAA;IACF,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAc;IAC9C,MAAM,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QACpD,KAAK,EAAE,EAAE,MAAM,EAAE;QACjB,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KAC7B,CAAC,CAAA;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;IACpF,OAAO,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7C,CAAC;AAWD,0FAA0F;AAC1F,KAAK,UAAU,mBAAmB,CAAC,OAAiB;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC3C,KAAK,MAAM,EAAE,IAAI,OAAO;QAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IAEpC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAA;IAEtE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;YACxB,EAAE,EAAE,CAAC,QAAQ,CAAC;YACd,KAAK;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACtB,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;SAC5B,CAAC;QACF,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;YACxB,EAAE,EAAE,CAAC,QAAQ,CAAC;YACd,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;YAClD,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACvB,CAAC;QACF,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;YACxB,EAAE,EAAE,CAAC,QAAQ,CAAC;YACd,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;YAClC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACvB,CAAC;KACH,CAAC,CAAA;IAEF,KAAK,MAAM,CAAC,IAAI,MAAe,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC,EAAE,CAAC;YACN,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;YACvB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QACzF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC;YAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;IACjC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC;YAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;IAClC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,4EAA4E;AAE5E,SAAS,aAAa,CAAC,IAAoB,EAAE,IAAY;IACvD,MAAM,QAAQ,GAAG;QACf,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,WAAW,IAAI,EAAE;QACtB,IAAI,CAAC,MAAM;QACX,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,IAAI,EAAE,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,IAAI,EAAE,CAAC;KAC9C;SACE,IAAI,CAAC,GAAG,CAAC;SACT,WAAW,EAAE,CAAA;IAChB,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;AAC9C,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,SAA2B,EAAE;IAC3D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE;QACxD,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;KAC/B,CAAC,CAAA;IAEF,IAAI,KAAK,GAAqB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC5B,OAAO;YACL,GAAG,CAAC;YACJ,YAAY,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;YAC3B,aAAa,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;YAC7B,cAAc,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC;YAC/B,WAAW,EAAE,CAAC,EAAE,WAAW,IAAI,IAAI;SACpC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,MAAM;QAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1E,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC,aAAa,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,WAAW,CAAA;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,MAAM,EAAE,GAAI,CAAwC,CAAC,MAAM,CAAC,CAAA;QAC5D,MAAM,EAAE,GAAI,CAAwC,CAAC,MAAM,CAAC,CAAA;QAC5D,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI;YAAE,OAAO,CAAC,CAAA;QACtC,IAAI,EAAE,IAAI,IAAI;YAAE,OAAO,CAAC,CAAA;QACxB,IAAI,EAAE,IAAI,IAAI;YAAE,OAAO,CAAC,CAAC,CAAA;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;IAClE,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;IACnC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAU;IAC1C,MAAM,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7D,CAAC,CAAA;IACF,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1B,OAAO;QACL,GAAG,IAAI;QACP,YAAY,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;QAC3B,aAAa,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;QAC7B,cAAc,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC;QAC/B,WAAW,EAAE,CAAC,EAAE,WAAW,IAAI,IAAI;KACpC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3C,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;KAC/D,CAAC,CAAA;IACF,OAAO,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,SAAkB;IACxD,MAAM,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3C,KAAK,EAAE;YACL,UAAU,EAAE,gBAAgB;YAC5B,IAAI;YACJ,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD;QACD,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;KACrB,CAAC,CAAA;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;AACrB,CAAC;AAiBD,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK;SACT,WAAW,EAAE;SACb,IAAI,EAAE;SACN,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAkB,EAClB,KAAsB;IAEtB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACvE,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IACtF,CAAC;IAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzE,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IACtC,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,IAAI,mBAAmB,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,IAAI,GAA4B;QACpC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI;QACJ,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;QACrC,MAAM;QACN,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;QACtF,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;QACxC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;QACtC,YAAY,EAAE,yBAAyB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI;QACnE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,eAAe,EAAE,EAAE,KAAK,EAAE,qBAAqB;QACvF,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;KAC3E,CAAA;IAED,MAAM,GAAG,GAAG,CAAC,MAAM,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,CAG7D,CAAA;IACD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC1F,MAAM,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;QACrB,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE;KAC7E,CAAC,CAAA;IAEF,MAAM,QAAQ,CAAC;QACb,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;KACpD,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IACvE,OAAO,OAAO,CAAA;AAChB,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAkB,EAClB,EAAU,EACV,KAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IACtC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAE9C,MAAM,IAAI,GAA4B,EAAE,CAAA;IACxC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACpD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IACzE,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;IAClF,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IACzE,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;IAC5E,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAA;IAC/E,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACvE,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;QACpF,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAClF,CAAC;IAED,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnE,aAAa,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACjF,CAAC;IAED,MAAM,cAAc,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAErD,MAAM,QAAQ,CAAC;QACb,KAAK,EAAE,aAAa;YAClB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU;gBAC3B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU;oBAC9B,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,cAAc;YACpB,CAAC,CAAC,cAAc;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;KAC5E,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IACrC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAC7C,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAkB,EAAE,EAAU;IAChE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAE5C,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,CAAA;IACxD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,EAAE;QACrB,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,SAAS;QAC7B,IAAI;QACJ,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,aAAa,EAAE,EAAE;QACjB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC;QACtD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAA;AACJ,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAkB,EAClB,EAAU,EACV,UAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IACtC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAE9C,MAAM,eAAe,GAAG,MAAM,KAAK,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACrF,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,IAAI,uBAAuB,CAAC,eAAe,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,cAAc,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IAC/C,MAAM,QAAQ,CAAC;QACb,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;KACzE,CAAC,CAAA;AACJ,CAAC;AAED,0EAA0E;AAE1E,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAkB,EAClB,EAAU,EACV,MAAmB,EACnB,KAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IACtC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAE9C,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,UAAU,CAAC,KAAK;QAAE,MAAM,IAAI,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAEvE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC/E,MAAM,cAAc,CAClB,gBAAgB,EAChB,EAAE,EACF,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,EAAE,EACzD,GAAG,CACJ,CAAA;IAED,MAAM,QAAQ,CAAC;QACb,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;KACjF,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IAClC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU;IAEV,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IAClC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAA;IAC7C,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAA;AAC/F,CAAC;AAED,0EAA0E;AAE1E,MAAM,6BAA6B,GAA6B;IAC9D,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,EAAE;IACd,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,KAAK;IAC7B,oBAAoB,EAAE,KAAK;IAC3B,cAAc,EAAE,KAAK;CACtB,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAAU;IACtD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IAClC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAC1C,OAAO,EAAE,GAAG,6BAA6B,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,CAAA;AACnF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,GAAkB,EAClB,EAAU,EACV,KAAwC;IAExC,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,EAAE,CAAC,CAAA;IACjD,MAAM,IAAI,GAA6B,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;IAC/D,MAAM,cAAc,CAClB,gBAAgB,EAChB,EAAE,EACF,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,EAC3D,GAAG,CACJ,CAAA;IACD,MAAM,QAAQ,CAAC;QACb,KAAK,EAAE,4BAA4B;QACnC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;KAC/C,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAkB,EAClB,EAAU,EACV,OAAgB;IAEhB,OAAO,0BAA0B,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAU;IAC/C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;IAClC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAC1C,OAAO,IAAI,CAAC,aAAa,IAAI,EAAE,CAAA;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAkB,EAClB,EAAU,EACV,KAAiC;IAEjC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAsB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;IACxD,MAAM,cAAc,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IACxE,MAAM,QAAQ,CAAC;QACb,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACrC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,4EAA4E;AAE5E,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,KAAK,GAAG,CACZ,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE;QACxD,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KACvB,CAAC,CACH,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAE3D,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtD,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACnE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;YACtB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;SACtE,CAAC;KACH,CAAC,CAAA;IAEF,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM;QACnE,YAAY;QACZ,aAAa;KACd,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE;QACxD,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;KAC9B,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA;IAChG,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,CAAC,CAAC,EAAE;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;KACxC,CAAC,CAAC,CAAA;AACL,CAAC;AAED,4EAA4E;AAE5E,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,EAAU;QACpB,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAC/B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,CAAU;IAChB,YAAY,MAAgB;QAC1B,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,eAAe,CAAQ;IACvB,YAAY,eAAuB;QACjC,KAAK,CAAC,YAAY,eAAe,0DAA0D,CAAC,CAAA;QAC5F,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;QACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/forms/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import type { FormSpamSettings, SpamProtectionStrategy } from './types.js';
2
+ interface BlocklistTerm {
3
+ term: string;
4
+ mode?: 'contains' | 'word';
5
+ addedAt: string;
6
+ source: 'manual' | 'spam';
7
+ hits30d: number;
8
+ lastHitAt: string | null;
9
+ }
10
+ export interface FormsSettings {
11
+ spam: {
12
+ honeypot: boolean;
13
+ captchaScope: 'all' | 'per' | 'off';
14
+ rateLimit: {
15
+ max: number;
16
+ window: '1m' | '10m' | '1h' | '1d';
17
+ };
18
+ minSeconds: number;
19
+ action: 'quarantine' | 'discard';
20
+ blocklist: {
21
+ words: BlocklistTerm[];
22
+ domains: BlocklistTerm[];
23
+ };
24
+ ai: {
25
+ on: boolean;
26
+ strictness: 'relaxed' | 'balanced' | 'strict';
27
+ holdNotifications: boolean;
28
+ learnFromCorrections: boolean;
29
+ };
30
+ };
31
+ defaults: {
32
+ recipients: string[];
33
+ replyToSubmitter: boolean;
34
+ successMessage: string;
35
+ confirmationEmail: boolean;
36
+ };
37
+ retention: {
38
+ entryDays: number | null;
39
+ spamDays: 7 | 30 | 90;
40
+ archivedDays: number | null;
41
+ deliveryLogDays: 30 | 90 | 365;
42
+ ipStorage: 'full' | 'anon' | 'none';
43
+ deleteFilesWithEntry: boolean;
44
+ };
45
+ attribution: {
46
+ record: boolean;
47
+ requireConsent: boolean;
48
+ firstTouchDays: number;
49
+ lastTouchHours: number;
50
+ };
51
+ updatedAt: string;
52
+ updatedBy: string;
53
+ }
54
+ export declare function defaultFormsSettings(): FormsSettings;
55
+ /** Strip a mailbox, protocol, www, and path down to a hostname. */
56
+ export declare function normalizeBlockDomain(raw: string): string;
57
+ export declare function isBlockedFreeDomain(domain: string): boolean;
58
+ /** Fill anything the stored document left out, without inventing blocklist rows. */
59
+ export declare function mergeFormsSettings(stored: unknown): FormsSettings;
60
+ /** Keyed by stored path. Empty when the document can be saved. */
61
+ export declare function validateFormsSettings(input: FormsSettings): Record<string, string>;
62
+ /** Turn saved site rules into the spam scorer's inputs. Per-form settings still win on overlap. */
63
+ export declare function spamOverlay(site: FormsSettings, form?: FormSpamSettings): {
64
+ settings: FormSpamSettings;
65
+ defaultStrategies: SpamProtectionStrategy[];
66
+ };
67
+ type SettingsDb = {
68
+ document?: {
69
+ findFirst?: (args: unknown) => Promise<{
70
+ data?: unknown;
71
+ } | null>;
72
+ };
73
+ };
74
+ /** The saved document, or null when Form Settings has never been saved. */
75
+ export declare function readStoredFormsSettings(db: SettingsDb): Promise<FormsSettings | null>;
76
+ export {};
77
+ //# sourceMappingURL=site-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-settings.d.ts","sourceRoot":"","sources":["../../src/forms/site-settings.ts"],"names":[],"mappings":"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"}