swetrix 4.3.0 → 4.4.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.
package/README.md CHANGED
@@ -205,9 +205,11 @@ If you use the npm package, rrweb is dynamically imported from your installed de
205
205
  ```javascript
206
206
  const replay = await startSessionReplay({
207
207
  privacy: 'total',
208
+ maskAllText: true,
208
209
  sampleRate: 0.25,
209
210
  maxDurationMs: 10 * 60 * 1000,
210
211
  idleTimeoutMs: 2 * 60 * 1000,
212
+ maxBytesPerChunk: 512 * 1024,
211
213
  })
212
214
 
213
215
  // Stop or flush manually when needed
@@ -218,13 +220,46 @@ await replay.stop()
218
220
  | Option | Description | Default |
219
221
  |---|---|---|
220
222
  | `privacy` | Privacy mode: `total`, `normal`, or `none`. | `'total'` |
223
+ | `maskAllText` | Mask all non-input text with asterisks. Defaults to `true` when `privacy` is `total`, otherwise `false`. | privacy-based |
221
224
  | `sampleRate` | Fraction of sessions to record (`0` to `1`). | `1` |
222
225
  | `maxDurationMs` | Stop recording after this duration. | `undefined` |
223
226
  | `idleTimeoutMs` | Stop recording after this much visitor inactivity. | `undefined` |
224
227
  | `flushIntervalMs` | Upload buffered replay events at this interval. | `5000` |
225
228
  | `maxEventsPerChunk` | Upload once this many events are buffered. | `100` |
229
+ | `maxBytesPerChunk` | Upload once buffered replay events reach this approximate byte size. | `524288` |
230
+ | `maxBytesPerEvent` | Drop a single replay event if it is larger than this many bytes. | `5242880` |
231
+ | `recordIframes` | Allow iframe elements to be captured. Iframes are blocked by default to reduce replay size and avoid recording embedded third-party content. | `false` |
226
232
  | `rrweb` | Additional rrweb record options. | `undefined` |
227
233
 
234
+ To mask text while keeping media less restricted than `total` privacy, combine `normal` privacy with `maskAllText`:
235
+
236
+ ```javascript
237
+ await startSessionReplay({
238
+ privacy: 'normal',
239
+ maskAllText: true,
240
+ })
241
+ ```
242
+
243
+ By default, Swetrix blocks iframe elements from replay snapshots. If you own the iframe content and need it in the replay, opt in explicitly:
244
+
245
+ ```javascript
246
+ await startSessionReplay({
247
+ privacy: 'normal',
248
+ recordIframes: true,
249
+ })
250
+ ```
251
+
252
+ Cross-origin iframe recording also requires rrweb's cross-origin iframe support and should only be enabled for domains you control:
253
+
254
+ ```javascript
255
+ await startSessionReplay({
256
+ recordIframes: true,
257
+ rrweb: {
258
+ recordCrossOriginIframes: true,
259
+ },
260
+ })
261
+ ```
262
+
228
263
  ### Session & Profile IDs
229
264
 
230
265
  ```javascript
@@ -147,9 +147,13 @@ export interface SessionReplayOptions {
147
147
  rrweb?: RrwebRecordOptions;
148
148
  flushIntervalMs?: number;
149
149
  maxEventsPerChunk?: number;
150
+ maxBytesPerChunk?: number;
151
+ maxBytesPerEvent?: number;
150
152
  sampleRate?: number;
151
153
  maxDurationMs?: number;
152
154
  idleTimeoutMs?: number;
155
+ maskAllText?: boolean;
156
+ recordIframes?: boolean;
153
157
  }
154
158
  export interface SessionReplayActions {
155
159
  stop: () => Promise<void>;
@@ -13,7 +13,27 @@ const DEFAULT_RRWEB_FILE = 'replaylibrary.min.js';
13
13
  const DEFAULT_RRWEB_URL = `https://cdn.jsdelivr.net/npm/swetrix@latest/dist/${DEFAULT_RRWEB_FILE}`;
14
14
  const DEFAULT_SESSION_REPLAY_FLUSH_INTERVAL = 5000;
15
15
  const DEFAULT_SESSION_REPLAY_MAX_EVENTS = 100;
16
+ const DEFAULT_SESSION_REPLAY_MAX_CHUNK_BYTES = 512 * 1024;
17
+ const DEFAULT_SESSION_REPLAY_MAX_EVENT_BYTES = 5 * 1024 * 1024;
18
+ const DEFAULT_SESSION_REPLAY_MAX_DURATION_MS = 30 * 60 * 1000;
16
19
  const DEFAULT_SESSION_REPLAY_PRIVACY = 'total';
20
+ const DEFAULT_SESSION_REPLAY_SAMPLING = {
21
+ mousemove: 50,
22
+ scroll: 150,
23
+ input: 'last',
24
+ };
25
+ const DEFAULT_SESSION_REPLAY_SLIM_DOM_OPTIONS = {
26
+ script: true,
27
+ comment: true,
28
+ headFavicon: true,
29
+ headWhitespace: true,
30
+ headMetaDescKeywords: true,
31
+ headMetaSocial: true,
32
+ headMetaRobots: true,
33
+ headMetaHttpEquiv: true,
34
+ headMetaAuthorship: true,
35
+ headMetaVerification: true,
36
+ };
17
37
  const SESSION_REPLAY_ACTIVITY_EVENTS = [
18
38
  'click',
19
39
  'keydown',
@@ -24,6 +44,15 @@ const SESSION_REPLAY_ACTIVITY_EVENTS = [
24
44
  ];
25
45
  // Default cache duration: 5 minutes
26
46
  const DEFAULT_CACHE_DURATION = 5 * 60 * 1000;
47
+ const getStringByteLength = (value) => {
48
+ if (typeof TextEncoder !== 'undefined') {
49
+ return new TextEncoder().encode(value).length;
50
+ }
51
+ if (typeof Blob !== 'undefined') {
52
+ return new Blob([value]).size;
53
+ }
54
+ return value.length;
55
+ };
27
56
  export class Lib {
28
57
  constructor(projectID, options) {
29
58
  this.projectID = projectID;
@@ -457,6 +486,9 @@ export class Lib {
457
486
  if (!this.canTrack()) {
458
487
  return defaultSessionReplayActions;
459
488
  }
489
+ const maxDurationMs = typeof options.maxDurationMs === 'number' && options.maxDurationMs > 0
490
+ ? options.maxDurationMs
491
+ : DEFAULT_SESSION_REPLAY_MAX_DURATION_MS;
460
492
  if (!this.shouldSampleSessionReplay(options.sampleRate)) {
461
493
  return defaultSessionReplayActions;
462
494
  }
@@ -471,11 +503,12 @@ export class Lib {
471
503
  return defaultSessionReplayActions;
472
504
  }
473
505
  const privacy = this.getSessionReplayPrivacy(options.privacy);
474
- const replayId = this.createReplayId();
475
- const started = await this.sendSessionReplayStart(replayId, privacy);
506
+ const proposedReplayId = this.createReplayId();
507
+ const started = await this.sendSessionReplayStart(proposedReplayId, privacy);
476
508
  if (!started) {
477
509
  return defaultSessionReplayActions;
478
510
  }
511
+ const replayId = started.replayId;
479
512
  const flushIntervalMs = typeof options.flushIntervalMs === 'number' && options.flushIntervalMs > 0
480
513
  ? options.flushIntervalMs
481
514
  : DEFAULT_SESSION_REPLAY_FLUSH_INTERVAL;
@@ -483,15 +516,25 @@ export class Lib {
483
516
  options.maxEventsPerChunk > 0
484
517
  ? Math.floor(options.maxEventsPerChunk)
485
518
  : DEFAULT_SESSION_REPLAY_MAX_EVENTS;
486
- const maxDurationMs = typeof options.maxDurationMs === 'number' && options.maxDurationMs > 0
487
- ? options.maxDurationMs
488
- : null;
519
+ const maxBytesPerChunkCandidate = typeof options.maxBytesPerChunk === 'number'
520
+ ? Math.floor(options.maxBytesPerChunk)
521
+ : Number.NaN;
522
+ const maxBytesPerChunk = maxBytesPerChunkCandidate >= 1
523
+ ? maxBytesPerChunkCandidate
524
+ : DEFAULT_SESSION_REPLAY_MAX_CHUNK_BYTES;
525
+ const maxBytesPerEventCandidate = typeof options.maxBytesPerEvent === 'number'
526
+ ? Math.floor(options.maxBytesPerEvent)
527
+ : Number.NaN;
528
+ const maxBytesPerEvent = maxBytesPerEventCandidate >= 1
529
+ ? maxBytesPerEventCandidate
530
+ : DEFAULT_SESSION_REPLAY_MAX_EVENT_BYTES;
489
531
  const idleTimeoutMs = typeof options.idleTimeoutMs === 'number' && options.idleTimeoutMs > 0
490
532
  ? options.idleTimeoutMs
491
533
  : null;
492
- let chunkIndex = 0;
534
+ let chunkIndex = started.nextChunkIndex;
493
535
  let stopped = false;
494
536
  let events = [];
537
+ let eventsByteLength = 0;
495
538
  let flushing = Promise.resolve();
496
539
  let maxDurationTimer;
497
540
  let idleTimer;
@@ -500,6 +543,7 @@ export class Lib {
500
543
  return;
501
544
  const chunk = events;
502
545
  events = [];
546
+ eventsByteLength = 0;
503
547
  const currentChunkIndex = chunkIndex++;
504
548
  flushing = flushing
505
549
  .catch(() => undefined)
@@ -512,11 +556,27 @@ export class Lib {
512
556
  userEmit?.(event);
513
557
  }
514
558
  catch { }
559
+ let eventByteLength = 0;
560
+ try {
561
+ eventByteLength = getStringByteLength(JSON.stringify(event));
562
+ }
563
+ catch {
564
+ return;
565
+ }
566
+ if (eventByteLength > maxBytesPerEvent) {
567
+ return;
568
+ }
569
+ if (events.length &&
570
+ eventsByteLength + eventByteLength > maxBytesPerChunk) {
571
+ void flush();
572
+ }
515
573
  events.push(event);
516
- if (events.length >= maxEventsPerChunk) {
574
+ eventsByteLength += eventByteLength;
575
+ if (events.length >= maxEventsPerChunk ||
576
+ eventsByteLength >= maxBytesPerChunk) {
517
577
  void flush();
518
578
  }
519
- });
579
+ }, Boolean(options.recordIframes), options.maskAllText);
520
580
  const stopRecording = rrweb.record(recordOptions);
521
581
  const timer = setInterval(() => void flush(), flushIntervalMs);
522
582
  const flushOnPageExit = () => void flush(true);
@@ -558,9 +618,7 @@ export class Lib {
558
618
  };
559
619
  window.addEventListener('pagehide', flushOnPageExit);
560
620
  document.addEventListener('visibilitychange', flushOnHidden);
561
- if (maxDurationMs) {
562
- maxDurationTimer = setTimeout(() => void stopSessionReplay(), maxDurationMs);
563
- }
621
+ maxDurationTimer = setTimeout(() => void stopSessionReplay(), maxDurationMs);
564
622
  if (idleTimeoutMs) {
565
623
  SESSION_REPLAY_ACTIVITY_EVENTS.forEach((eventName) => {
566
624
  window.addEventListener(eventName, resetIdleTimer, { passive: true });
@@ -788,9 +846,36 @@ export class Lib {
788
846
  document.head.appendChild(script);
789
847
  });
790
848
  }
791
- getSessionReplayRecordOptions(privacy, userOptions, emit) {
849
+ getSessionReplayRecordOptions(privacy, userOptions, emit, recordIframes, maskAllText) {
850
+ const hasUserSampling = userOptions &&
851
+ Object.prototype.hasOwnProperty.call(userOptions, 'sampling');
852
+ const hasUserSlimDOMOptions = userOptions &&
853
+ Object.prototype.hasOwnProperty.call(userOptions, 'slimDOMOptions');
854
+ const sampling = typeof userOptions?.sampling === 'object' && userOptions.sampling !== null
855
+ ? {
856
+ ...DEFAULT_SESSION_REPLAY_SAMPLING,
857
+ ...userOptions.sampling,
858
+ }
859
+ : hasUserSampling
860
+ ? userOptions?.sampling
861
+ : DEFAULT_SESSION_REPLAY_SAMPLING;
862
+ const slimDOMOptions = typeof userOptions?.slimDOMOptions === 'object' &&
863
+ userOptions.slimDOMOptions !== null
864
+ ? {
865
+ ...DEFAULT_SESSION_REPLAY_SLIM_DOM_OPTIONS,
866
+ ...userOptions.slimDOMOptions,
867
+ }
868
+ : hasUserSlimDOMOptions
869
+ ? userOptions?.slimDOMOptions
870
+ : DEFAULT_SESSION_REPLAY_SLIM_DOM_OPTIONS;
792
871
  const options = {
872
+ recordCanvas: false,
873
+ recordCrossOriginIframes: false,
874
+ collectFonts: false,
875
+ inlineImages: false,
793
876
  ...userOptions,
877
+ sampling,
878
+ slimDOMOptions,
794
879
  emit,
795
880
  };
796
881
  const maskInputOptions = typeof options.maskInputOptions === 'object' &&
@@ -798,12 +883,19 @@ export class Lib {
798
883
  ? options.maskInputOptions
799
884
  : {};
800
885
  const resolvedPrivacy = this.getSessionReplayPrivacy(privacy);
886
+ const defaultBlockSelector = recordIframes ? undefined : 'iframe';
887
+ const resolvedMaskAllText = typeof maskAllText === 'boolean'
888
+ ? maskAllText
889
+ : resolvedPrivacy === 'total';
890
+ const textMaskingOptions = resolvedMaskAllText
891
+ ? { maskTextSelector: '*' }
892
+ : {};
801
893
  if (resolvedPrivacy === 'total') {
802
894
  return {
803
895
  ...options,
896
+ ...textMaskingOptions,
804
897
  maskAllInputs: true,
805
- maskTextSelector: '*',
806
- blockSelector: this.mergeSelectors(options.blockSelector, 'img, picture, video, audio, canvas, svg'),
898
+ blockSelector: this.mergeSelectors(this.mergeSelectors(options.blockSelector, defaultBlockSelector), 'img, picture, video, audio, canvas, svg'),
807
899
  recordCanvas: false,
808
900
  inlineImages: false,
809
901
  emit,
@@ -812,12 +904,16 @@ export class Lib {
812
904
  if (resolvedPrivacy === 'normal') {
813
905
  return {
814
906
  ...options,
907
+ ...textMaskingOptions,
815
908
  maskAllInputs: true,
909
+ blockSelector: this.mergeSelectors(options.blockSelector, defaultBlockSelector),
816
910
  emit,
817
911
  };
818
912
  }
819
913
  return {
820
914
  ...options,
915
+ ...textMaskingOptions,
916
+ blockSelector: this.mergeSelectors(options.blockSelector, defaultBlockSelector),
821
917
  maskInputOptions: {
822
918
  ...maskInputOptions,
823
919
  password: true,
@@ -826,6 +922,9 @@ export class Lib {
826
922
  };
827
923
  }
828
924
  mergeSelectors(existing, required) {
925
+ if (!required) {
926
+ return typeof existing === 'string' ? existing : undefined;
927
+ }
829
928
  if (typeof existing === 'string' && existing.trim()) {
830
929
  return `${existing}, ${required}`;
831
930
  }
@@ -859,10 +958,33 @@ export class Lib {
859
958
  profileId: this.options?.profileId,
860
959
  }),
861
960
  });
862
- return response.ok;
961
+ if (!response.ok) {
962
+ return null;
963
+ }
964
+ try {
965
+ const result = (await response.json());
966
+ const resolvedReplayId = typeof result.replayId === 'string' && result.replayId
967
+ ? result.replayId
968
+ : replayId;
969
+ const resolvedChunkIndex = typeof result.nextChunkIndex === 'number' &&
970
+ Number.isFinite(result.nextChunkIndex) &&
971
+ result.nextChunkIndex >= 0
972
+ ? Math.floor(result.nextChunkIndex)
973
+ : 0;
974
+ return {
975
+ replayId: resolvedReplayId,
976
+ nextChunkIndex: resolvedChunkIndex,
977
+ };
978
+ }
979
+ catch {
980
+ return {
981
+ replayId,
982
+ nextChunkIndex: 0,
983
+ };
984
+ }
863
985
  }
864
986
  catch {
865
- return false;
987
+ return null;
866
988
  }
867
989
  }
868
990
  async sendSessionReplayChunk(replayId, privacy, chunkIndex, events, useBeacon) {
@@ -1 +1 @@
1
- {"version":3,"file":"Lib.js","sourceRoot":"","sources":["../../src/Lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,OAAO,GACR,MAAM,YAAY,CAAA;AA0LnB,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAA;AA8E1E,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,KAAI,CAAC;CACV,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAyB;IAC/D,KAAK,CAAC,IAAI,KAAI,CAAC;IACf,KAAK,CAAC,KAAK,KAAI,CAAC;CACjB,CAAA;AAED,MAAM,gBAAgB,GAAG,6BAA6B,CAAA;AACtD,MAAM,gBAAgB,GAAG,yBAAyB,CAAA;AAClD,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AACjD,MAAM,iBAAiB,GAAG,oDAAoD,kBAAkB,EAAE,CAAA;AAClG,MAAM,qCAAqC,GAAG,IAAI,CAAA;AAClD,MAAM,iCAAiC,GAAG,GAAG,CAAA;AAC7C,MAAM,8BAA8B,GAAyB,OAAO,CAAA;AACpE,MAAM,8BAA8B,GAAG;IACrC,OAAO;IACP,SAAS;IACT,WAAW;IACX,WAAW;IACX,QAAQ;IACR,YAAY;CACJ,CAAA;AAEV,oCAAoC;AACpC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAE5C,MAAM,OAAO,GAAG;IAYd,YAAoB,SAAiB,EAAU,OAAoB;QAA/C,cAAS,GAAT,SAAS,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAa;QAX3D,aAAQ,GAAoB,IAAI,CAAA;QAChC,qBAAgB,GAA6B,IAAI,CAAA;QACjD,kBAAa,GAAyB,IAAI,CAAA;QAC1C,uBAAkB,GAAY,KAAK,CAAA;QACnC,eAAU,GAAkB,IAAI,CAAA;QAChC,wBAAmB,GAAG,KAAK,CAAA;QAC3B,eAAU,GAAsB,IAAI,CAAA;QACpC,gBAAW,GAAyB,IAAI,CAAA;QACxC,yBAAoB,GAAgC,IAAI,CAAA;QACxD,6BAAwB,GAAyC,IAAI,CAAA;QAG3E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEhD,IAAI,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAiB;QAC5B,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACzG,OAAM;QACR,CAAC;QAED,IAAI,CAAC,WAAW,CACd;YACE,mCAAmC;YACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YAExB,qCAAqC;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM;YAEpB,uCAAuC;YACvC,KAAK,EAAE,KAAK,CAAC,KAAK;YAElB,8JAA8J;YAC9J,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,OAAO;YAElC,gHAAgH;YAChH,gGAAgG;YAChG,8FAA8F;YAC9F,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO;YAE9C,0CAA0C;YAC1C,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK;SAC/B,EACD,IAAI,CACL,CAAA;IACH,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjD,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA;QAE5B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACnD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QAE/B,OAAO;YACL,IAAI,EAAE,GAAG,EAAE;gBACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;gBACtD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;YAClC,CAAC;SACF,CAAA;IACH,CAAC;IAED,WAAW,CAAC,OAA2B,EAAE,aAAuB;QAC9D,MAAM,WAAW,GAAG;YAClB,GAAG,EAAE,IAAI,CAAC,SAAS;SACpB,CAAA;QAED,MAAM,YAAY,GAAG;YACnB,EAAE,EACA,IAAI,CAAC,UAAU;gBACf,OAAO,CAAC;oBACN,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI;oBACjC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM;iBACtC,CAAC;YACJ,EAAE,EAAE,SAAS,EAAE;YACf,EAAE,EAAE,WAAW,EAAE;YACjB,GAAG,OAAO;SACX,CAAA;QAED,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC;YAClD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;YAEhE,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;gBAC7B,OAAM;YACR,CAAC;YAED,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAExC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG;YACX,GAAG,KAAK;YACR,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,EAAE,EACA,IAAI,CAAC,UAAU;gBACf,OAAO,CAAC;oBACN,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI;oBACjC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM;iBACtC,CAAC;YACJ,EAAE,EAAE,SAAS,EAAE;YACf,EAAE,EAAE,WAAW,EAAE;YACjB,GAAG,EAAE,WAAW,EAAE;YAClB,EAAE,EAAE,YAAY,EAAE;YAClB,EAAE,EAAE,YAAY,EAAE;YAClB,EAAE,EAAE,cAAc,EAAE;YACpB,EAAE,EAAE,UAAU,EAAE;YAChB,EAAE,EAAE,aAAa,EAAE;YACnB,EAAE,EAAE,cAAc,EAAE;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS;SACtD,CAAA;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,cAAc,CAAC,OAA0B;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAA;QAC/B,IAAI,QAAwC,CAAA;QAE5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QACpD,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAChC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAErD,MAAM,IAAI,GAAG,OAAO,CAAC;YACnB,IAAI,EAAE,OAAO,EAAE,IAAI;YACnB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI;YACJ,OAAO,EAAE;gBACP,IAAI,EAAE,GAAG,EAAE;oBACT,aAAa,CAAC,QAAQ,CAAC,CAAA;oBACvB,aAAa,CAAC,UAAU,CAAC,CAAA;gBAC3B,CAAC;aACF;SACF,CAAA;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;IAC9B,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;YACzF,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAgC,CAAA;QAEhG,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAE9B,OAAO;YACL,UAAU;YACV,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB;YACrE,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,wFAAwF;YAC9K,IAAI,EAAE,IAAI,CAAC,qBAAqB;gBAC9B,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY;gBAChD,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,kBAAkB;YAC3D,QAAQ,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,2BAA2B;YAE5E,WAAW;YACX,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,wBAAwB,EAAE,kCAAkC;YAC5F,QAAQ,EAAE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,EAAE,qBAAqB;YACjF,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB;YAEjD,UAAU;YACV,IAAI,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY;SAC7C,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CAAC,OAA6B,EAAE,YAAsB;QACzE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,kBAAkB,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAA;QAExE,8DAA8D;QAC9D,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,KAAK,kBAAkB,CAAA;YACtE,IAAI,aAAa,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,sBAAsB,EAAE,CAAC;gBAC9E,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAC5C,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAA;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAA;YAC9D,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAA;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,OAAiD;QACtF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,MAAM,IAAI,GAAwC;YAChD,GAAG,EAAE,IAAI,CAAC,SAAS;SACpB,CAAA;QAED,+DAA+D;QAC/D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAA;QAC/D,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,wBAAwB,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;YACzF,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGlC,CAAA;QAED,+DAA+D;QAC/D,MAAM,eAAe,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAA;QAErE,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,eAAe;SAC3B,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,OAA6B,EAAE,eAAwB,KAAK;QAC5F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACjD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,YAAY,CAAA;IACnC,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,cAAc,CAAC,OAA2B,EAAE,YAAsB;QACtE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,kBAAkB,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAA;QAExE,8DAA8D;QAC9D,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,KAAK,kBAAkB,CAAA;YACtE,IAAI,aAAa,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,sBAAsB,EAAE,CAAC;gBAC9E,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAA;YACpC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAC5C,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE,CAAA;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAA;YAC5D,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE,CAAA;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,aAAa,CACjB,YAAoB,EACpB,OAA2B,EAC3B,iBAAgC,IAAI;QAEpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACtD,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,cAAc,CAAA;IACpD,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,YAAY;QAChB,oDAAoD;QACpD,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,EAAE;gBACxD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;aAC9C,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiC,CAAA;YACpE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,EAAE;gBACxD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;aAC9C,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiC,CAAA;YACpE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAgC,EAAE;QAElC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAA;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,wBAAwB,CAAA;QACtC,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,wBAAwB,GAAG,WAAW,CAAA;QAE3C,IAAI,CAAC;YACH,OAAO,MAAM,WAAW,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE,CAAC;gBAClD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,OAA6B;QAE7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAA;QAClC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrB,OAAO,2BAA2B,CAAA;QACpC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,OAAO,2BAA2B,CAAA;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,2BAA2B,CAAA;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO,2BAA2B,CAAA;QACpC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEpE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,2BAA2B,CAAA;QACpC,CAAC;QAED,MAAM,eAAe,GACnB,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,GAAG,CAAC;YACxE,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,qCAAqC,CAAA;QAC3C,MAAM,iBAAiB,GACrB,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ;YAC7C,OAAO,CAAC,iBAAiB,GAAG,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,iCAAiC,CAAA;QACvC,MAAM,aAAa,GACjB,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC;YACpE,CAAC,CAAC,OAAO,CAAC,aAAa;YACvB,CAAC,CAAC,IAAI,CAAA;QACV,MAAM,aAAa,GACjB,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC;YACpE,CAAC,CAAC,OAAO,CAAC,aAAa;YACvB,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI,MAAM,GAAiB,EAAE,CAAA;QAC7B,IAAI,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;QAChC,IAAI,gBAA2D,CAAA;QAC/D,IAAI,SAAoD,CAAA;QAExD,MAAM,KAAK,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAM;YAE1B,MAAM,KAAK,GAAG,MAAM,CAAA;YACpB,MAAM,GAAG,EAAE,CAAA;YACX,MAAM,iBAAiB,GAAG,UAAU,EAAE,CAAA;YAEtC,QAAQ,GAAG,QAAQ;iBAChB,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;iBACtB,IAAI,CAAC,GAAG,EAAE,CACT,IAAI,CAAC,sBAAsB,CACzB,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,KAAK,EACL,SAAS,CACV,CACF,CAAA;YAEH,MAAM,QAAQ,CAAA;QAChB,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAA;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CACtD,OAAO,EACP,OAAO,CAAC,KAAK,EACb,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC;gBACH,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,IAAI,MAAM,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;gBACvC,KAAK,KAAK,EAAE,CAAA;YACd,CAAC;QACH,CAAC,CACF,CAAA;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,EAAE,eAAe,CAAC,CAAA;QAC9D,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC1C,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;QACH,CAAC,CAAA;QACD,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,CAAA;gBACvB,SAAS,GAAG,SAAS,CAAA;YACvB,CAAC;QACH,CAAC,CAAA;QACD,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;YACnC,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,YAAY,CAAC,gBAAgB,CAAC,CAAA;YAChC,CAAC;YACD,cAAc,EAAE,CAAA;YAChB,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;YACvD,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;YAC/D,8BAA8B,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACnD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YACvD,CAAC,CAAC,CAAA;YACF,aAAa,EAAE,EAAE,CAAA;YACjB,MAAM,KAAK,EAAE,CAAA;YACb,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAA;YAChC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAA;QACtC,CAAC,CAAA;QACD,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,aAAa,IAAI,OAAO;gBAAE,OAAM;YACrC,cAAc,EAAE,CAAA;YAChB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,iBAAiB,EAAE,EAAE,aAAa,CAAC,CAAA;QACvE,CAAC,CAAA;QAED,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QACpD,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;QAE5D,IAAI,aAAa,EAAE,CAAC;YAClB,gBAAgB,GAAG,UAAU,CAC3B,GAAG,EAAE,CAAC,KAAK,iBAAiB,EAAE,EAC9B,aAAa,CACd,CAAA;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,8BAA8B,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACnD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YACvE,CAAC,CAAC,CAAA;YACF,cAAc,EAAE,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG;YAC1B,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,KAAK,EAAE,CAAA;YACf,CAAC;SACF,CAAA;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAA;IAClC,CAAC;IAEO,yBAAyB,CAAC,UAAmB;QACnD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAA;IACnC,CAAC;IAEO,uBAAuB,CAAC,OAAgB;QAC9C,OAAO,6BAA6B,CAAC,QAAQ,CAC3C,OAA+B,CAChC;YACC,CAAC,CAAE,OAAgC;YACnC,CAAC,CAAC,8BAA8B,CAAA;IACpC,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACzB,kCAAkC;YAClC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC3F,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAwC;YAChD,GAAG,EAAE,IAAI,CAAC,SAAS;SACpB,CAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,0EAA0E;IAClE,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI;YACjC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM;SACtC,CAAC,CAAA;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QAE9B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,EAAU,EAAE,SAAkB,KAAK;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAA;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAEvC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACjD,CAAC;IAED,cAAc,CACZ,OAAkC,EAClC,MAAe,EACf,IAAuB,EACvB,aAAuB;QAEvB,MAAM,WAAW,GAAG;YAClB,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,IAAI;YACJ,MAAM;SACP,CAAA;QAED,MAAM,SAAS,GAAG;YAChB,EAAE,EAAE,SAAS,EAAE;YACf,EAAE,EAAE,WAAW,EAAE;YACjB,GAAG,EAAE,WAAW,EAAE;YAClB,EAAE,EAAE,YAAY,EAAE;YAClB,EAAE,EAAE,YAAY,EAAE;YAClB,EAAE,EAAE,cAAc,EAAE;YACpB,EAAE,EAAE,UAAU,EAAE;YAChB,EAAE,EAAE,aAAa,EAAE;YACnB,EAAE,EAAE,cAAc,EAAE;YACpB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;YAClC,GAAG,OAAO;SACX,CAAA;QAED,IAAI,aAAa,IAAI,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC;YACrD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAA6B,CAAC,CAAA;YAEpF,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;gBAC7B,OAAM;YACR,CAAC;YAED,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QAErC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;IACjC,CAAC;IAEO,QAAQ;QACd,IACE,IAAI,CAAC,OAAO,EAAE,QAAQ;YACtB,CAAC,WAAW,EAAE;YACd,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,KAAK,GAAG,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC;YACzC,WAAW,EAAE,EACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,mBAAmB;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAA;QACzD,IACE,YAAY;YACZ,OAAO,YAAY,KAAK,QAAQ;YAChC,YAAY,CAAC,QAAQ,EACrB,CAAC;YACD,OAAO,YAAY,CAAC,QAAQ,CAAA;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAA;IAC1C,CAAC;IAEO,6BAA6B;QACnC,OAAO,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAA;IAC3C,CAAC;IAEO,0BAA0B;QAChC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAE7C,IAAI,aAAa,EAAE,GAAG,EAAE,CAAC;YACvB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YACzD,IACE,QAAQ,KAAK,aAAa;gBAC1B,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzC,CAAC;gBACD,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,OAAO,IAAI,GAAG,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;QAClE,CAAC;QAED,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAEO,gBAAgB;QACtB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACxC,OAAO,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,aAAa,CAAA;IACtB,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,WAAW,CAAA;QACzB,CAAC;QAED,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAA;YACnD,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC/B,IAAI,MAAM,CAAC,yBAAyB,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1D,OAAO,MAAM,CAAC,yBAAyB,CAAA;gBACzC,CAAC;gBACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACzB,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,WAAW,CAAA;QACzB,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAEnD,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAA;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;QAC/B,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YACrB,IAAI,MAAM,CAAC,yBAAyB,KAAK,MAAM,EAAE,CAAC;gBAChD,OAAO,MAAM,CAAC,yBAAyB,CAAA;YACzC,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACzB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAA;QACzD,MAAM,kBAAkB,GACtB,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAA;QAE3E,IAAI,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAA;YAC9D,OAAM;QACR,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YAC1C,OAAM;QACR,CAAC;QAED,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAA;IACvE,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAgB,CAAA;YAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAA;YAEpE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;YACpB,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,GAAW;QACzC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAC/C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;YACnB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAA;YAChB,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;YAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;YAC/B,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;YAChE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,6BAA6B,CACnC,OAAgB,EAChB,WAA2C,EAC3C,IAAe;QAEf,MAAM,OAAO,GAAuB;YAClC,GAAG,WAAW;YACd,IAAI;SACL,CAAA;QAED,MAAM,gBAAgB,GACpB,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ;YAC5C,OAAO,CAAC,gBAAgB,KAAK,IAAI;YAC/B,CAAC,CAAE,OAAO,CAAC,gBAA4C;YACvD,CAAC,CAAC,EAAE,CAAA;QAER,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAE7D,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO;gBACL,GAAG,OAAO;gBACV,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,GAAG;gBACrB,aAAa,EAAE,IAAI,CAAC,cAAc,CAChC,OAAO,CAAC,aAAa,EACrB,yCAAyC,CAC1C;gBACD,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,KAAK;gBACnB,IAAI;aACL,CAAA;QACH,CAAC;QAED,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;gBACL,GAAG,OAAO;gBACV,aAAa,EAAE,IAAI;gBACnB,IAAI;aACL,CAAA;QACH,CAAC;QAED,OAAO;YACL,GAAG,OAAO;YACV,gBAAgB,EAAE;gBAChB,GAAG,gBAAgB;gBACnB,QAAQ,EAAE,IAAI;aACf;YACD,IAAI;SACL,CAAA;IACH,CAAC;IAEO,cAAc,CAAC,QAAiB,EAAE,QAAgB;QACxD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,OAAO,GAAG,QAAQ,KAAK,QAAQ,EAAE,CAAA;QACnC,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,cAAc;QACpB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YAC5D,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA;QAC5B,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5E,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,QAAgB,EAChB,OAA6B;QAE7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,2BAA2B,EAAE;gBAClE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,EAAE,IAAI,CAAC,SAAS;oBACnB,QAAQ;oBACR,OAAO;oBACP,EAAE,EACA,IAAI,CAAC,UAAU;wBACf,OAAO,CAAC;4BACN,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI;4BACjC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM;yBACtC,CAAC;oBACJ,EAAE,EAAE,SAAS,EAAE;oBACf,EAAE,EAAE,WAAW,EAAE;oBACjB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;iBACnC,CAAC;aACH,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAC,EAAE,CAAA;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,QAAgB,EAChB,OAA6B,EAC7B,UAAkB,EAClB,MAAoB,EACpB,SAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,MAAM,GAAG,GAAG,GAAG,OAAO,2BAA2B,CAAA;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,QAAQ;YACR,OAAO;YACP,UAAU;YACV,MAAM;SACP,CAAC,CAAA;QAEF,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAC/B,GAAG,EACH,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAClD,CAAA;YACD,IAAI,IAAI;gBAAE,OAAM;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,GAAG,EAAE;gBACf,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAY;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,gBAAgB,CAAA;QACrD,MAAM,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"Lib.js","sourceRoot":"","sources":["../../src/Lib.ts"],"names":[],"mappings":"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"}