@inrupt/solid-client-authn-browser 3.1.1 → 4.0.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 (65) hide show
  1. package/README.md +9 -13
  2. package/dist/index.js +28 -38
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +28 -38
  5. package/dist/index.mjs.map +1 -1
  6. package/dist/solid-client-authn.bundle.js +1 -31
  7. package/dist/solid-client-authn.bundle.js.map +1 -1
  8. package/package.json +4 -4
  9. package/rollup.config.mjs +0 -2
  10. package/src/ClientAuthentication.spec.ts +128 -2
  11. package/src/ClientAuthentication.ts +18 -4
  12. package/src/Session.spec.ts +69 -18
  13. package/src/Session.ts +0 -1
  14. package/src/__mocks__/ClientAuthentication.ts +1 -1
  15. package/src/constant.ts +0 -1
  16. package/src/defaultSession.spec.ts +0 -1
  17. package/src/defaultSession.ts +1 -2
  18. package/src/dependencies.node.spec.ts +0 -1
  19. package/src/dependencies.spec.ts +0 -1
  20. package/src/dependencies.ts +0 -1
  21. package/src/index.browser.spec.ts +0 -1
  22. package/src/index.browser.ts +0 -1
  23. package/src/index.spec.ts +0 -1
  24. package/src/index.ts +0 -1
  25. package/src/login/__mocks__/LoginHandler.ts +0 -1
  26. package/src/login/oidc/AggregateOidcHandler.spec.ts +1 -2
  27. package/src/login/oidc/AggregateOidcHandler.ts +0 -1
  28. package/src/login/oidc/AggregateRedirectHandler.ts +0 -1
  29. package/src/login/oidc/ClientRegistrar.spec.ts +1 -1
  30. package/src/login/oidc/ClientRegistrar.ts +0 -1
  31. package/src/login/oidc/IssuerConfigFetcher.spec.ts +7 -5
  32. package/src/login/oidc/IssuerConfigFetcher.ts +3 -3
  33. package/src/login/oidc/OidcLoginHandler.spec.ts +1 -1
  34. package/src/login/oidc/OidcLoginHandler.ts +0 -1
  35. package/src/login/oidc/Redirector.spec.ts +0 -1
  36. package/src/login/oidc/Redirector.ts +0 -1
  37. package/src/login/oidc/__mocks__/ClientRegistrar.ts +0 -1
  38. package/src/login/oidc/__mocks__/IOidcHandler.ts +1 -3
  39. package/src/login/oidc/__mocks__/IOidcOptions.ts +0 -1
  40. package/src/login/oidc/__mocks__/IssuerConfigFetcher.ts +0 -2
  41. package/src/login/oidc/__mocks__/Redirector.ts +0 -1
  42. package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.spec.ts +1 -1
  43. package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts +0 -1
  44. package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.spec.ts +0 -1
  45. package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts +0 -2
  46. package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.spec.ts +0 -1
  47. package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts +1 -2
  48. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.spec.ts +1 -4
  49. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts +10 -11
  50. package/src/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.ts +0 -1
  51. package/src/login/oidc/refresh/TokenRefresher.spec.ts +1 -1
  52. package/src/login/oidc/refresh/TokenRefresher.ts +0 -2
  53. package/src/login/oidc/refresh/__mocks__/TokenRefresher.ts +0 -2
  54. package/src/logout/buildRpInitiatedLogout.ts +1 -1
  55. package/src/sessionInfo/SessionInfoManager.spec.ts +62 -1
  56. package/src/sessionInfo/SessionInfoManager.ts +6 -1
  57. package/src/sessionInfo/__mocks__/SessionInfoManager.ts +1 -2
  58. package/src/storage/BrowserStorage.spec.ts +0 -1
  59. package/src/storage/BrowserStorage.ts +0 -1
  60. package/src/storage/StorageUtility.ts +0 -1
  61. package/src/storage/__mocks__/LocalStorage.ts +0 -1
  62. package/src/util/UUIDGenerator.spec.ts +0 -1
  63. package/src/util/UuidGenerator.ts +0 -2
  64. package/src/util/__mocks__/UuidGenerator.ts +0 -1
  65. package/typedoc.config.mjs +0 -1
package/dist/index.mjs CHANGED
@@ -4,7 +4,6 @@ import { v4 } from 'uuid';
4
4
  import EventEmitter from 'events';
5
5
  import { normalizeCallbackUrl, OidcClient, clearOidcPersistentStorage, getTokens, registerClient, refresh } from '@inrupt/oidc-client-ext';
6
6
 
7
- //
8
7
  // Copyright Inrupt Inc.
9
8
  //
10
9
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -37,7 +36,6 @@ class StorageUtilityBrowser extends StorageUtility {
37
36
  }
38
37
  }
39
38
 
40
- //
41
39
  // Copyright Inrupt Inc.
42
40
  //
43
41
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -57,6 +55,17 @@ class StorageUtilityBrowser extends StorageUtility {
57
55
  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
58
56
  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
59
57
  //
58
+ /**
59
+ * Checks if a client's registration has expired.
60
+ */
61
+ function isClientExpired(sessionInfo) {
62
+ // clientExpiresAt === 0 means the client never expires (per OIDC DCR spec)
63
+ if (sessionInfo.clientExpiresAt === undefined ||
64
+ sessionInfo.clientExpiresAt === 0) {
65
+ return false;
66
+ }
67
+ return sessionInfo.clientExpiresAt < Math.floor(Date.now() / 1000);
68
+ }
60
69
  /**
61
70
  * @hidden
62
71
  */
@@ -89,14 +98,15 @@ class ClientAuthentication extends ClientAuthentication$1 {
89
98
  });
90
99
  };
91
100
  // Collects session information from storage, and returns them. Returns null
92
- // if the expected information cannot be found.
101
+ // if the expected information cannot be found or if the client has expired.
93
102
  // Note that the ID token is not stored, which means the session information
94
103
  // cannot be validated at this point.
95
104
  validateCurrentSession = async (currentSessionId) => {
96
105
  const sessionInfo = await this.sessionInfoManager.get(currentSessionId);
97
106
  if (sessionInfo === undefined ||
98
107
  sessionInfo.clientAppId === undefined ||
99
- sessionInfo.issuer === undefined) {
108
+ sessionInfo.issuer === undefined ||
109
+ isClientExpired(sessionInfo)) {
100
110
  return null;
101
111
  }
102
112
  return sessionInfo;
@@ -146,7 +156,6 @@ class ClientAuthentication extends ClientAuthentication$1 {
146
156
  // 'popstate' event which should be listened to is only sent on active
147
157
  // navigation, which we will not have here.
148
158
  // See https://developer.mozilla.org/en-US/docs/Web/API/Window/popstate_event#when_popstate_is_sent
149
- // eslint-disable-next-line no-await-in-loop
150
159
  await new Promise((resolve) => {
151
160
  setTimeout(() => resolve(), 1);
152
161
  });
@@ -154,7 +163,6 @@ class ClientAuthentication extends ClientAuthentication$1 {
154
163
  }
155
164
  }
156
165
 
157
- //
158
166
  // Copyright Inrupt Inc.
159
167
  //
160
168
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -231,7 +239,6 @@ class OidcLoginHandler {
231
239
  }
232
240
  }
233
241
 
234
- //
235
242
  // Copyright Inrupt Inc.
236
243
  //
237
244
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -251,6 +258,8 @@ class OidcLoginHandler {
251
258
  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
252
259
  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
253
260
  //
261
+ // Camelcase identifiers are required in the OIDC specification.
262
+ /* eslint-disable camelcase*/
254
263
  /**
255
264
  * @hidden
256
265
  * Authorization code flow spec: https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth
@@ -258,12 +267,12 @@ class OidcLoginHandler {
258
267
  */
259
268
  class AuthorizationCodeWithPkceOidcHandler extends AuthorizationCodeWithPkceOidcHandlerBase {
260
269
  async handle(oidcLoginOptions) {
261
- /* eslint-disable camelcase */
270
+ const redirectUri = oidcLoginOptions.redirectUrl ?? "";
262
271
  const oidcOptions = {
263
272
  authority: oidcLoginOptions.issuer.toString(),
264
273
  client_id: oidcLoginOptions.client.clientId,
265
274
  client_secret: oidcLoginOptions.client.clientSecret,
266
- redirect_uri: oidcLoginOptions.redirectUrl,
275
+ redirect_uri: redirectUri,
267
276
  response_type: "code",
268
277
  scope: oidcLoginOptions.scopes.join(" "),
269
278
  filterProtocolClaims: true,
@@ -271,25 +280,20 @@ class AuthorizationCodeWithPkceOidcHandler extends AuthorizationCodeWithPkceOidc
271
280
  // Note that in Solid, information should be retrieved from the
272
281
  // profile referenced by the WebId.
273
282
  loadUserInfo: false,
274
- code_verifier: true,
275
283
  prompt: oidcLoginOptions.prompt ?? "consent",
276
284
  };
277
- /* eslint-enable camelcase */
278
285
  const oidcClientLibrary = new OidcClient(oidcOptions);
279
286
  try {
280
- const signingRequest = await oidcClientLibrary.createSigninRequest();
287
+ const signingRequest = await oidcClientLibrary.createSigninRequest({});
281
288
  // Make sure to await the promise before returning so that the error is caught.
282
289
  return await this.setupRedirectHandler({
283
290
  oidcLoginOptions,
284
- // eslint-disable-next-line no-underscore-dangle
285
- state: signingRequest.state._id,
286
- // eslint-disable-next-line no-underscore-dangle
287
- codeVerifier: signingRequest.state._code_verifier,
291
+ state: signingRequest.state.id,
292
+ codeVerifier: signingRequest.state.code_verifier ?? "",
288
293
  targetUrl: signingRequest.url.toString(),
289
294
  });
290
295
  }
291
296
  catch (err) {
292
- // eslint-disable-next-line no-console
293
297
  console.error(err);
294
298
  }
295
299
  // The login is only completed AFTER redirect, so nothing to return here.
@@ -297,7 +301,6 @@ class AuthorizationCodeWithPkceOidcHandler extends AuthorizationCodeWithPkceOidc
297
301
  }
298
302
  }
299
303
 
300
- //
301
304
  // Copyright Inrupt Inc.
302
305
  //
303
306
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -317,8 +320,9 @@ class AuthorizationCodeWithPkceOidcHandler extends AuthorizationCodeWithPkceOidc
317
320
  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
318
321
  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
319
322
  //
323
+ // Camelcase identifiers are required in the OIDC specification.
324
+ /* eslint-disable camelcase*/
320
325
  const WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
321
- /* eslint-disable camelcase */
322
326
  const issuerConfigKeyMap = {
323
327
  issuer: {
324
328
  toKey: "issuer",
@@ -406,7 +410,6 @@ const issuerConfigKeyMap = {
406
410
  convertToUrl: true,
407
411
  },
408
412
  };
409
- /* eslint-enable camelcase */
410
413
  function processConfig(config) {
411
414
  const parsedConfig = {};
412
415
  Object.keys(config).forEach((key) => {
@@ -457,7 +460,6 @@ class IssuerConfigFetcher {
457
460
  }
458
461
  }
459
462
 
460
- //
461
463
  // Copyright Inrupt Inc.
462
464
  //
463
465
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -491,7 +493,7 @@ async function clear(sessionId, storage) {
491
493
  */
492
494
  class SessionInfoManager extends SessionInfoManagerBase {
493
495
  async get(sessionId) {
494
- const [isLoggedIn, webId, clientId, clientSecret, redirectUrl, refreshToken, issuer, tokenType,] = await Promise.all([
496
+ const [isLoggedIn, webId, clientId, clientSecret, redirectUrl, refreshToken, issuer, tokenType, expiresAt,] = await Promise.all([
495
497
  this.storageUtility.getForUser(sessionId, "isLoggedIn", {
496
498
  secure: true,
497
499
  }),
@@ -516,6 +518,9 @@ class SessionInfoManager extends SessionInfoManagerBase {
516
518
  this.storageUtility.getForUser(sessionId, "tokenType", {
517
519
  secure: false,
518
520
  }),
521
+ this.storageUtility.getForUser(sessionId, "expiresAt", {
522
+ secure: false,
523
+ }),
519
524
  ]);
520
525
  if (typeof redirectUrl === "string" && !isValidRedirectUrl(redirectUrl)) {
521
526
  // This resolves the issue for people experiencing https://github.com/inrupt/solid-client-authn-js/issues/2891.
@@ -547,6 +552,7 @@ class SessionInfoManager extends SessionInfoManagerBase {
547
552
  clientAppSecret: clientSecret,
548
553
  // Default the token type to DPoP if unspecified.
549
554
  tokenType: tokenType ?? "DPoP",
555
+ clientExpiresAt: expiresAt !== undefined ? Number.parseInt(expiresAt, 10) : undefined,
550
556
  };
551
557
  }
552
558
  /**
@@ -560,7 +566,6 @@ class SessionInfoManager extends SessionInfoManagerBase {
560
566
  }
561
567
  }
562
568
 
563
- //
564
569
  // Copyright Inrupt Inc.
565
570
  //
566
571
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -590,7 +595,6 @@ class FallbackRedirectHandler {
590
595
  async canHandle(redirectUrl) {
591
596
  try {
592
597
  // The next URL object is built for validating it.
593
- // eslint-disable-next-line no-new
594
598
  new URL(redirectUrl);
595
599
  return true;
596
600
  }
@@ -605,7 +609,6 @@ class FallbackRedirectHandler {
605
609
  }
606
610
  }
607
611
 
608
- //
609
612
  // Copyright Inrupt Inc.
610
613
  //
611
614
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -721,7 +724,6 @@ class AuthCodeRedirectHandler {
721
724
  }
722
725
  }
723
726
 
724
- //
725
727
  // Copyright Inrupt Inc.
726
728
  //
727
729
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -750,7 +752,6 @@ class AggregateRedirectHandler extends AggregateHandler {
750
752
  }
751
753
  }
752
754
 
753
- //
754
755
  // Copyright Inrupt Inc.
755
756
  //
756
757
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -788,7 +789,6 @@ class BrowserStorage {
788
789
  }
789
790
  }
790
791
 
791
- //
792
792
  // Copyright Inrupt Inc.
793
793
  //
794
794
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -825,7 +825,6 @@ class Redirector {
825
825
  }
826
826
  }
827
827
 
828
- //
829
828
  // Copyright Inrupt Inc.
830
829
  //
831
830
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -929,7 +928,6 @@ class ClientRegistrar {
929
928
  }
930
929
  }
931
930
 
932
- //
933
931
  // Copyright Inrupt Inc.
934
932
  //
935
933
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -958,7 +956,6 @@ class ClientRegistrar {
958
956
  class ErrorOidcHandler {
959
957
  async canHandle(redirectUrl) {
960
958
  try {
961
- // eslint-disable-next-line no-new
962
959
  return new URL(redirectUrl).searchParams.has("error");
963
960
  }
964
961
  catch (e) {
@@ -976,7 +973,6 @@ class ErrorOidcHandler {
976
973
  }
977
974
  }
978
975
 
979
- //
980
976
  // Copyright Inrupt Inc.
981
977
  //
982
978
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -998,7 +994,6 @@ class ErrorOidcHandler {
998
994
  //
999
995
  // Some identifiers are not in camelcase on purpose, as they are named using the
1000
996
  // official names from the OIDC/OAuth2 specifications.
1001
- /* eslint-disable camelcase */
1002
997
  /**
1003
998
  * @hidden
1004
999
  */
@@ -1033,7 +1028,6 @@ class TokenRefresher {
1033
1028
  }
1034
1029
  }
1035
1030
 
1036
- //
1037
1031
  // Copyright Inrupt Inc.
1038
1032
  //
1039
1033
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1079,7 +1073,6 @@ function getClientAuthenticationWithDependencies(dependencies) {
1079
1073
  return new ClientAuthentication(loginHandler, redirectHandler, new IWaterfallLogoutHandler(sessionInfoManager, redirector), sessionInfoManager, issuerConfigFetcher);
1080
1074
  }
1081
1075
 
1082
- //
1083
1076
  // Copyright Inrupt Inc.
1084
1077
  //
1085
1078
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1102,7 +1095,6 @@ function getClientAuthenticationWithDependencies(dependencies) {
1102
1095
  const KEY_CURRENT_SESSION = `${SOLID_CLIENT_AUTHN_KEY_PREFIX}currentSession`;
1103
1096
  const KEY_CURRENT_URL = `${SOLID_CLIENT_AUTHN_KEY_PREFIX}currentUrl`;
1104
1097
 
1105
- //
1106
1098
  // Copyright Inrupt Inc.
1107
1099
  //
1108
1100
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1365,7 +1357,6 @@ class Session {
1365
1357
  }
1366
1358
  }
1367
1359
 
1368
- //
1369
1360
  // Copyright Inrupt Inc.
1370
1361
  //
1371
1362
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1410,7 +1401,6 @@ function getDefaultSession() {
1410
1401
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch}
1411
1402
  * @since 1.3.0
1412
1403
  */
1413
- /* eslint-disable-next-line no-shadow */
1414
1404
  function fetch$1(...args) {
1415
1405
  const session = getDefaultSession();
1416
1406
  return session.fetch(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/storage/StorageUtility.ts","../src/ClientAuthentication.ts","../src/login/oidc/OidcLoginHandler.ts","../src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts","../src/login/oidc/IssuerConfigFetcher.ts","../src/sessionInfo/SessionInfoManager.ts","../src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts","../src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts","../src/login/oidc/AggregateRedirectHandler.ts","../src/storage/BrowserStorage.ts","../src/login/oidc/Redirector.ts","../src/login/oidc/ClientRegistrar.ts","../src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts","../src/login/oidc/refresh/TokenRefresher.ts","../src/dependencies.ts","../src/constant.ts","../src/Session.ts","../src/defaultSession.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ClientAuthenticationBase","clearBase","fetch"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/storage/StorageUtility.ts","../src/ClientAuthentication.ts","../src/login/oidc/OidcLoginHandler.ts","../src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts","../src/login/oidc/IssuerConfigFetcher.ts","../src/sessionInfo/SessionInfoManager.ts","../src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts","../src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts","../src/login/oidc/AggregateRedirectHandler.ts","../src/storage/BrowserStorage.ts","../src/login/oidc/Redirector.ts","../src/login/oidc/ClientRegistrar.ts","../src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts","../src/login/oidc/refresh/TokenRefresher.ts","../src/dependencies.ts","../src/constant.ts","../src/Session.ts","../src/defaultSession.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ClientAuthenticationBase","clearBase","fetch"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;;;;;;AAMG;AACkB,MAAA,qBAAsB,SAAQ,cAAc,CAAA;IAC/D,WAAY,CAAA,aAAuB,EAAE,eAAyB,EAAA;AAC5D,QAAA,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;KACvC;AACF;;AC1CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAqBA;;AAEG;AACH,SAAS,eAAe,CAAC,WAAyC,EAAA;;AAEhE,IAAA,IACE,WAAW,CAAC,eAAe,KAAK,SAAS;AACzC,QAAA,WAAW,CAAC,eAAe,KAAK,CAAC,EACjC;AACA,QAAA,OAAO,KAAK,CAAC;KACd;AACD,IAAA,OAAO,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC;AAED;;AAEG;AACkB,MAAA,oBAAqB,SAAQA,sBAAwB,CAAA;;;AAGxE,IAAA,KAAK,GAAG,OACN,OAAsB,EACtB,YAA0B,KACT;;;;AAIjB,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;YAC7B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACxD;;;;;;;AAQD,QAAA,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,IAAI,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;AACpC,YAAA,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,CAAA,uIAAA,CAAyI,CACxJ,CAAC;SACH;AACD,QAAA,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AAC7B,YAAA,GAAG,OAAO;YACV,WAAW;;AAEX,YAAA,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ;YAClD,YAAY;AACb,SAAA,CAAC,CAAC;AACL,KAAC,CAAC;;;;;AAMF,IAAA,sBAAsB,GAAG,OACvB,gBAAwB,KACiC;QACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxE,IACE,WAAW,KAAK,SAAS;YACzB,WAAW,CAAC,WAAW,KAAK,SAAS;YACrC,WAAW,CAAC,MAAM,KAAK,SAAS;AAChC,YAAA,eAAe,CAAC,WAAW,CAAC,EAC5B;AACA,YAAA,OAAO,IAAI,CAAC;SACb;AACD,QAAA,OAAO,WAAW,CAAC;AACrB,KAAC,CAAC;AAEF,IAAA,sBAAsB,GAAG,OACvB,GAAW,EACX,YAA0B,KACW;AACrC,QAAA,IAAI;AACF,YAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CACpD,GAAG,EACH,YAAY,EACZ,SAAS,CACV,CAAC;;;;;YAKF,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7C,YAAA,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC;;AAG7C,YAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAEtC,OAAO;gBACL,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,cAAc,EAAE,YAAY,CAAC,cAAc;gBAC3C,WAAW,EAAE,YAAY,CAAC,WAAW;aACtC,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;;AAEZ,YAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;;;;;;YAOtC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;AAEjD,YAAA,OAAO,SAAS,CAAC;SAClB;AACH,KAAC,CAAC;IAEM,MAAM,qBAAqB,CAAC,GAAW,EAAA;QAC7C,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;;;;;;QAOlD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;;;;;;AAO5C,YAAA,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;gBAClC,UAAU,CAAC,MAAM,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;SACJ;KACF;AACF;;AC9KD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA4BA,SAAS,SAAS,CAChB,OAAsB,EAAA;AAEtB,IAAA,OAAO,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CACrB,OAAsB,EAAA;AAEtB,IAAA,OAAO,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC;AACjD,CAAC;AAED;;AAEG;AACW,MAAO,gBAAgB,CAAA;AAEzB,IAAA,cAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACA,IAAA,mBAAA,CAAA;AACA,IAAA,eAAA,CAAA;AAJV,IAAA,WAAA,CACU,cAA+B,EAC/B,WAAyB,EACzB,mBAAyC,EACzC,eAAiC,EAAA;QAHjC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAiB;QAC/B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAc;QACzB,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAsB;QACzC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAkB;AAEzC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAC/C,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KACxC;IAED,MAAM,SAAS,CAAC,OAAsB,EAAA;QACpC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;KACtD;IAED,MAAM,MAAM,CAAC,OAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AACvB,YAAA,MAAM,IAAI,kBAAkB,CAC1B,CAAA,2EAAA,EAA8E,IAAI,CAAC,SAAS,CAC1F,OAAO,CACR,CAAE,CAAA,CACJ,CAAC;SACH;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;AAC5B,YAAA,MAAM,IAAI,kBAAkB,CAC1B,CAAA,4EAAA,EAA+E,IAAI,CAAC,SAAS,CAC3F,OAAO,CACR,CAAE,CAAA,CACJ,CAAC;SACH;;AAGD,QAAA,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAEjE,QAAA,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CACjD,OAAO,EACP,YAAY,EACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,CACrB,CAAC;;AAGF,QAAA,MAAM,WAAW,GAAiB;;;;;;YAMhC,MAAM,EAAE,YAAY,CAAC,MAAM;;YAE3B,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM;AAChD,YAAA,GAAG,OAAO;AACV,YAAA,mBAAmB,EAAE,YAAY;AACjC,YAAA,MAAM,EAAE,kBAAkB;AAC1B,YAAA,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC;SAC9C,CAAC;;QAGF,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KAC7C;AACF;;AC5HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AAEA;;;;AAIG;AACkB,MAAA,oCACnB,SAAQ,wCAAwC,CAAA;IAGhD,MAAM,MAAM,CAAC,gBAA8B,EAAA;AACzC,QAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,IAAI,EAAE,CAAC;AACvD,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC7C,YAAA,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ;AAC3C,YAAA,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC,YAAY;AACnD,YAAA,YAAY,EAAE,WAAW;AACzB,YAAA,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,YAAA,oBAAoB,EAAE,IAAI;;;;AAI1B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,SAAS;SAC7C,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;AAEtD,QAAA,IAAI;YACF,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;;AAEvE,YAAA,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBACrC,gBAAgB;AAEhB,gBAAA,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE;AAE9B,gBAAA,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE;AACtD,gBAAA,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;AACzC,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,GAAY,EAAE;AACrB,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;;AAGD,QAAA,OAAO,SAAS,CAAC;KAClB;AACF;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAiBA;AACA;AAEO,MAAM,wBAAwB,GAAG,kCAAkC,CAAC;AAE3E,MAAM,kBAAkB,GAGpB;AACF,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,sBAAsB,EAAE;AACtB,QAAA,KAAK,EAAE,uBAAuB;AAC9B,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,cAAc,EAAE;AACd,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,iBAAiB,EAAE;AACjB,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,qBAAqB,EAAE;AACrB,QAAA,KAAK,EAAE,sBAAsB;AAC7B,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,oBAAoB,EAAE;AACpB,QAAA,KAAK,EAAE,oBAAoB;AAC3B,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,gBAAgB,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;AAC9C,IAAA,wBAAwB,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;AAC7D,IAAA,wBAAwB,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;AAC7D,IAAA,qBAAqB,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;AACvD,IAAA,oBAAoB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;AACrD,IAAA,uBAAuB,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE;AAC3D,IAAA,qCAAqC,EAAE;AACrC,QAAA,KAAK,EAAE,kCAAkC;AAC1C,KAAA;AACD,IAAA,wCAAwC,EAAE;AACxC,QAAA,KAAK,EAAE,qCAAqC;AAC7C,KAAA;AACD,IAAA,wCAAwC,EAAE;AACxC,QAAA,KAAK,EAAE,qCAAqC;AAC7C,KAAA;AACD,IAAA,qCAAqC,EAAE;AACrC,QAAA,KAAK,EAAE,mCAAmC;AAC3C,KAAA;AACD,IAAA,wCAAwC,EAAE;AACxC,QAAA,KAAK,EAAE,sCAAsC;AAC9C,KAAA;AACD,IAAA,wCAAwC,EAAE;AACxC,QAAA,KAAK,EAAE,sCAAsC;AAC9C,KAAA;AACD,IAAA,2CAA2C,EAAE;AAC3C,QAAA,KAAK,EAAE,wCAAwC;AAChD,KAAA;AACD,IAAA,8CAA8C,EAAE;AAC9C,QAAA,KAAK,EAAE,2CAA2C;AACnD,KAAA;AACD,IAAA,8CAA8C,EAAE;AAC9C,QAAA,KAAK,EAAE,2CAA2C;AACnD,KAAA;AACD,IAAA,qCAAqC,EAAE;AACrC,QAAA,KAAK,EAAE,mCAAmC;AAC3C,KAAA;AACD,IAAA,gDAAgD,EAAE;AAChD,QAAA,KAAK,EAAE,4CAA4C;AACpD,KAAA;AACD,IAAA,wBAAwB,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;AAC7D,IAAA,qBAAqB,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;AACvD,IAAA,gBAAgB,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;AAC9C,IAAA,qBAAqB,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE;AACxD,IAAA,wBAAwB,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;AAC7D,IAAA,oBAAoB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;AACrD,IAAA,0BAA0B,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE;AACjE,IAAA,2BAA2B,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE;AACnE,IAAA,+BAA+B,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE;AAC1E,IAAA,gCAAgC,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE;AAC5E,IAAA,aAAa,EAAE;AACb,QAAA,KAAK,EAAE,aAAa;AACpB,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA;CACF,CAAC;AAEF,SAAS,aAAa,CACpB,MAAyC,EAAA;IAEzC,MAAM,YAAY,GAAsC,EAAE,CAAC;IAC3D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAClC,QAAA,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE;;;;;AAK3B,YAAA,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SAC3D;AACH,KAAC,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE;AAChD,QAAA,YAAY,CAAC,eAAe,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC3C;AACD,IAAA,OAAO,YAAwC,CAAC;AAClD,CAAC;AAED;;AAEG;AACW,MAAO,mBAAmB,CAAA;AAClB,IAAA,cAAA,CAAA;AAApB,IAAA,WAAA,CAAoB,cAA+B,EAAA;QAA/B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAiB;AACjD,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;KACtC;;;IAIM,OAAO,kBAAkB,CAAC,MAAc,EAAA;QAC7C,OAAO,CAAA,aAAA,EAAgB,MAAM,CAAA,CAAE,CAAC;KACjC;IAED,MAAM,WAAW,CAAC,MAAc,EAAA;AAC9B,QAAA,IAAI,YAA2B,CAAC;AAEhC,QAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,wBAAwB;;;AAGxB,QAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAG,EAAA,MAAM,GAAG,CAC7C,CAAC,IAAI,CAAC;AACP,QAAA,MAAM,uBAAuB,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;;AAE7D,QAAA,IAAI;YACF,YAAY,GAAG,aAAa,CAAC,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC;SACpE;QAAC,OAAO,GAAG,EAAE;AACZ,YAAA,MAAM,IAAI,kBAAkB,CAC1B,CAAA,CAAA,EAAI,MAAM,CAAC,QAAQ,EAAE,CAAA,gCAAA,EAClB,GAA2B,CAAC,OAC/B,CAAA,CAAE,CACH,CAAC;SACH;;QAGD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAC3B,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAC9C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAC7B,CAAC;AAEF,QAAA,OAAO,YAAY,CAAC;KACrB;AACF;;ACjMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAuBA;;;;AAIG;AACI,eAAe,KAAK,CACzB,SAAiB,EACjB,OAAwB,EAAA;AAExB,IAAA,MAAMC,OAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,0BAA0B,EAAE,CAAC;AACrC,CAAC;AAED;;AAEG;AACG,MAAO,kBACX,SAAQ,sBAAsB,CAAA;IAG9B,MAAM,GAAG,CACP,SAAiB,EAAA;QAEjB,MAAM,CACJ,UAAU,EACV,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,MAAM,EACN,SAAS,EACT,SAAS,EACV,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE;AACtD,gBAAA,MAAM,EAAE,IAAI;aACb,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE;AACjD,gBAAA,MAAM,EAAE,IAAI;aACb,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE;AACpD,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE;AACxD,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE;AACvD,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE;AACxD,gBAAA,MAAM,EAAE,IAAI;aACb,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE;AAClD,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE;AACrD,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE;AACrD,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;AACH,SAAA,CAAC,CAAC;QAEH,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;;;;YAIvE,MAAM,OAAO,CAAC,GAAG,CAAC;AAChB,gBAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACnE,gBAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACnE,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE;AAC/D,YAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,CAAA,oBAAA,CAAsB,CAAC,CAAC;SACrE;QAED,IACE,QAAQ,KAAK,SAAS;AACtB,YAAA,UAAU,KAAK,SAAS;AACxB,YAAA,KAAK,KAAK,SAAS;YACnB,YAAY,KAAK,SAAS,EAC1B;AACA,YAAA,OAAO,SAAS,CAAC;SAClB;QAED,OAAO;YACL,SAAS;YACT,KAAK;YACL,UAAU,EAAE,UAAU,KAAK,MAAM;YACjC,WAAW;YACX,YAAY;YACZ,MAAM;AACN,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,eAAe,EAAE,YAAY;;YAE7B,SAAS,EAAE,SAAS,IAAI,MAAM;AAC9B,YAAA,eAAe,EACb,SAAS,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS;SACvE,CAAC;KACH;AAED;;;;;AAKG;IACH,MAAM,KAAK,CAAC,SAAiB,EAAA;QAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KAC9C;AACF;;ACzJD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAcA;;;;;AAKG;MACU,uBAAuB,CAAA;IAClC,MAAM,SAAS,CAAC,WAAmB,EAAA;AACjC,QAAA,IAAI;;AAGF,YAAA,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;AACrB,YAAA,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,CAAA,CAAA,EAAI,WAAW,CAA+D,4DAAA,EAAA,CAAC,CAAE,CAAA,CAClF,CAAC;SACH;KACF;AAED,IAAA,MAAM,MAAM;;IAEV,YAAoB,EAAA;QAEpB,OAAO,yBAAyB,EAAE,CAAC;KACpC;AACF;;AC1DD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA0BA;;AAEG;MACU,uBAAuB,CAAA;AAExB,IAAA,cAAA,CAAA;AACA,IAAA,kBAAA,CAAA;AACA,IAAA,mBAAA,CAAA;AACA,IAAA,eAAA,CAAA;AACA,IAAA,cAAA,CAAA;IALV,WACU,CAAA,cAA+B,EAC/B,kBAAuC,EACvC,mBAAyC,EACzC,eAAiC,EACjC,cAA+B,EAAA;QAJ/B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAiB;QAC/B,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAqB;QACvC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAsB;QACzC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAkB;QACjC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAiB;AAEvC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,QAAA,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AAC7C,QAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAC/C,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AACvC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;KACtC;IAED,MAAM,SAAS,CAAC,WAAmB,EAAA;AACjC,QAAA,IAAI;AACF,YAAA,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;YACnC,QACE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;gBACvC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EACxC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,CAAA,CAAA,EAAI,WAAW,CAA+D,4DAAA,EAAA,CAAC,CAAE,CAAA,CAClF,CAAC;SACH;KACF;AAED,IAAA,MAAM,MAAM,CACV,WAAmB,EACnB,YAA2B,EAAA;QAE3B,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE;AACxC,YAAA,MAAM,IAAI,KAAK,CACb,0CAA0C,WAAW,CAAA,sCAAA,CAAwC,CAC9F,CAAC;SACH;AAED,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAW,CAAC;AAE3D,QAAA,MAAM,eAAe,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAC3D,UAAU,EACV,WAAW,EACX;AACE,YAAA,WAAW,EAAE,IAAI;AAClB,SAAA,CACF,CAAW,CAAC;QAEb,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,MAAM,GACb,GAAG,MAAM,0BAA0B,CAClC,eAAe,EACf,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,mBAAmB,CACzB,CAAC;QAEF,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,YAAY,CAAC,MAAM,EAAE;YAC1D,MAAM,IAAI,KAAK,CACb,CAAmC,gCAAA,EAAA,GAAG,CAAuE,oEAAA,EAAA,YAAY,CAAC,MAAM,CAAiF,+EAAA,CAAA,CAClN,CAAC;SACH;AAED,QAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CACb,iCAAiC,eAAe,CAAA,yBAAA,CAA2B,CAC5E,CAAC;SACH;AAED,QAAA,IAAI,iBAAiB,KAAK,SAAS,EAAE;AACnC,YAAA,MAAM,IAAI,KAAK,CACb,gCAAgC,eAAe,CAAA,yBAAA,CAA2B,CAC3E,CAAC;SACH;AAED,QAAA,MAAM,MAAM,GAAY,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAC1D,EAAE,SAAS,EAAE,eAAe,EAAE,EAC9B,YAAY,CACb,CAAC;AAEF,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,YAAY,EACZ,MAAM,EACN;AACE,YAAA,SAAS,EAAE,oBAAoB;;;YAG/B,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAW;YAC5C,YAAY;AACZ,YAAA,WAAW,EAAE,iBAAiB;SAC/B,EACD,MAAM,CACP,CAAC;;;QAIF,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAQ,KAAA,EAAA,UAAU,CAAE,CAAA,CAAC,CAAC;AAErD,QAAA,IAAI,cAA0C,CAAC;AAC/C,QAAA,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE;AACrC,YAAA,cAAc,GAAG;AACf,gBAAA,SAAS,EAAE,eAAe;gBAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;SACH;AAED,QAAA,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,WAAW,EAAE;YAC5D,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc;YACd,YAAY;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;AAC5B,SAAA,CAAC,CAAC;QAEH,MAAM,wBAAwB,CAC5B,IAAI,CAAC,cAAc,EACnB,eAAe,EACf,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,MAAM,EACN,SAAS,EACT,IAAI,CACL,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,eAAe,CAAA,EAAA,CAAI,CAAC,CAAC;SACtE;AAED,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;AAChC,YAAA,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,2BAA2B,CAAC;gBACxC,WAAW,EAAE,MAAM,CAAC,OAAO;gBAC3B,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;aACpD,CAAC;AACF,YAAA,cAAc,EACZ,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;AAClC,kBAAE,cAAc,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI;AAC1C,kBAAE,SAAS;AACU,SAAA,CAAC,CAAC;KAC9B;AACF;;ACnMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAiBA;;AAEG;AACkB,MAAA,wBACnB,SAAQ,gBAA+D,CAAA;AAGvE,IAAA,WAAA,CAAY,gBAA4C,EAAA;QACtD,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACzB;AACF;;AC7CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;;AAEG;AACW,MAAO,cAAc,CAAA;AACjC,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,MAAM,CAAC,YAAY,CAAC;KAC5B;IAED,MAAM,GAAG,CAAC,GAAW,EAAA;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;KAC/C;AAED,IAAA,MAAM,GAAG,CAAC,GAAW,EAAE,KAAa,EAAA;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAClC;IAED,MAAM,MAAM,CAAC,GAAW,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC9B;AACF;;AC9CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYA;;AAEG;AACW,MAAO,UAAU,CAAA;IAC7B,QAAQ,CAAC,WAAmB,EAAE,OAA4B,EAAA;AACxD,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE;AACrC,YAAA,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;SACrC;AAAM,aAAA,IAAI,OAAO,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACtD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;SAClD;aAAM;AACL,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;SACpC;KACF;AACF;;AC3CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAiBA;;AAEG;AACW,MAAO,eAAe,CAAA;AACd,IAAA,cAAA,CAAA;AAApB,IAAA,WAAA,CAAoB,cAA+B,EAAA;QAA/B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAiB;AACjD,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;KACtC;AAED,IAAA,MAAM,SAAS,CACb,OAAgC,EAChC,YAA2B,EAAA;;AAG3B,QAAA,MAAM,CACJ,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EACjB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE;AAC5D,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE;AAChE,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE;AAC7D,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE;AAC9D,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE;AAC9D,gBAAA,MAAM,EAAE,KAAK;aACd,CAAC;AACH,SAAA,CAAC,CAAC;;;QAGH,MAAM,cAAc,GAClB,SAAS,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;;;;AAIhE,QAAA,MAAM,OAAO,GACX,kBAAkB,KAAK,SAAS;AAChC,YAAA,cAAc,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC;QACjD,IAAI,cAAc,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE;YACrE,OAAO,kBAAkB,KAAK,SAAS;AACrC,kBAAE;AACE,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,YAAY,EAAE,kBAAkB;AAChC,oBAAA,UAAU,EAAE,gBAAgB;;AAE5B,oBAAA,UAAU,EAAE,SAAS;AACrB,oBAAA,SAAS,EAAE,cAAc;AAC1B,iBAAA;AACH,kBAAG;AACC,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,gBAAgB;;AAE5B,oBAAA,UAAU,EAAE,gBAAgB;;iBAEjB,CAAC;SACnB;AAED,QAAA,IAAI;YACF,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;;AAErE,YAAA,MAAM,UAAU,GAA2B;gBACzC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;AACnC,gBAAA,UAAU,EAAE,SAAS;aACtB,CAAC;AACF,YAAA,IAAI,gBAAgB,CAAC,YAAY,KAAK,SAAS,EAAE;AAC/C,gBAAA,UAAU,CAAC,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;gBACxD,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aAC3D;AACD,YAAA,IAAI,gBAAgB,CAAC,wBAAwB,EAAE;AAC7C,gBAAA,UAAU,CAAC,wBAAwB;oBACjC,gBAAgB,CAAC,wBAAwB,CAAC;aAC7C;YACD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE;;;;AAIlE,gBAAA,MAAM,EAAE,KAAK;AACd,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,gBAAgB,CAAC;SACzB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,CAA6B,2BAAA,CAAA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAClE;KACF;AACF;;AC/HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAgBA;;;;;AAKG;MACU,gBAAgB,CAAA;IAC3B,MAAM,SAAS,CAAC,WAAmB,EAAA;AACjC,QAAA,IAAI;AACF,YAAA,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACvD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,CAAA,CAAA,EAAI,WAAW,CAA+D,4DAAA,EAAA,CAAC,CAAE,CAAA,CAClF,CAAC;SACH;KACF;AAED,IAAA,MAAM,MAAM,CACV,WAAmB,EACnB,YAA2B,EAAA;AAE3B,QAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,YAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACtE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;SAChE;QACD,OAAO,yBAAyB,EAAE,CAAC;KACpC;AACF;;AC/DD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAuBA;AACA;AAEA;;AAEG;AACW,MAAO,cAAc,CAAA;AAEvB,IAAA,cAAA,CAAA;AACA,IAAA,mBAAA,CAAA;AACA,IAAA,eAAA,CAAA;AAHV,IAAA,WAAA,CACU,cAA+B,EAC/B,mBAAyC,EACzC,eAAiC,EAAA;QAFjC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAiB;QAC/B,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAsB;QACzC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAkB;AAEzC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,QAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAC/C,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KACxC;IAED,MAAM,OAAO,CACX,SAAiB,EACjB,YAAqB,EACrB,OAAiB,EACjB,YAA2B,EAAA;AAE3B,QAAA,MAAM,WAAW,GAAG,MAAM,0BAA0B,CAClD,SAAS,EACT,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,mBAAmB,CACzB,CAAC;;AAEF,QAAA,MAAM,UAAU,GAAY,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAC9D,EAAE,SAAS,EAAE,EACb,WAAW,CAAC,YAAY,CACzB,CAAC;AAEF,QAAA,IAAI,YAAY,KAAK,SAAS,EAAE;;AAE9B,YAAA,MAAM,IAAI,KAAK,CACb,YAAY,SAAS,CAAA,+DAAA,CAAiE,CACvF,CAAC;SACH;QAED,IAAI,WAAW,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;AAC7C,YAAA,MAAM,IAAI,KAAK,CACb,gBAAgB,SAAS,CAAA,wFAAA,CAA0F,CACpH,CAAC;SACH;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,YAAY,EACZ,WAAW,CAAC,YAAY,EACxB,UAAU,EACV,OAAO,CACR,CAAC;AAEF,QAAA,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;YACvC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;SACrE;AACD,QAAA,OAAO,QAAQ,CAAC;KACjB;AACF;;ACpGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA8BA;;;AAGG;AACG,SAAU,uCAAuC,CAAC,YAGvD,EAAA;AACC,IAAA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAC9C,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,eAAe,CAAC;IACpE,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,IAAI,cAAc,EAAE,CAAC;IAE7E,MAAM,cAAc,GAAG,IAAI,qBAAqB,CAC9C,aAAa,EACb,eAAe,CAChB,CAAC;AAEF,IAAA,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;AACpE,IAAA,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;AAE5D,IAAA,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAElE,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,cAAc,EACd,mBAAmB,EACnB,eAAe,CAChB,CAAC;AAEF,IAAA,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;;AAGpC,IAAA,MAAM,YAAY,GAAG,IAAI,gBAAgB,CACvC,cAAc,EACd,IAAI,oCAAoC,CAAC,cAAc,EAAE,UAAU,CAAC,EACpE,mBAAmB,EACnB,eAAe,CAChB,CAAC;AAEF,IAAA,MAAM,eAAe,GAAG,IAAI,wBAAwB,CAAC;AACnD,QAAA,IAAI,gBAAgB,EAAE;QACtB,IAAI,uBAAuB,CACzB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,cAAc,CACf;;;AAGD,QAAA,IAAI,uBAAuB,EAAE;AAC9B,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,IAAI,oBAAoB,CAC7B,YAAY,EACZ,eAAe,EACf,IAAI,uBAAuB,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAC3D,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;AACJ;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIO,MAAM,mBAAmB,GAAG,CAAG,EAAA,6BAA6B,gBAAgB,CAAC;AAE7E,MAAM,eAAe,GAAG,CAAG,EAAA,6BAA6B,YAAY;;ACxB3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA8DO,eAAe,oBAAoB,CACxC,SAAiB,EACjB,WAAiC,EACjC,OAAgB,EAAA;IAEhB,MAAM,iBAAiB,GAAG,MAAM,WAAW,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC9E,IAAA,IAAI,iBAAiB,KAAK,IAAI,EAAE;;;;;AAK9B,QAAA,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,WAAW,CAAC,KAAK,CACrB;YACE,SAAS;AACT,YAAA,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,iBAAiB,CAAC,MAAM;YACpC,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,QAAQ,EAAE,iBAAiB,CAAC,WAAW;YACvC,YAAY,EAAE,iBAAiB,CAAC,eAAe;AAC/C,YAAA,SAAS,EAAE,iBAAiB,CAAC,SAAS,IAAI,MAAM;AACjD,SAAA,EACD,OAAO,CAAC,MAAM,CACf,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACb;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CACjB,WAA0B,EAAA;AAE1B,IAAA,OAAO,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC;AACnC,CAAC;AAED;;AAEG;MACU,OAAO,CAAA;AAClB;;AAEG;AACa,IAAA,IAAI,CAAe;AAEnC;;;;AAIG;AACa,IAAA,MAAM,CAAwB;AAEtC,IAAA,oBAAoB,CAAuB;IAE3C,sBAAsB,GAAG,KAAK,CAAC;AAEvC;;;;;;;;;;;;;;AAcG;AACH,IAAA,WAAA,CACE,cAA2C,GAAA,EAAE,EAC7C,SAAA,GAAgC,SAAS,EAAA;AAEzC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AACjC,QAAA,IAAI,cAAc,CAAC,oBAAoB,EAAE;AACvC,YAAA,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC,oBAAoB,CAAC;SACjE;aAAM,IAAI,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC,eAAe,EAAE;AACzE,YAAA,IAAI,CAAC,oBAAoB,GAAG,uCAAuC,CAAC;gBAClE,aAAa,EAAE,cAAc,CAAC,aAAa;gBAC3C,eAAe,EAAE,cAAc,CAAC,eAAe;AAChD,aAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,IAAI,CAAC,oBAAoB,GAAG,uCAAuC,CAAC,EAAE,CAAC,CAAC;SACzE;AAED,QAAA,IAAI,cAAc,CAAC,WAAW,EAAE;YAC9B,IAAI,CAAC,IAAI,GAAG;AACV,gBAAA,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,SAAS;AAC/C,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,KAAK;AACvC,gBAAA,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,WAAW;aACpD,CAAC;SACH;aAAM;YACL,IAAI,CAAC,IAAI,GAAG;AACV,gBAAA,SAAS,EAAE,SAAS,IAAI,EAAE,EAAE;AAC5B,gBAAA,UAAU,EAAE,KAAK;aAClB,CAAC;SACH;;;;;QAMD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAC3B,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CACtE,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAEzE,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;KAChE;AAED;;;;;AAKG;;;AAGH,IAAA,KAAK,GAAG,OAAO,OAA2B,KAAmB;AAC3D,QAAA,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;AAC9B,YAAA,GAAG,OAAO;;AAEV,YAAA,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;AACvC,SAAA,EACD,IAAI,CAAC,MAAM,CACZ,CAAC;;;;;QAKF,OAAO,IAAI,OAAO,CAAC,MAAO,GAAC,CAAC,CAAC;AAC/B,KAAC,CAAC;AAEF;;;;;AAKG;AACH,IAAA,KAAK,GAAiB,CAAC,GAAG,EAAE,IAAI,KAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAE7C;;;;;;AAMG;AACK,IAAA,cAAc,GAAG,OACvB,UAAmB,EACnB,OAAwB,KACP;;;;AAIjB,QAAA,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACpD,QAAA,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC7B,IAAI,UAAU,EAAE;YACb,IAAI,CAAC,MAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACnD;AACH,KAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;AACH,IAAA,MAAM,GAAG,OAAO,OAAwB,KACtC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAErC;;;;;AAKG;AACH,IAAA,sBAAsB,GAAG,OACvB,YAAwD,GAAA,EAAE,KACrB;AACrC,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;AAED,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC/B,YAAA,OAAO,SAAS,CAAC;SAClB;AACD,QAAA,MAAM,OAAO,GACX,OAAO,YAAY,KAAK,QAAQ,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;QAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAEhD,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACnC,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CACxE,GAAG,EACH,IAAI,CAAC,MAAM,CACZ,CAAC;AACF,QAAA,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAChE,YAAA,IAAI,UAAU,KAAK,IAAI,EAAE;;;gBAGtB,IAAI,CAAC,MAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAClD;iBAAM;;;;AAIL,gBAAA,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;aACzE;SACF;AAAM,aAAA,IAAI,OAAO,CAAC,sBAAsB,KAAK,IAAI,EAAE;;;;;;YAMlD,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;;;AAGzE,YAAA,IAAI,eAAe,KAAK,IAAI,EAAE;AAC5B,gBAAA,MAAM,6BAA6B,GAAG,MAAM,oBAAoB,CAC9D,eAAe,EACf,IAAI,CAAC,oBAAoB,EACzB,IAAI,CACL,CAAC;;;;;gBAKF,IAAI,6BAA6B,EAAE;oBACjC,OAAO,IAAI,OAAO,CAAC,MAAO,GAAC,CAAC,CAAC;iBAC9B;aACF;SACF;AACD,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;AACpC,QAAA,OAAO,WAAW,CAAC;AACrB,KAAC,CAAC;AAEM,IAAA,cAAc,CACpB,WAAgD,EAAA;QAEhD,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;AACtD,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,SAAiB,KAAI;AAC5D,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;AAC3D,SAAC,CAAC,CAAC;KACJ;AACF;;AChXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA,IAAI,cAAmC,CAAC;AAExC;;;;;;;;;AASG;SACa,iBAAiB,GAAA;AAC/B,IAAA,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AACzC,QAAA,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;KAChC;AACD,IAAA,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;AAOG;AAEa,SAAAC,OAAK,CACnB,GAAG,IAAkC,EAAA;AAErC,IAAA,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AACpC,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;AAMG;AACa,SAAA,KAAK,CACnB,GAAG,IAAkC,EAAA;AAErC,IAAA,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AACpC,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;AAQG;AACa,SAAA,MAAM,CACpB,GAAG,IAAmC,EAAA;AAEtC,IAAA,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AACpC,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;;AAKG;AACa,SAAA,sBAAsB,CACpC,GAAG,IAAmD,EAAA;AAEtD,IAAA,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AACpC,IAAA,OAAO,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;AAIG;SACa,MAAM,GAAA;AACpB,IAAA,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC;AACpC;;;;"}