@clipin/convex-wearables 0.1.2 → 0.2.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 (47) hide show
  1. package/README.md +11 -2
  2. package/dist/client/index.d.ts +5 -0
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +3 -0
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/client/types.d.ts +6 -0
  7. package/dist/client/types.d.ts.map +1 -1
  8. package/dist/client/types.js.map +1 -1
  9. package/dist/component/dataPoints.d.ts +1 -0
  10. package/dist/component/dataPoints.d.ts.map +1 -1
  11. package/dist/component/dataPoints.js +140 -71
  12. package/dist/component/dataPoints.js.map +1 -1
  13. package/dist/component/garminWebhooks.js +3 -1
  14. package/dist/component/garminWebhooks.js.map +1 -1
  15. package/dist/component/providers/types.d.ts +2 -0
  16. package/dist/component/providers/types.d.ts.map +1 -1
  17. package/dist/component/schema.d.ts +11 -1
  18. package/dist/component/schema.d.ts.map +1 -1
  19. package/dist/component/schema.js +6 -0
  20. package/dist/component/schema.js.map +1 -1
  21. package/dist/component/sdkPush.d.ts +4 -0
  22. package/dist/component/sdkPush.d.ts.map +1 -1
  23. package/dist/component/sdkPush.js +5 -0
  24. package/dist/component/sdkPush.js.map +1 -1
  25. package/dist/component/summaries.d.ts +16 -1
  26. package/dist/component/summaries.d.ts.map +1 -1
  27. package/dist/component/summaries.js +72 -38
  28. package/dist/component/summaries.js.map +1 -1
  29. package/dist/component/syncWorkflow.d.ts.map +1 -1
  30. package/dist/component/syncWorkflow.js +2 -0
  31. package/dist/component/syncWorkflow.js.map +1 -1
  32. package/dist/test.d.ts +11 -1
  33. package/dist/test.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/client/index.ts +5 -0
  36. package/src/client/types.ts +6 -0
  37. package/src/component/dataPoints.test.ts +214 -0
  38. package/src/component/dataPoints.ts +176 -79
  39. package/src/component/garminWebhooks.test.ts +2 -0
  40. package/src/component/garminWebhooks.ts +3 -1
  41. package/src/component/providers/types.ts +2 -0
  42. package/src/component/schema.ts +6 -0
  43. package/src/component/sdkPush.test.ts +83 -0
  44. package/src/component/sdkPush.ts +5 -0
  45. package/src/component/summaries.test.ts +99 -0
  46. package/src/component/summaries.ts +89 -39
  47. package/src/component/syncWorkflow.ts +2 -0
@@ -6,9 +6,10 @@ import { buildBuiltinFullTiers, comparePolicyScopes, createTimeSeriesPolicyScope
6
6
  const DAY_MS = 24 * 60 * 60 * 1000;
7
7
  const MAX_QUERY_LIMIT = 2000;
8
8
  const MAINTENANCE_SETTINGS_KEY = "default";
9
- const MAINTENANCE_BATCH_SIZE = 20;
10
- const MAINTENANCE_POINT_BATCH_SIZE = 2000;
9
+ const MAINTENANCE_BATCH_SIZE = 2;
10
+ const MAINTENANCE_POINT_BATCH_SIZE = 1000;
11
11
  const MAINTENANCE_ROLLUP_BATCH_SIZE = 500;
12
+ const PROMPT_MAINTENANCE_DELAY_MS = 60 * 1000;
12
13
  const LONG_IDLE_MAINTENANCE_MS = 30 * DAY_MS;
13
14
  const durationInputValidator = v.union(v.string(), v.number());
14
15
  const tierInputValidator = v.union(v.object({
@@ -102,10 +103,13 @@ export const getTimeSeriesForUser = query({
102
103
  startDate: v.number(),
103
104
  endDate: v.number(),
104
105
  limit: v.optional(v.number()),
106
+ order: v.optional(v.union(v.literal("asc"), v.literal("desc"))),
105
107
  },
106
108
  returns: v.array(timeSeriesPointValidator),
107
109
  handler: async (ctx, args) => {
108
110
  const limit = Math.min(args.limit ?? 500, MAX_QUERY_LIMIT);
111
+ const selectionOrder = args.order ?? "desc";
112
+ const responseOrder = args.order ?? "asc";
109
113
  const sources = await ctx.db
110
114
  .query("dataSources")
111
115
  .withIndex("by_user_provider", (idx) => idx.eq("userId", args.userId))
@@ -120,11 +124,12 @@ export const getTimeSeriesForUser = query({
120
124
  startDate: args.startDate,
121
125
  endDate: args.endDate,
122
126
  limit,
123
- order: "asc",
127
+ order: selectionOrder,
124
128
  })));
125
129
  }
126
- points.sort((a, b) => a.timestamp - b.timestamp);
127
- return points.slice(0, limit);
130
+ points.sort((a, b) => selectionOrder === "asc" ? a.timestamp - b.timestamp : b.timestamp - a.timestamp);
131
+ const limited = points.slice(0, limit);
132
+ return limited.sort((a, b) => responseOrder === "asc" ? a.timestamp - b.timestamp : b.timestamp - a.timestamp);
128
133
  },
129
134
  });
130
135
  export const getLatestDataPoint = query({
@@ -315,7 +320,9 @@ export const replaceTimeSeriesPolicyConfiguration = mutation({
315
320
  }
316
321
  await upsertTimeSeriesPolicySettings(ctx, args.maintenance);
317
322
  await markAllSeriesStateDue(ctx, updatedAt);
318
- await ensureTimeSeriesMaintenanceScheduled(ctx);
323
+ await ensureTimeSeriesMaintenanceScheduled(ctx, {
324
+ delayMs: PROMPT_MAINTENANCE_DELAY_MS,
325
+ });
319
326
  return {
320
327
  defaultRulesStored: normalizedDefaultRules.length,
321
328
  presetsStored: normalizedPresets.reduce((sum, preset) => sum + preset.rules.length, 0),
@@ -338,7 +345,9 @@ export const setUserTimeSeriesPolicyPreset = mutation({
338
345
  await ctx.db.delete(existing._id);
339
346
  }
340
347
  await markSeriesStateDueForUser(ctx, args.userId, Date.now());
341
- await ensureTimeSeriesMaintenanceScheduled(ctx);
348
+ await ensureTimeSeriesMaintenanceScheduled(ctx, {
349
+ delayMs: PROMPT_MAINTENANCE_DELAY_MS,
350
+ });
342
351
  return null;
343
352
  }
344
353
  const presetKey = args.presetKey;
@@ -361,7 +370,9 @@ export const setUserTimeSeriesPolicyPreset = mutation({
361
370
  await ctx.db.insert("timeSeriesPolicyAssignments", patch);
362
371
  }
363
372
  await markSeriesStateDueForUser(ctx, args.userId, Date.now());
364
- await ensureTimeSeriesMaintenanceScheduled(ctx);
373
+ await ensureTimeSeriesMaintenanceScheduled(ctx, {
374
+ delayMs: PROMPT_MAINTENANCE_DELAY_MS,
375
+ });
365
376
  return null;
366
377
  },
367
378
  });
@@ -431,16 +442,18 @@ export const runTimeSeriesMaintenance = internalMutation({
431
442
  .query("timeSeriesSeriesState")
432
443
  .withIndex("by_next_maintenance", (idx) => idx.lte("nextMaintenanceAt", now))
433
444
  .take(MAINTENANCE_BATCH_SIZE);
445
+ let hasStateBacklog = false;
434
446
  for (const state of dueStates) {
435
447
  try {
436
- await maintainSeriesState(ctx.db, state, now);
448
+ const result = await maintainSeriesState(ctx.db, state, now);
449
+ hasStateBacklog ||= result.hasBacklog;
437
450
  }
438
451
  catch (error) {
439
452
  lastError = error instanceof Error ? error.message : String(error);
440
453
  }
441
454
  }
442
455
  const refreshed = await ensureTimeSeriesPolicySettingsDoc(ctx.db);
443
- const hasBacklog = dueStates.length === MAINTENANCE_BATCH_SIZE;
456
+ const hasBacklog = dueStates.length === MAINTENANCE_BATCH_SIZE || hasStateBacklog;
444
457
  const delayMs = hasBacklog
445
458
  ? Math.min(refreshed.maintenanceIntervalMs, 60 * 1000)
446
459
  : refreshed.maintenanceIntervalMs;
@@ -651,6 +664,7 @@ async function storePointsWithPolicy(ctx, args) {
651
664
  const settings = await getTimeSeriesPolicySettings(ctx.db);
652
665
  const now = Date.now();
653
666
  const points = dedupeIncomingPoints(args.points);
667
+ const requiresMaintenance = policyRequiresMaintenance(effectivePolicy.tiers);
654
668
  const rawPoints = [];
655
669
  const rollupGroups = new Map();
656
670
  for (const point of points) {
@@ -679,19 +693,12 @@ async function storePointsWithPolicy(ctx, args) {
679
693
  provider: dataSource.provider,
680
694
  seriesType: args.seriesType,
681
695
  latestRecordedAt: points.length > 0 ? points[points.length - 1].recordedAt : now,
682
- nextMaintenanceAt: policyRequiresMaintenance(effectivePolicy.tiers)
683
- ? now + settings.maintenanceIntervalMs
684
- : now + LONG_IDLE_MAINTENANCE_MS,
696
+ nextMaintenanceAt: requiresMaintenance ? now : now + LONG_IDLE_MAINTENANCE_MS,
685
697
  });
686
- if (policyRequiresMaintenance(effectivePolicy.tiers)) {
687
- await maintainSeriesState(ctx.db, {
688
- dataSourceId: dataSource._id,
689
- connectionId: dataSource.connectionId,
690
- userId: dataSource.userId,
691
- provider: dataSource.provider,
692
- seriesType: args.seriesType,
693
- }, now);
694
- await ensureTimeSeriesMaintenanceScheduled(ctx);
698
+ if (requiresMaintenance) {
699
+ await ensureTimeSeriesMaintenanceScheduled(ctx, {
700
+ delayMs: Math.min(settings.maintenanceIntervalMs, PROMPT_MAINTENANCE_DELAY_MS),
701
+ });
695
702
  }
696
703
  return {
697
704
  processedCount: points.length,
@@ -707,19 +714,32 @@ function dedupeIncomingPoints(points) {
707
714
  }
708
715
  async function upsertRawPoints(db, dataSourceId, seriesType, points) {
709
716
  let lastId = null;
717
+ if (points.length === 0) {
718
+ return lastId;
719
+ }
720
+ const minRecordedAt = points[0].recordedAt;
721
+ const maxRecordedAt = points[points.length - 1].recordedAt;
722
+ const existingPoints = await db
723
+ .query("dataPoints")
724
+ .withIndex("by_source_type_time", (idx) => idx
725
+ .eq("dataSourceId", dataSourceId)
726
+ .eq("seriesType", seriesType)
727
+ .gte("recordedAt", minRecordedAt)
728
+ .lte("recordedAt", maxRecordedAt))
729
+ .collect();
730
+ const existingByRecordedAt = new Map();
731
+ for (const existing of existingPoints) {
732
+ existingByRecordedAt.set(existing.recordedAt, existing);
733
+ }
710
734
  for (const point of points) {
711
- const existing = await db
712
- .query("dataPoints")
713
- .withIndex("by_source_type_time", (idx) => idx
714
- .eq("dataSourceId", dataSourceId)
715
- .eq("seriesType", seriesType)
716
- .eq("recordedAt", point.recordedAt))
717
- .first();
735
+ const existing = existingByRecordedAt.get(point.recordedAt);
718
736
  if (existing) {
719
- await db.patch(existing._id, {
720
- value: point.value,
721
- externalId: point.externalId,
722
- });
737
+ if (existing.value !== point.value || existing.externalId !== point.externalId) {
738
+ await db.patch(existing._id, {
739
+ value: point.value,
740
+ externalId: point.externalId,
741
+ });
742
+ }
723
743
  lastId = existing._id;
724
744
  }
725
745
  else {
@@ -756,40 +776,72 @@ function addRawPointToRollupGroup(groups, point, bucketMs) {
756
776
  }
757
777
  }
758
778
  async function upsertRollupStatsGroups(db, dataSourceId, seriesType, groups) {
779
+ const groupedByBucketMs = new Map();
759
780
  for (const group of groups) {
760
- const existing = await db
781
+ const bucketGroups = groupedByBucketMs.get(group.bucketMs) ?? [];
782
+ bucketGroups.push(group);
783
+ groupedByBucketMs.set(group.bucketMs, bucketGroups);
784
+ }
785
+ for (const [bucketMs, bucketGroups] of groupedByBucketMs) {
786
+ bucketGroups.sort((a, b) => a.bucketStart - b.bucketStart);
787
+ const minBucketStart = bucketGroups[0].bucketStart;
788
+ const maxBucketStart = bucketGroups[bucketGroups.length - 1].bucketStart;
789
+ const existingRollups = await db
761
790
  .query("timeSeriesRollups")
762
791
  .withIndex("by_source_type_bucket_size", (idx) => idx
763
792
  .eq("dataSourceId", dataSourceId)
764
793
  .eq("seriesType", seriesType)
765
- .eq("bucketMs", group.bucketMs)
766
- .eq("bucketStart", group.bucketStart))
767
- .first();
768
- const combined = existing
769
- ? combineAggregatedStats([rollupDocToStats(existing), group.stats])
770
- : group.stats;
771
- const patch = {
772
- dataSourceId,
773
- seriesType,
774
- bucketMs: group.bucketMs,
775
- bucketStart: group.bucketStart,
776
- bucketEnd: getBucketEnd(group.bucketStart, group.bucketMs),
777
- avg: combined.avg,
778
- min: combined.min,
779
- max: combined.max,
780
- last: combined.last,
781
- lastRecordedAt: combined.lastRecordedAt,
782
- count: combined.count,
783
- updatedAt: Date.now(),
784
- };
785
- if (existing) {
786
- await db.patch(existing._id, patch);
794
+ .eq("bucketMs", bucketMs)
795
+ .gte("bucketStart", minBucketStart)
796
+ .lte("bucketStart", maxBucketStart))
797
+ .collect();
798
+ const existingByBucketStart = new Map();
799
+ for (const existing of existingRollups) {
800
+ existingByBucketStart.set(existing.bucketStart, existing);
787
801
  }
788
- else {
789
- await db.insert("timeSeriesRollups", patch);
802
+ for (const group of bucketGroups) {
803
+ const existing = existingByBucketStart.get(group.bucketStart);
804
+ const combined = existing
805
+ ? combineAggregatedStats([rollupDocToStats(existing), group.stats])
806
+ : group.stats;
807
+ const patch = {
808
+ dataSourceId,
809
+ seriesType,
810
+ bucketMs: group.bucketMs,
811
+ bucketStart: group.bucketStart,
812
+ bucketEnd: getBucketEnd(group.bucketStart, group.bucketMs),
813
+ avg: combined.avg,
814
+ min: combined.min,
815
+ max: combined.max,
816
+ last: combined.last,
817
+ lastRecordedAt: combined.lastRecordedAt,
818
+ count: combined.count,
819
+ updatedAt: Date.now(),
820
+ };
821
+ if (existing) {
822
+ if (!rollupMatches(existing, patch)) {
823
+ await db.patch(existing._id, patch);
824
+ }
825
+ }
826
+ else {
827
+ await db.insert("timeSeriesRollups", patch);
828
+ }
790
829
  }
791
830
  }
792
831
  }
832
+ function rollupMatches(rollup, patch) {
833
+ return (rollup.dataSourceId === patch.dataSourceId &&
834
+ rollup.seriesType === patch.seriesType &&
835
+ rollup.bucketMs === patch.bucketMs &&
836
+ rollup.bucketStart === patch.bucketStart &&
837
+ rollup.bucketEnd === patch.bucketEnd &&
838
+ rollup.avg === patch.avg &&
839
+ rollup.min === patch.min &&
840
+ rollup.max === patch.max &&
841
+ rollup.last === patch.last &&
842
+ rollup.lastRecordedAt === patch.lastRecordedAt &&
843
+ rollup.count === patch.count);
844
+ }
793
845
  async function upsertSeriesState(db, args) {
794
846
  const existing = await db
795
847
  .query("timeSeriesSeriesState")
@@ -817,17 +869,19 @@ async function upsertSeriesState(db, args) {
817
869
  // ---------------------------------------------------------------------------
818
870
  // Maintenance
819
871
  // ---------------------------------------------------------------------------
820
- async function ensureTimeSeriesMaintenanceScheduled(ctx) {
872
+ async function ensureTimeSeriesMaintenanceScheduled(ctx, options) {
821
873
  const settings = await ensureTimeSeriesPolicySettingsDoc(ctx.db);
822
874
  if (!settings.maintenanceEnabled) {
823
875
  return;
824
876
  }
825
877
  const now = Date.now();
826
- if (settings.scheduledAt !== undefined && settings.scheduledAt > now) {
878
+ const delayMs = options?.delayMs ?? settings.maintenanceIntervalMs;
879
+ const scheduledAt = now + delayMs;
880
+ if (settings.scheduledAt !== undefined &&
881
+ settings.scheduledAt > now &&
882
+ settings.scheduledAt <= scheduledAt) {
827
883
  return;
828
884
  }
829
- const delayMs = settings.maintenanceIntervalMs;
830
- const scheduledAt = now + delayMs;
831
885
  await ctx.scheduler.runAfter(delayMs, internal.dataPoints.runTimeSeriesMaintenance, {});
832
886
  await ctx.db.patch(settings._id, {
833
887
  scheduledAt,
@@ -865,24 +919,31 @@ async function maintainSeriesState(db, state, now) {
865
919
  if (storedState) {
866
920
  await db.delete(storedState._id);
867
921
  }
868
- return;
922
+ return { didWork: storedState !== null, hasBacklog: false };
869
923
  }
870
924
  const effective = await resolveEffectivePolicy(db, storedState.userId, storedState.provider, storedState.seriesType);
871
- await compactRawPoints(db, storedState, effective.tiers, now);
872
- await compactRollupPoints(db, storedState, effective.tiers, now);
925
+ const rawResult = await compactRawPoints(db, storedState, effective.tiers, now);
926
+ const rollupResult = await compactRollupPoints(db, storedState, effective.tiers, now);
927
+ const hasBacklog = rawResult.hasBacklog || rollupResult.hasBacklog;
873
928
  const stillHasData = await sourceSeriesHasData(db, storedState.dataSourceId, storedState.seriesType);
874
929
  if (!stillHasData) {
875
930
  await db.delete(storedState._id);
876
- return;
931
+ return { didWork: true, hasBacklog: false };
877
932
  }
878
933
  const settings = await getTimeSeriesPolicySettings(db);
879
934
  await db.patch(storedState._id, {
880
- nextMaintenanceAt: policyRequiresMaintenance(effective.tiers)
881
- ? now + settings.maintenanceIntervalMs
882
- : now + LONG_IDLE_MAINTENANCE_MS,
935
+ nextMaintenanceAt: hasBacklog
936
+ ? now
937
+ : policyRequiresMaintenance(effective.tiers)
938
+ ? now + settings.maintenanceIntervalMs
939
+ : now + LONG_IDLE_MAINTENANCE_MS,
883
940
  lastMaintenanceAt: now,
884
941
  updatedAt: now,
885
942
  });
943
+ return {
944
+ didWork: rawResult.didWork || rollupResult.didWork,
945
+ hasBacklog,
946
+ };
886
947
  }
887
948
  async function compactRawPoints(db, state, tiers, now) {
888
949
  const rawTier = getRawTier(tiers);
@@ -902,7 +963,7 @@ async function compactRawPoints(db, state, tiers, now) {
902
963
  .lt("recordedAt", now - rawCutoff))
903
964
  .take(MAINTENANCE_POINT_BATCH_SIZE);
904
965
  if (query.length === 0) {
905
- return;
966
+ return { didWork: false, hasBacklog: false };
906
967
  }
907
968
  const rollupGroups = new Map();
908
969
  const toDelete = [];
@@ -930,6 +991,10 @@ async function compactRawPoints(db, state, tiers, now) {
930
991
  for (const pointId of toDelete) {
931
992
  await db.delete(pointId);
932
993
  }
994
+ return {
995
+ didWork: toDelete.length > 0,
996
+ hasBacklog: query.length === MAINTENANCE_POINT_BATCH_SIZE && toDelete.length > 0,
997
+ };
933
998
  }
934
999
  async function compactRollupPoints(db, state, tiers, now) {
935
1000
  const rollups = await db
@@ -937,7 +1002,7 @@ async function compactRollupPoints(db, state, tiers, now) {
937
1002
  .withIndex("by_source_type_bucket", (idx) => idx.eq("dataSourceId", state.dataSourceId).eq("seriesType", state.seriesType))
938
1003
  .take(MAINTENANCE_ROLLUP_BATCH_SIZE);
939
1004
  if (rollups.length === 0) {
940
- return;
1005
+ return { didWork: false, hasBacklog: false };
941
1006
  }
942
1007
  const destinationGroups = new Map();
943
1008
  const toDelete = [];
@@ -968,6 +1033,10 @@ async function compactRollupPoints(db, state, tiers, now) {
968
1033
  for (const rollupId of toDelete) {
969
1034
  await db.delete(rollupId);
970
1035
  }
1036
+ return {
1037
+ didWork: toDelete.length > 0,
1038
+ hasBacklog: rollups.length === MAINTENANCE_ROLLUP_BATCH_SIZE && toDelete.length > 0,
1039
+ };
971
1040
  }
972
1041
  async function sourceSeriesHasData(db, dataSourceId, seriesType) {
973
1042
  const raw = await db
@@ -1 +1 @@
1
- {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../src/component/dataPoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../src/component/dataPoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAGL,gBAAgB,EAEhB,QAAQ,EACR,KAAK,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,gCAAgC,EAChC,cAAc,EACd,YAAY,EACZ,cAAc,EACd,UAAU,EACV,0BAA0B,EAE1B,qBAAqB,EACrB,mCAAmC,EACnC,kBAAkB,EAClB,uBAAuB,GAGxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACnC,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAC3C,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9C,MAAM,wBAAwB,GAAG,EAAE,GAAG,MAAM,CAAC;AA8D7C,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAChC,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,OAAO,EAAE,sBAAsB;IAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;CACjD,CAAC,EACF,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,OAAO,EAAE,sBAAsB;IAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,EAAE,sBAAsB;IAC9B,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;CACzD,CAAC,CACH,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;IACjC,IAAI,EAAE;QACJ,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;QACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;KAChE;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;QACzC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;KACrB,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,GAAG,CAAC,EAAE,EAAE;YACzD,YAAY,EAAE,MAAM,CAAC,GAAG;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,KAAK,GAAG,CAAC;YAChB,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,QAAQ,GACZ,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACtB,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CACtE,CAAC;QAER,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5D,MAAM,UAAU,GACd,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjF,OAAO;YACL,MAAM,EAAE,KAAK;YACb,UAAU;YACV,OAAO;SACR,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;IACxC,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;KAChE;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;IAC1C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;aACzB,KAAK,CAAC,aAAa,CAAC;aACpB,SAAS,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACrE,OAAO,EAAE,CAAC;QAEb,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,MAAM,6BAA6B,CAAC,GAAG,CAAC,EAAE,EAAE;gBAC9C,YAAY,EAAE,MAAM,CAAC,GAAG;gBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK;gBACL,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnB,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CACjF,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3B,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAChF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACtC,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;KACvB;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC,EACF,CAAC,CAAC,IAAI,EAAE,CACT;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;aACzB,KAAK,CAAC,aAAa,CAAC;aACpB,SAAS,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACrE,OAAO,EAAE,CAAC;QAEb,IAAI,MAAM,GAAkE,IAAI,CAAC;QAEjF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;iBAC1B,KAAK,CAAC,YAAY,CAAC;iBACnB,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CACxC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CACrE;iBACA,KAAK,CAAC,MAAM,CAAC;iBACb,KAAK,EAAE,CAAC;YAEX,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE;iBAC7B,KAAK,CAAC,mBAAmB,CAAC;iBAC1B,SAAS,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CACrE;iBACA,KAAK,CAAC,MAAM,CAAC;iBACb,KAAK,EAAE,CAAC;YAEX,MAAM,YAAY,GAAG,QAAQ;gBAC3B,CAAC,CAAC;oBACE,SAAS,EAAE,QAAQ,CAAC,UAAU;oBAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B;gBACH,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,eAAe,GAAG,WAAW;gBACjC,CAAC,CAAC;oBACE,SAAS,EAAE,WAAW,CAAC,cAAc;oBACrC,KAAK,EAAE,WAAW,CAAC,IAAI;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B;gBACH,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,SAAS,GACb,YAAY,KAAK,IAAI;gBACnB,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,eAAe,KAAK,IAAI;oBACxB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,YAAY,CAAC,SAAS,IAAI,eAAe,CAAC,SAAS;wBACnD,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,eAAe,CAAC;YAE1B,IAAI,SAAS,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7E,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;IAC3C,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE;aACxB,KAAK,CAAC,uBAAuB,CAAC;aAC9B,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC5D,OAAO,EAAE,CAAC;QAEb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,CAAC;IACpD,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE;IAChB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;QAEpE,OAAO;YACL,WAAW,EAAE;gBACX,OAAO,EAAE,QAAQ,CAAC,kBAAkB;gBACpC,UAAU,EAAE,QAAQ,CAAC,qBAAqB;aAC3C;YACD,YAAY,EAAE,4BAA4B,CACxC,KAAK,CAAC,MAAM,CACV,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,sBAAsB,CACnF,CACF;YACD,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC;SAC3F,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;IACjD,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC,EACF,CAAC,CAAC,IAAI,EAAE,CACT;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE;aAC5B,KAAK,CAAC,6BAA6B,CAAC;aACpC,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC5D,KAAK,EAAE,CAAC;QAEX,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;IAChD,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,YAAY;QACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;KACvB;IACD,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE;IAChB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAC5C,GAAG,CAAC,EAAE,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAChB,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC;SAClD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,oCAAoC,GAAG,QAAQ,CAAC;IAC3D,IAAI,EAAE;QACJ,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACxD,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACnD;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;KAC1B,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,sBAAsB,GAAG,mCAAmC,CAChE,IAAI,CAAC,YAA2C,CACjD,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,MAAM,CAAC,GAAG,KAAK,sBAAsB,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,eAAe,sBAAsB,eAAe,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;YAC7E,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE3B,OAAO;gBACL,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,mCAAmC,CAAC,MAAM,CAAC,KAAoC,CAAC;aACxF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE;gBAC3C,aAAa,EAAE,SAAS;gBACxB,YAAY,EAAE,sBAAsB;gBACpC,QAAQ,EAAE,8BAA8B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;gBACxE,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE;oBAC3C,aAAa,EAAE,QAAQ;oBACvB,YAAY,EAAE,MAAM,CAAC,GAAG;oBACxB,QAAQ,EAAE,8BAA8B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;oBACxE,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,8BAA8B,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,oCAAoC,CAAC,GAAG,EAAE;YAC9C,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;QAEH,OAAO;YACL,kBAAkB,EAAE,sBAAsB,CAAC,MAAM;YACjD,aAAa,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;SACvF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACzC;IACD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;aAC1B,KAAK,CAAC,6BAA6B,CAAC;aACpC,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC5D,KAAK,EAAE,CAAC;QAEX,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,MAAM,oCAAoC,CAAC,GAAG,EAAE;gBAC9C,OAAO,EAAE,2BAA2B;aACrC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE;aAC7B,KAAK,CAAC,uBAAuB,CAAC;aAC9B,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;aAC7F,IAAI,CAAC,CAAC,CAAC,CAAC;QACX,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,kBAAkB,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS;YACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,MAAM,oCAAoC,CAAC,GAAG,EAAE;YAC9C,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;IAC7C,IAAI,EAAE;QACJ,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;QACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACnC;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE;YAC9C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE;gBACN;oBACE,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B;aACF;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC;IACzC,IAAI,EAAE;QACJ,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;QACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACnC,CAAC,CACH;KACF;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;IACvD,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,WAAW,GAAG,MAAM,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;YACpC,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;gBAClC,WAAW,EAAE,SAAS;gBACtB,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YAClC,WAAW,EAAE,SAAS;YACtB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,IAAI,SAA6B,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE;aAC3B,KAAK,CAAC,uBAAuB,CAAC;aAC9B,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;aAC5E,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEhC,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC7D,eAAe,KAAK,MAAM,CAAC,UAAU,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,KAAK,sBAAsB,IAAI,eAAe,CAAC;QAClF,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,GAAG,IAAI,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC;QACpC,MAAM,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC;QAElC,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YAChC,WAAW;YACX,SAAS,EAAE,GAAG;YACd,SAAS;YACT,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;IACjD,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE;IAC3C,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;aACxB,KAAK,CAAC,YAAY,CAAC;aACnB,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aACpF,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;YACD,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;iBACpB,KAAK,CAAC,YAAY,CAAC;iBACnB,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;iBACpF,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE;aAC3B,KAAK,CAAC,mBAAmB,CAAC;aAC1B,SAAS,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aACtF,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YACD,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE;iBACvB,KAAK,CAAC,mBAAmB,CAAC;iBAC1B,SAAS,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;iBACtF,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE;aACvB,KAAK,CAAC,uBAAuB,CAAC;aAC9B,SAAS,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aACjF,OAAO,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,KAAK,UAAU,2BAA2B,CAAC,EAE1C;IACC,MAAM,QAAQ,GAAG,MAAM,EAAE;SACtB,KAAK,CAAC,0BAA0B,CAAC;SACjC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;SACrE,KAAK,EAAE,CAAC;IAEX,OAAO,CACL,QAAQ,IAAI;QACV,GAAG,EAAE,wBAAwB;QAC7B,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,+BAA+B;QACtD,SAAS,EAAE,CAAC;KACb,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iCAAiC,CAAC,EAIhD;IACC,MAAM,QAAQ,GAAG,MAAM,EAAE;SACtB,KAAK,CAAC,0BAA0B,CAAC;SACjC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;SACrE,KAAK,EAAE,CAAC;IACX,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,0BAA0B,EAAE;QACrD,GAAG,EAAE,wBAAwB;QAC7B,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,+BAA+B;QACtD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,GAEC,EACD,WAGC;IAED,MAAM,QAAQ,GAAG,MAAM,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG;QACZ,kBAAkB,EAAE,WAAW,EAAE,OAAO,IAAI,QAAQ,CAAC,kBAAkB;QACvE,qBAAqB,EACnB,WAAW,EAAE,QAAQ,KAAK,SAAS;YACjC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC;YAClE,CAAC,CAAC,QAAQ,CAAC,qBAAqB;QACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;IAEF,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,EAEC,EACD,MAAc,EACd,QAAgB,EAChB,UAAkB;IAElB,MAAM,UAAU,GAAG,MAAM,EAAE;SACxB,KAAK,CAAC,6BAA6B,CAAC;SACpC,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACvD,KAAK,EAAE,CAAC;IAEX,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE;aAC1B,KAAK,CAAC,uBAAuB,CAAC;aAC9B,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3B,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAC3E;aACA,OAAO,EAAE,CAAuB,CAAC;QACpC,MAAM,WAAW,GAAG,uBAAuB,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE/E,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;gBACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,YAAY,EAAE,0BAA0B,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC;aACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE;SAC3B,KAAK,CAAC,uBAAuB,CAAC;SAC9B,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3B,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAC9E;SACA,OAAO,EAAE,CAAuB,CAAC;IACpC,MAAM,YAAY,GAAG,uBAAuB,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEjF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,sBAAsB;YACjC,YAAY,EAAE,0BAA0B,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;SACzF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,qBAAqB,EAAE;QAC9B,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,SAAS;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAA8B;IAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAyB;IAC7D,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QACjE,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;SACF,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAyB;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG;QACH,KAAK,EAAE,4BAA4B,CAAC,YAAY,CAAC;KAClD,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAiC;IAClE,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,KAAK,UAAU,qBAAqB,CAClC,GAA8B,EAC9B,IAIC;IAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,YAAY,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAClD,GAAG,CAAC,EAAE,EACN,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,QAAQ,EACnB,IAAI,CAAC,UAAU,CAChB,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAE7E,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;IAEJ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,wBAAwB,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,SAAS,GAA4B,IAAI,CAAC;IAC9C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,uBAAuB,CAC3B,GAAG,CAAC,EAAE,EACN,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,EACf,YAAY,CAAC,MAAM,EAAE,CACtB,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE;QAC9B,YAAY,EAAE,UAAU,CAAC,GAAG;QAC5B,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,gBAAgB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;QAChF,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,wBAAwB;KAC9E,CAAC,CAAC;IAEH,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,oCAAoC,CAAC,GAAG,EAAE;YAC9C,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,MAAM;QAC7B,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA0B;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,EAAqB,EACrB,YAA+B,EAC/B,UAAkB,EAClB,MAA0B;IAE1B,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3D,MAAM,cAAc,GAAG,MAAM,EAAE;SAC5B,KAAK,CAAC,YAAY,CAAC;SACnB,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CACxC,GAAG;SACA,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;SAChC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;SAC5B,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC;SAChC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CACpC;SACA,OAAO,EAAE,CAAC;IAEb,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAClE,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC/E,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;oBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;gBACrC,YAAY;gBACZ,UAAU;gBACV,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAsF,EACtF,KAAuB,EACvB,QAAgB;IAEhB,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B;YACE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,GAAG,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACd,QAAQ;YACR,WAAW;YACX,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,EAAqB,EACrB,YAA+B,EAC/B,UAAkB,EAClB,MAAmF;IAEnF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAG9B,CAAC;IACJ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACzD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACnD,MAAM,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;QACzE,MAAM,eAAe,GAAG,MAAM,EAAE;aAC7B,KAAK,CAAC,mBAAmB,CAAC;aAC1B,SAAS,CAAC,4BAA4B,EAAE,CAAC,GAAG,EAAE,EAAE,CAC/C,GAAG;aACA,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;aAChC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;aAC5B,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;aACxB,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC;aAClC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CACtC;aACA,OAAO,EAAE,CAAC;QAEb,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC9D,KAAK,MAAM,QAAQ,IAAI,eAAiC,EAAE,CAAC;YACzD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,QAAQ;gBACvB,CAAC,CAAC,sBAAsB,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YAChB,MAAM,KAAK,GAAG;gBACZ,YAAY;gBACZ,UAAU;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAC1D,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;oBACpC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,MAAoB,EACpB,KAAwF;IAExF,OAAO,CACL,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;QAC1C,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;QACtC,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAClC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;QACxC,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QACpC,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACxB,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACxB,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACxB,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAC1B,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;QAC9C,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAC7B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,EAAqB,EACrB,IAQC;IAED,MAAM,QAAQ,GAAG,MAAM,EAAE;SACtB,KAAK,CAAC,uBAAuB,CAAC;SAC9B,SAAS,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CACrC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAC5E;SACA,KAAK,EAAE,CAAC;IAEX,MAAM,KAAK,GAAG;QACZ,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,gBAAgB,EAAE,QAAQ;YACxB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,gBAAgB;QACzB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;QAC1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,KAAK,UAAU,oCAAoC,CACjD,GAA8B,EAC9B,OAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,QAAQ,CAAC,qBAAqB,CAAC;IACnE,MAAM,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC;IAClC,IACE,QAAQ,CAAC,WAAW,KAAK,SAAS;QAClC,QAAQ,CAAC,WAAW,GAAG,GAAG;QAC1B,QAAQ,CAAC,WAAW,IAAI,WAAW,EACnC,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACxF,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;QAC/B,WAAW;QACX,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAA8B,EAAE,KAAa;IAChF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;IAErE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5B,iBAAiB,EAAE,KAAK;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,GAA8B,EAC9B,MAAc,EACd,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE;SACvB,KAAK,CAAC,uBAAuB,CAAC;SAC9B,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACvD,OAAO,EAAE,CAAC;IAEb,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5B,iBAAiB,EAAE,KAAK;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,EAAqB,EACrB,KAGC,EACD,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,EAAE;SACzB,KAAK,CAAC,uBAAuB,CAAC;SAC9B,SAAS,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CACrC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAC9E;SACA,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAC5C,EAAE,EACF,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,UAAU,CACvB,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC;IAEnE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC5C,EAAE,EACF,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,UAAU,CACvB,CAAC;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9B,iBAAiB,EAAE,UAAU;YAC3B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC1C,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,qBAAqB;gBACtC,CAAC,CAAC,GAAG,GAAG,wBAAwB;QACpC,iBAAiB,EAAE,GAAG;QACtB,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;QAClD,UAAU;KACX,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,EAAqB,EACrB,KAAwB,EACxB,KAAiC,EACjC,GAAW;IAEX,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;IAC3C,MAAM,KAAK,GACT,SAAS,KAAK,IAAI;QAChB,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,EAAE;iBACL,KAAK,CAAC,YAAY,CAAC;iBACnB,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CACxC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAC9E;iBACA,IAAI,CAAC,4BAA4B,CAAC;QACzC,CAAC,CAAC,MAAM,EAAE;aACL,KAAK,CAAC,YAAY,CAAC;aACnB,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CACxC,GAAG;aACA,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC;aACtC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;aAClC,EAAE,CAAC,YAAY,EAAE,GAAG,GAAG,SAAS,CAAC,CACrC;aACA,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAE5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;IACJ,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,KAA4B,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACnC,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,SAAS,GAAG,GAAG,GAAG,eAAe,CAAC,SAAS,EAAE,CAAC;YAChD,SAAS;QACX,CAAC;QAED,wBAAwB,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,uBAAuB,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC5B,UAAU,EAAE,KAAK,CAAC,MAAM,KAAK,4BAA4B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;KACjF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,EAAqB,EACrB,KAAwB,EACxB,KAAiC,EACjC,GAAW;IAEX,MAAM,OAAO,GAAG,MAAM,EAAE;SACrB,KAAK,CAAC,mBAAmB,CAAC;SAC1B,SAAS,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAC9E;SACA,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAG9B,CAAC;IACJ,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAE/C,KAAK,MAAM,MAAM,IAAI,OAAyB,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACnC,SAAS;QACX,CAAC;QAED,MAAM,sBAAsB,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5F,MAAM,oBAAoB,GAAG,YAAY,CAAC,sBAAsB,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE5F,IAAI,eAAe,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QACD,IAAI,oBAAoB,GAAG,GAAG,GAAG,eAAe,CAAC,SAAS,EAAE,CAAC;YAC3D,SAAS;QACX,CAAC;QAED,qBAAqB,CACnB,iBAAiB,EACjB,eAAe,CAAC,QAAQ,EACxB,sBAAsB,EACtB,gBAAgB,CAAC,MAAM,CAAC,CACzB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,uBAAuB,CAC3B,EAAE,EACF,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,UAAU,EAChB,iBAAiB,CAAC,MAAM,EAAE,CAC3B,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC,MAAM,KAAK,6BAA6B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,EAAoC,EACpC,YAA+B,EAC/B,UAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,EAAE;SACjB,KAAK,CAAC,YAAY,CAAC;SACnB,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CACxC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAClE;SACA,KAAK,EAAE,CAAC;IACX,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,KAAK,CAAC,mBAAmB,CAAC;SAC1B,SAAS,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAClE;SACA,KAAK,EAAE,CAAC;IACX,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAoD;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChD,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACvD,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;QAClE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACxB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACxB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAwB;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAC5C,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAC/D,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,UAAU;QAC7E,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAoB;IAC5C,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAsF,EACtF,QAAgB,EAChB,WAAmB,EACnB,KAAsB;IAEtB,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,GAAG,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;QACd,QAAQ;QACR,WAAW;QACX,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,KAAK,UAAU,6BAA6B,CAC1C,EAAoB,EACpB,IASC;IAED,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,KAAK,KAAK;YACjB,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,QAAQ,CAAC,KAAK;gBACzB,OAAO,EAAE,QAAQ,CAAC,GAAG;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;YACJ,CAAC,CAAC,MAAM,iBAAiB,CAAC,EAAE,EAAE;gBAC1B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,QAAQ,CAAC,KAAK;gBACzB,OAAO,EAAE,QAAQ,CAAC,GAAG;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QAET,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,MAAM,mBAAmB,CAAC,EAAE,EAAE;YAChC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,QAAQ,CAAC,KAAK;YACzB,OAAO,EAAE,QAAQ,CAAC,GAAG;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnB,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAC7E,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,2BAA2B,CAClC,IAA8B,EAC9B,GAAW,EACX,SAAiB,EACjB,OAAe;IAEf,MAAM,aAAa,GACjB,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAE5D,IAAI,aAAa,GAAG,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,KAAK,EAAE,aAAa;QACpB,GAAG,EAAE,WAAW;KACjB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,EAAmC,EACnC,IAOC;IAED,MAAM,GAAG,GAAG,MAAM,EAAE;SACjB,KAAK,CAAC,YAAY,CAAC;SACnB,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CACxC,GAAG;SACA,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC;SACrC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;SACjC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;SACjC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CACnC;SACA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEpB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC;QAC5C,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAc;KAC3B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,EAAmC,EACnC,IASC;IAED,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,KAAK,CAAC,mBAAmB,CAAC;SAC1B,SAAS,CAAC,4BAA4B,EAAE,CAAC,GAAG,EAAE,EAAE,CAC/C,GAAG;SACA,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC;SACrC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;SACjC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;SAC7B,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CACpC;SACA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEpB,OAAO,IAAI;SACR,MAAM,CACL,CAAC,GAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAC1F;SACA,GAAG,CAAC,CAAC,GAAiB,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,EAAmC,EACnC,IAOC;IAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,KAAK,CAAC,mBAAmB,CAAC;SAC1B,SAAS,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG;SACA,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC;SACrC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;SACjC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;SACxD,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CACpC;SACA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,CAAe,EAAE,EAAE,CAC7C,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CACpF,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAC1B,CAAC,GAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAC1F,CAAC;IACF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAiB,EAAE,EAAE,CACxC,aAAa,CAAC,GAAG,EAAE,qBAAqB,CAAC,gCAAgC,CAAC,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,MAAoB,EACpB,YAA8C;IAE9C,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,WAAW;QAC7B,KAAK,EAAE,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC;QACrD,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAoB,EACpB,YAA8C;IAE9C,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC"}
@@ -8,7 +8,7 @@ import { v } from "convex/values";
8
8
  import { api, internal } from "./_generated/api";
9
9
  import { action } from "./_generated/server";
10
10
  import { normalizeActivity, normalizeBloodPressureDataPoints, normalizeBodyCompositionDataPoints, normalizeBodyCompositionSummary, normalizeDaily, normalizeDailyRecoverySummary, normalizeEpochDataPoints, normalizeHealthSnapshotDataPoints, normalizeHrvDataPoints, normalizeHrvSummary, normalizeMCT, normalizeMoveIQ, normalizePulseOxDataPoints, normalizePulseOxSummary, normalizeRespirationDataPoints, normalizeSkinTemperatureDataPoints, normalizeSleep, normalizeSleepSummary, normalizeStressDataPoints, normalizeUserMetricsDataPoints, } from "./providers/garmin";
11
- const DATA_POINT_BATCH_SIZE = 100;
11
+ const DATA_POINT_BATCH_SIZE = 500;
12
12
  function decodePushPayload(args) {
13
13
  if (args.payloadJson !== undefined) {
14
14
  return JSON.parse(args.payloadJson);
@@ -436,9 +436,11 @@ async function upsertSummary(ctx, userId, summary) {
436
436
  }
437
437
  await ctx.runMutation(internal.summaries.upsert, {
438
438
  userId,
439
+ provider: "garmin",
439
440
  date,
440
441
  category,
441
442
  ...metrics,
443
+ source: "garmin",
442
444
  });
443
445
  }
444
446
  function addSignal(signalBuckets, dataType, connectionId) {