@brandup/ui-app 1.0.33 → 1.0.35

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/dist/cjs/index.js CHANGED
@@ -118,23 +118,6 @@ const StateMiddlewareFactory = () => {
118
118
  };
119
119
  };
120
120
 
121
- const win = window;
122
- const doc = window.document;
123
- const body = doc.body;
124
- const loc = window.location;
125
- var BROWSER = {
126
- window: win,
127
- document: doc,
128
- body,
129
- location: loc,
130
- reload: () => loc.reload()
131
- };
132
-
133
- var browser = /*#__PURE__*/Object.freeze({
134
- __proto__: null,
135
- default: BROWSER
136
- });
137
-
138
121
  const HYPERLINK_MIDDLEWARE_NAME = "app-hyperlink";
139
122
  const HyperLinkMiddlewareFactory = () => {
140
123
  let __ctrlPressed = false;
@@ -144,7 +127,7 @@ const HyperLinkMiddlewareFactory = () => {
144
127
  name: HYPERLINK_MIDDLEWARE_NAME,
145
128
  start: async (context, next) => {
146
129
  await next();
147
- BROWSER.window.addEventListener("click", onClick = (e) => {
130
+ window.addEventListener("click", onClick = (e) => {
148
131
  let elem = e.target;
149
132
  let ignore = false;
150
133
  while (elem) {
@@ -186,25 +169,27 @@ const HyperLinkMiddlewareFactory = () => {
186
169
  .catch(() => { })
187
170
  .finally(() => elem.classList.remove(result.LoadingElementClass));
188
171
  }, false);
189
- BROWSER.window.addEventListener("keydown", onKeyDownUp, false);
190
- BROWSER.window.addEventListener("keyup", onKeyDownUp, false);
172
+ window.addEventListener("keydown", onKeyDownUp, false);
173
+ window.addEventListener("keyup", onKeyDownUp, false);
191
174
  },
192
175
  stop: (_context, next) => {
193
- BROWSER.window.removeEventListener("click", onClick, false);
194
- BROWSER.window.removeEventListener("keydown", onKeyDownUp, false);
195
- BROWSER.window.removeEventListener("keyup", onKeyDownUp, false);
176
+ window.removeEventListener("click", onClick, false);
177
+ window.removeEventListener("keydown", onKeyDownUp, false);
178
+ window.removeEventListener("keyup", onKeyDownUp, false);
196
179
  return next();
197
180
  }
198
181
  };
199
182
  };
200
183
 
201
- const parseUrl = (url) => {
202
- const loc = BROWSER.location;
184
+ const parseUrl = (basePath, url) => {
185
+ const loc = window.location;
203
186
  let origin = loc.origin;
204
187
  let path;
205
188
  let query = null;
206
189
  let hash = null;
207
190
  let isExternal = false;
191
+ if (basePath === '/')
192
+ basePath = '';
208
193
  if (!url) {
209
194
  path = loc.pathname;
210
195
  if (loc.search)
@@ -258,20 +243,31 @@ const parseUrl = (url) => {
258
243
  }
259
244
  }
260
245
  if (!path)
261
- path = "/";
262
- else if (path.length > 1 && path.endsWith("/"))
246
+ path = '/';
247
+ else if (path.length > 1 && path.endsWith('/'))
263
248
  path = path.substring(0, path.length - 1);
249
+ path = path.toLowerCase();
250
+ if (basePath) {
251
+ if (path.toLowerCase().startsWith(basePath.toLowerCase())) {
252
+ path = path.substring(basePath.length);
253
+ if (!path)
254
+ path = '/';
255
+ }
256
+ else
257
+ basePath = '';
258
+ }
264
259
  if (!query)
265
260
  query = new URLSearchParams();
266
- if (hash === "#")
261
+ if (hash === '#')
267
262
  hash = null;
268
263
  else if (hash)
269
264
  hash = hash.substring(1);
270
265
  var result = {
271
- full: "",
272
- url: "",
273
- relative: "",
266
+ full: '',
267
+ url: '',
268
+ relative: '',
274
269
  origin,
270
+ basePath,
275
271
  path,
276
272
  query,
277
273
  hash,
@@ -309,7 +305,9 @@ const extendQuery = (url, query) => {
309
305
  rebuildUrl(url);
310
306
  };
311
307
  const rebuildUrl = (parsedUrl) => {
312
- let relativeUrl = parsedUrl.path;
308
+ let relativeUrl = parsedUrl.basePath + parsedUrl.path;
309
+ if (relativeUrl.length > 1 && relativeUrl.endsWith('/'))
310
+ relativeUrl = relativeUrl.substring(0, relativeUrl.length - 1);
313
311
  if (parsedUrl.query.size)
314
312
  relativeUrl += "?" + parsedUrl.query.toString();
315
313
  parsedUrl.url = parsedUrl.origin + relativeUrl;
@@ -318,11 +316,17 @@ const rebuildUrl = (parsedUrl) => {
318
316
  };
319
317
  const buildUrl = (basePath, path, query, hash) => {
320
318
  let url = basePath;
319
+ if (url == '/')
320
+ url = '';
321
321
  if (path) {
322
- if (path.startsWith("/"))
323
- path = path.substring(1);
322
+ if (!path.startsWith("/"))
323
+ path = '/' + path;
324
324
  url += path;
325
325
  }
326
+ if (!url)
327
+ url = '/';
328
+ else if (url.endsWith('/'))
329
+ url = url.substring(0, url.length - 1);
326
330
  if (query) {
327
331
  let params;
328
332
  if (query instanceof URLSearchParams)
@@ -411,10 +415,15 @@ class Application extends ui.UIElement {
411
415
  this.invoker.next(middleware);
412
416
  });
413
417
  }
418
+ /** Initialize application instance. */
414
419
  onInitialize() {
415
420
  this.invoker.next(StateMiddlewareFactory());
416
421
  this.invoker.next(HyperLinkMiddlewareFactory());
417
422
  }
423
+ /** Begin run application. */
424
+ onStarting() { return Promise.resolve(); }
425
+ /** Complate run application. */
426
+ onStared() { return Promise.resolve(); }
418
427
  /**
419
428
  * Get middleware by type.
420
429
  * @param type Type of middleware.
@@ -441,7 +450,7 @@ class Application extends ui.UIElement {
441
450
  this.__isRuned = true;
442
451
  if (!contextData)
443
452
  contextData = {};
444
- element = element || BROWSER.body;
453
+ element = element || document.body;
445
454
  this.setElement(element);
446
455
  const context = {
447
456
  abort: this.__abort.signal,
@@ -449,6 +458,7 @@ class Application extends ui.UIElement {
449
458
  data: contextData
450
459
  };
451
460
  try {
461
+ await this.onStarting();
452
462
  await this.invoker.invoke("start", context);
453
463
  console.info("app start success");
454
464
  this.__abort.signal.throwIfAborted();
@@ -464,6 +474,7 @@ class Application extends ui.UIElement {
464
474
  this.__onSubmit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null })
465
475
  .catch(() => { });
466
476
  }, false);
477
+ await this.onStared();
467
478
  console.info("app runned");
468
479
  }
469
480
  catch (reason) {
@@ -490,7 +501,7 @@ class Application extends ui.UIElement {
490
501
  async nav(options) {
491
502
  const opt = (!options || typeof options === "string") ? { url: options } : options;
492
503
  let { url = null, query, replace = false, scope = null, data = {}, abort } = opt;
493
- const navUrl = urlHelper.parseUrl(url);
504
+ const navUrl = urlHelper.parseUrl(this.env.basePath, url);
494
505
  if (query)
495
506
  urlHelper.extendQuery(navUrl, query);
496
507
  let isFirst = !this.__lastNav && !this.__execNav;
@@ -531,6 +542,7 @@ class Application extends ui.UIElement {
531
542
  url: navUrl.url,
532
543
  origin: navUrl.origin,
533
544
  pathAndQuery: navUrl.relative,
545
+ basePath: navUrl.basePath,
534
546
  path: navUrl.path,
535
547
  query: navUrl.query,
536
548
  hash: navUrl.hash,
@@ -559,7 +571,7 @@ class Application extends ui.UIElement {
559
571
  */
560
572
  restart() {
561
573
  this.__abort.signal.throwIfAborted();
562
- BROWSER.reload();
574
+ window.location.reload();
563
575
  }
564
576
  async destroy(contextData) {
565
577
  if (this.__abort.signal.aborted)
@@ -630,7 +642,7 @@ class Application extends ui.UIElement {
630
642
  if (method === "GET")
631
643
  await this.nav({ url, query: new FormData(form), data: data, replace, abort: opt.abort });
632
644
  else {
633
- const navUrl = urlHelper.parseUrl(url);
645
+ const navUrl = urlHelper.parseUrl(this.env.basePath, url);
634
646
  if (query)
635
647
  urlHelper.extendQuery(navUrl, query);
636
648
  let parentNav;
@@ -663,6 +675,7 @@ class Application extends ui.UIElement {
663
675
  url: navUrl.url,
664
676
  origin: navUrl.origin,
665
677
  pathAndQuery: navUrl.relative,
678
+ basePath: navUrl.basePath,
666
679
  path: navUrl.path,
667
680
  query: navUrl.query,
668
681
  hash: navUrl.hash,
@@ -741,18 +754,38 @@ class ApplicationBuilder {
741
754
  return this;
742
755
  }
743
756
  build(env, ...args) {
744
- if (!env.basePath)
745
- env.basePath = "/";
757
+ if (!env.basePath || env.basePath == '/')
758
+ env.basePath = '';
746
759
  const app = new this.__appType(env, this.__model, ...args);
747
760
  app.initialize(this.__middlewares);
748
761
  return app;
749
762
  }
750
763
  }
751
764
 
765
+ HTMLElement.prototype.navUrl = function (url) {
766
+ if (this instanceof HTMLAnchorElement)
767
+ this.href = url;
768
+ else
769
+ this.dataset.navUrl = url;
770
+ this.classList.add(result.NavUrlClassName);
771
+ return this;
772
+ };
773
+ HTMLElement.prototype.nav = function (app, path, query, hash) {
774
+ const url = app.buildUrl(path, query, hash);
775
+ return this.navUrl(url);
776
+ };
777
+ HTMLElement.prototype.navReplace = function () {
778
+ this.setAttribute(result.NavUrlReplaceAttributeName, "");
779
+ return this;
780
+ };
781
+ HTMLElement.prototype.navScope = function (scope) {
782
+ this.setAttribute(result.NavUrlScopeAttributeName, scope);
783
+ return this;
784
+ };
785
+
752
786
  exports.APP_TYPENAME = APP_TYPENAME;
753
787
  exports.Application = Application;
754
788
  exports.ApplicationBuilder = ApplicationBuilder;
755
- exports.BROWSER = browser;
756
789
  exports.CONSTANTS = constants;
757
790
  exports.NAV_OVERIDE_ERROR = NAV_OVERIDE_ERROR;
758
791
  exports.UrlHelper = url;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","UIElement","StateMiddleware","HyperLinkMiddleware","Guid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts","../../../source/ext.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","UIElement","StateMiddleware","HyperLinkMiddleware","Guid"],"mappings":"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"}
package/dist/mjs/index.js CHANGED
@@ -116,23 +116,6 @@ const StateMiddlewareFactory = () => {
116
116
  };
117
117
  };
118
118
 
119
- const win = window;
120
- const doc = window.document;
121
- const body = doc.body;
122
- const loc = window.location;
123
- var BROWSER = {
124
- window: win,
125
- document: doc,
126
- body,
127
- location: loc,
128
- reload: () => loc.reload()
129
- };
130
-
131
- var browser = /*#__PURE__*/Object.freeze({
132
- __proto__: null,
133
- default: BROWSER
134
- });
135
-
136
119
  const HYPERLINK_MIDDLEWARE_NAME = "app-hyperlink";
137
120
  const HyperLinkMiddlewareFactory = () => {
138
121
  let __ctrlPressed = false;
@@ -142,7 +125,7 @@ const HyperLinkMiddlewareFactory = () => {
142
125
  name: HYPERLINK_MIDDLEWARE_NAME,
143
126
  start: async (context, next) => {
144
127
  await next();
145
- BROWSER.window.addEventListener("click", onClick = (e) => {
128
+ window.addEventListener("click", onClick = (e) => {
146
129
  let elem = e.target;
147
130
  let ignore = false;
148
131
  while (elem) {
@@ -184,25 +167,27 @@ const HyperLinkMiddlewareFactory = () => {
184
167
  .catch(() => { })
185
168
  .finally(() => elem.classList.remove(result.LoadingElementClass));
186
169
  }, false);
187
- BROWSER.window.addEventListener("keydown", onKeyDownUp, false);
188
- BROWSER.window.addEventListener("keyup", onKeyDownUp, false);
170
+ window.addEventListener("keydown", onKeyDownUp, false);
171
+ window.addEventListener("keyup", onKeyDownUp, false);
189
172
  },
190
173
  stop: (_context, next) => {
191
- BROWSER.window.removeEventListener("click", onClick, false);
192
- BROWSER.window.removeEventListener("keydown", onKeyDownUp, false);
193
- BROWSER.window.removeEventListener("keyup", onKeyDownUp, false);
174
+ window.removeEventListener("click", onClick, false);
175
+ window.removeEventListener("keydown", onKeyDownUp, false);
176
+ window.removeEventListener("keyup", onKeyDownUp, false);
194
177
  return next();
195
178
  }
196
179
  };
197
180
  };
198
181
 
199
- const parseUrl = (url) => {
200
- const loc = BROWSER.location;
182
+ const parseUrl = (basePath, url) => {
183
+ const loc = window.location;
201
184
  let origin = loc.origin;
202
185
  let path;
203
186
  let query = null;
204
187
  let hash = null;
205
188
  let isExternal = false;
189
+ if (basePath === '/')
190
+ basePath = '';
206
191
  if (!url) {
207
192
  path = loc.pathname;
208
193
  if (loc.search)
@@ -256,20 +241,31 @@ const parseUrl = (url) => {
256
241
  }
257
242
  }
258
243
  if (!path)
259
- path = "/";
260
- else if (path.length > 1 && path.endsWith("/"))
244
+ path = '/';
245
+ else if (path.length > 1 && path.endsWith('/'))
261
246
  path = path.substring(0, path.length - 1);
247
+ path = path.toLowerCase();
248
+ if (basePath) {
249
+ if (path.toLowerCase().startsWith(basePath.toLowerCase())) {
250
+ path = path.substring(basePath.length);
251
+ if (!path)
252
+ path = '/';
253
+ }
254
+ else
255
+ basePath = '';
256
+ }
262
257
  if (!query)
263
258
  query = new URLSearchParams();
264
- if (hash === "#")
259
+ if (hash === '#')
265
260
  hash = null;
266
261
  else if (hash)
267
262
  hash = hash.substring(1);
268
263
  var result = {
269
- full: "",
270
- url: "",
271
- relative: "",
264
+ full: '',
265
+ url: '',
266
+ relative: '',
272
267
  origin,
268
+ basePath,
273
269
  path,
274
270
  query,
275
271
  hash,
@@ -307,7 +303,9 @@ const extendQuery = (url, query) => {
307
303
  rebuildUrl(url);
308
304
  };
309
305
  const rebuildUrl = (parsedUrl) => {
310
- let relativeUrl = parsedUrl.path;
306
+ let relativeUrl = parsedUrl.basePath + parsedUrl.path;
307
+ if (relativeUrl.length > 1 && relativeUrl.endsWith('/'))
308
+ relativeUrl = relativeUrl.substring(0, relativeUrl.length - 1);
311
309
  if (parsedUrl.query.size)
312
310
  relativeUrl += "?" + parsedUrl.query.toString();
313
311
  parsedUrl.url = parsedUrl.origin + relativeUrl;
@@ -316,11 +314,17 @@ const rebuildUrl = (parsedUrl) => {
316
314
  };
317
315
  const buildUrl = (basePath, path, query, hash) => {
318
316
  let url = basePath;
317
+ if (url == '/')
318
+ url = '';
319
319
  if (path) {
320
- if (path.startsWith("/"))
321
- path = path.substring(1);
320
+ if (!path.startsWith("/"))
321
+ path = '/' + path;
322
322
  url += path;
323
323
  }
324
+ if (!url)
325
+ url = '/';
326
+ else if (url.endsWith('/'))
327
+ url = url.substring(0, url.length - 1);
324
328
  if (query) {
325
329
  let params;
326
330
  if (query instanceof URLSearchParams)
@@ -409,10 +413,15 @@ class Application extends UIElement {
409
413
  this.invoker.next(middleware);
410
414
  });
411
415
  }
416
+ /** Initialize application instance. */
412
417
  onInitialize() {
413
418
  this.invoker.next(StateMiddlewareFactory());
414
419
  this.invoker.next(HyperLinkMiddlewareFactory());
415
420
  }
421
+ /** Begin run application. */
422
+ onStarting() { return Promise.resolve(); }
423
+ /** Complate run application. */
424
+ onStared() { return Promise.resolve(); }
416
425
  /**
417
426
  * Get middleware by type.
418
427
  * @param type Type of middleware.
@@ -439,7 +448,7 @@ class Application extends UIElement {
439
448
  this.__isRuned = true;
440
449
  if (!contextData)
441
450
  contextData = {};
442
- element = element || BROWSER.body;
451
+ element = element || document.body;
443
452
  this.setElement(element);
444
453
  const context = {
445
454
  abort: this.__abort.signal,
@@ -447,6 +456,7 @@ class Application extends UIElement {
447
456
  data: contextData
448
457
  };
449
458
  try {
459
+ await this.onStarting();
450
460
  await this.invoker.invoke("start", context);
451
461
  console.info("app start success");
452
462
  this.__abort.signal.throwIfAborted();
@@ -462,6 +472,7 @@ class Application extends UIElement {
462
472
  this.__onSubmit({ form, button: e.submitter instanceof HTMLButtonElement ? e.submitter : null })
463
473
  .catch(() => { });
464
474
  }, false);
475
+ await this.onStared();
465
476
  console.info("app runned");
466
477
  }
467
478
  catch (reason) {
@@ -488,7 +499,7 @@ class Application extends UIElement {
488
499
  async nav(options) {
489
500
  const opt = (!options || typeof options === "string") ? { url: options } : options;
490
501
  let { url = null, query, replace = false, scope = null, data = {}, abort } = opt;
491
- const navUrl = urlHelper.parseUrl(url);
502
+ const navUrl = urlHelper.parseUrl(this.env.basePath, url);
492
503
  if (query)
493
504
  urlHelper.extendQuery(navUrl, query);
494
505
  let isFirst = !this.__lastNav && !this.__execNav;
@@ -529,6 +540,7 @@ class Application extends UIElement {
529
540
  url: navUrl.url,
530
541
  origin: navUrl.origin,
531
542
  pathAndQuery: navUrl.relative,
543
+ basePath: navUrl.basePath,
532
544
  path: navUrl.path,
533
545
  query: navUrl.query,
534
546
  hash: navUrl.hash,
@@ -557,7 +569,7 @@ class Application extends UIElement {
557
569
  */
558
570
  restart() {
559
571
  this.__abort.signal.throwIfAborted();
560
- BROWSER.reload();
572
+ window.location.reload();
561
573
  }
562
574
  async destroy(contextData) {
563
575
  if (this.__abort.signal.aborted)
@@ -628,7 +640,7 @@ class Application extends UIElement {
628
640
  if (method === "GET")
629
641
  await this.nav({ url, query: new FormData(form), data: data, replace, abort: opt.abort });
630
642
  else {
631
- const navUrl = urlHelper.parseUrl(url);
643
+ const navUrl = urlHelper.parseUrl(this.env.basePath, url);
632
644
  if (query)
633
645
  urlHelper.extendQuery(navUrl, query);
634
646
  let parentNav;
@@ -661,6 +673,7 @@ class Application extends UIElement {
661
673
  url: navUrl.url,
662
674
  origin: navUrl.origin,
663
675
  pathAndQuery: navUrl.relative,
676
+ basePath: navUrl.basePath,
664
677
  path: navUrl.path,
665
678
  query: navUrl.query,
666
679
  hash: navUrl.hash,
@@ -739,13 +752,34 @@ class ApplicationBuilder {
739
752
  return this;
740
753
  }
741
754
  build(env, ...args) {
742
- if (!env.basePath)
743
- env.basePath = "/";
755
+ if (!env.basePath || env.basePath == '/')
756
+ env.basePath = '';
744
757
  const app = new this.__appType(env, this.__model, ...args);
745
758
  app.initialize(this.__middlewares);
746
759
  return app;
747
760
  }
748
761
  }
749
762
 
750
- export { APP_TYPENAME, Application, ApplicationBuilder, browser as BROWSER, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
763
+ HTMLElement.prototype.navUrl = function (url) {
764
+ if (this instanceof HTMLAnchorElement)
765
+ this.href = url;
766
+ else
767
+ this.dataset.navUrl = url;
768
+ this.classList.add(result.NavUrlClassName);
769
+ return this;
770
+ };
771
+ HTMLElement.prototype.nav = function (app, path, query, hash) {
772
+ const url = app.buildUrl(path, query, hash);
773
+ return this.navUrl(url);
774
+ };
775
+ HTMLElement.prototype.navReplace = function () {
776
+ this.setAttribute(result.NavUrlReplaceAttributeName, "");
777
+ return this;
778
+ };
779
+ HTMLElement.prototype.navScope = function (scope) {
780
+ this.setAttribute(result.NavUrlScopeAttributeName, scope);
781
+ return this;
782
+ };
783
+
784
+ export { APP_TYPENAME, Application, ApplicationBuilder, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
751
785
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/browser.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","StateMiddleware","HyperLinkMiddleware"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../source/middlewares/invoker.ts","../../../source/constants.ts","../../../source/middlewares/state.ts","../../../source/middlewares/hyperlink.ts","../../../source/helpers/url.ts","../../../source/app.ts","../../../source/builder.ts","../../../source/ext.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CONSTANTS","StateMiddleware","HyperLinkMiddleware"],"mappings":";;;MAEa,iBAAiB,CAAA;AACpB,IAAA,UAAU;AACX,IAAA,MAAM;AAEd,IAAA,WAAA,CAAY,UAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC7B;AAEA,IAAA,IAAI,CAAC,UAAsB,EAAA;QAC1B,IAAI,IAAI,CAAC,MAAM;AACd,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;;YAE5B,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC;IACjD;IAEA,MAAM,CAAiC,MAAc,EAAE,OAAiB,EAAA;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpC;AAEQ,IAAA,MAAM,MAAM,CAAC,MAAc,EAAE,OAAsB,EAAA;AAC1D,QAAA,MAAM,QAAQ,GAAmB,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE;AAE5G,QAAA,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;QAE9B,MAAM,UAAU,GAAqB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AAC5D,QAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AACrC,YAAA,MAAM,YAAY,GAAkB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;YAEvF,IAAI,CAAC,YAAY,IAAI,EAAE,YAAY,YAAY,OAAO,CAAC;AACtD,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA,UAAA,EAAa,MAAM,CAAA,eAAA,CAAiB,CAAC;AAEzF,YAAA,MAAM,YAAY;QACnB;;YAEC,MAAM,QAAQ,EAAE;IAClB;AACA;;ACvBD,MAAM,MAAM,GAAc;AACzB,IAAA,mBAAmB,EAAE,SAAS;AAC9B,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,0BAA0B,EAAE,kBAAkB;AAC9C,IAAA,wBAAwB,EAAE,gBAAgB;AAC1C,IAAA,sBAAsB,EAAE,iBAAiB;AACzC,IAAA,WAAW,EAAE;AACZ,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,MAAM,EAAE,iBAAiB;AACzB,QAAA,KAAK,EAAE;AACP;CACD;;;;;;;ACzBM,MAAM,qBAAqB,GAAG,WAAW;AAEhD,MAAM,sBAAsB,GAAG,MAAiB;IAC/C,IAAI,OAAO,GAAW,CAAC;AAGvB,IAAA,MAAM,KAAK,GAAG,CAAC,OAAsB,KAAI;AACxC,QAAA,MAAM,IAAI,GAAG,OAAO,EAAE;AAEtB,QAAA,IAAI,IAAI,KAAK,CAAC,EAAE;AAGf,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AACnE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QAClE;AACD,IAAA,CAAC;AAED,IAAA,MAAM,GAAG,GAAG,CAAC,OAAsB,KAAI;AACtC,QAAA,OAAO,EAAE;AAET,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE;YACjB,OAAO,GAAG,CAAC;AAEX,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AAChE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QACrE;AACD,IAAA,CAAC;IAED,OAAO;AACN,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,KAAK,CAAC,OAAO,CAAC;AAEd,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE;YACb;YACA,OAAO,MAAM,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC;AACZ,gBAAA,MAAM,MAAM;YACb;QACD,CAAC;AACD,QAAA,MAAM,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;AAC7D,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE;AAEZ,gBAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,WAAW,CAAC,KAAK,CAAC;YAChE;YACA,OAAO,MAAM,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC;AACZ,gBAAA,MAAM,MAAM;YACb;QACD,CAAC;AACD,QAAA,QAAQ,EAAE,OAAO,OAAwB,EAAE,IAAoB,KAAI;YAClE,KAAK,CAAC,OAAO,CAAC;AAEd,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE;YACb;oBACQ;AACP,gBAAA,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO;oBAC5B,GAAG,CAAC,OAAO,CAAC;gBAEb,GAAG,CAAC,OAAO,CAAC;YACb;QACD,CAAC;AACD,QAAA,MAAM,EAAE,OAAO,OAAsB,EAAE,IAAoB,KAAI;AAC9D,YAAA,IAAI;gBACH,MAAM,IAAI,EAAE;YACb;oBACQ;gBACP,GAAG,CAAC,OAAO,CAAC;YACb;QACD,CAAC;AACD,QAAA,IAAI,EAAE,OAAO,QAAqB,EAAE,IAAoB,KAAI;YAC3D,MAAM,IAAI,EAAE;QACb;KACA;AACF,CAAC;;AC7EM,MAAM,yBAAyB,GAAG,eAAe;AAExD,MAAM,0BAA0B,GAAG,MAAiB;IACnD,IAAI,aAAa,GAAG,KAAK;AACzB,IAAA,MAAM,WAAW,GAAG,CAAC,CAAgB,KAAK,aAAa,GAAG,CAAC,CAAC,OAAO;AACnE,IAAA,IAAI,OAA4C;IAEhD,OAAO;AACN,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,OAAO,OAAqB,EAAE,IAAoB,KAAI;YAC5D,MAAM,IAAI,EAAE;YAEZ,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAa,KAAI;AAC5D,gBAAA,IAAI,IAAI,GAAgB,CAAC,CAAC,MAAc;gBACxC,IAAI,MAAM,GAAG,KAAK;gBAClB,OAAO,IAAI,EAAE;AACZ,oBAAA,IAAI,IAAI,YAAY,WAAW,EAAE;wBAChC,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,sBAAsB,CAAC,EAAE;4BACxD,MAAM,GAAG,IAAI;4BACb;wBACD;AAEA,wBAAA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC;4BACzG;oBACF;AAEA,oBAAA,IAAI,IAAI,KAAK,CAAC,CAAC,aAAa;wBAC3B;AAED,oBAAA,IAAI,GAAG,IAAI,CAAC,aAAa;gBAC1B;AAEA,gBAAA,IAAI,CAAC,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,QAAQ;oBACrE;gBAED,CAAC,CAAC,cAAc,EAAE;gBAClB,CAAC,CAAC,eAAe,EAAE;AAEnB,gBAAA,IAAI,MAAM;oBACT;AAED,gBAAA,IAAI,GAAkB;AACtB,gBAAA,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG;AACvB,oBAAA,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AAC3B,qBAAA,IAAI,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC;oBACxD,GAAG,GAAG,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,mBAAmB,CAAC;;AAEtD,oBAAA,MAAM,+BAA+B;gBAEtC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,mBAAmB,CAAC;oBACzD;gBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC;AAEjD,gBAAA,OAAO,CAAC;AACN,qBAAA,GAAG,CAAC;oBACJ,GAAG;oBACH,OAAO,EAAE,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC;oBAChE,KAAK,EAAE,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,wBAAwB,CAAC;AAC5D,oBAAA,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI;iBACvB;AACA,qBAAA,KAAK,CAAC,MAAK,EAAG,CAAC;AACf,qBAAA,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC,CAAC;YACtE,CAAC,EAAE,KAAK,CAAC;YAET,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;QACrD,CAAC;AACD,QAAA,IAAI,EAAE,CAAC,QAAqB,EAAE,IAAoB,KAAI;YACrD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;YACnD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;YAEvD,OAAO,IAAI,EAAE;QACd;KACA;AACF,CAAC;;AC5ED,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,GAAkB,KAAe;AACpE,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ;AAC3B,IAAA,IAAI,MAAM,GAAW,GAAG,CAAC,MAAM;AAC/B,IAAA,IAAI,IAAY;IAChB,IAAI,KAAK,GAA2B,IAAI;IACxC,IAAI,IAAI,GAAkB,IAAI;IAC9B,IAAI,UAAU,GAAG,KAAK;IAEtB,IAAI,QAAQ,KAAK,GAAG;QACnB,QAAQ,GAAG,EAAE;IAEd,IAAI,CAAC,GAAG,EAAE;AACT,QAAA,IAAI,GAAG,GAAG,CAAC,QAAQ;QAEnB,IAAI,GAAG,CAAC,MAAM;YACb,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;QAExC,IAAI,GAAG,CAAC,IAAI;AACX,YAAA,IAAI,GAAG,GAAG,CAAC,IAAI;IACjB;SACK;AACJ,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACxB,YAAA,IAAI,GAAG,GAAG,CAAC,QAAQ;YACnB,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;YACvC,IAAI,GAAG,GAAG;QACX;AACK,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;AACtC,YAAA,IAAI,SAAS,KAAK,EAAE,EAAE;AACrB,gBAAA,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC/B,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC;YAClC;AAEA,YAAA,IAAI,GAAG,GAAG,CAAC,QAAQ;AACnB,YAAA,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC;QACjC;AACK,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAChC,YAAA,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;AACtB,YAAA,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE;AACvB,gBAAA,MAAM,GAAG,CAAC,CAAC,MAAM;gBACjB,UAAU,GAAG,IAAI;YAClB;AAEA,YAAA,IAAI,GAAG,CAAC,CAAC,QAAQ;AACjB,YAAA,KAAK,GAAG,CAAC,CAAC,YAAY;AACtB,YAAA,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI;QACtB;aACK;YACJ,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;AACtC,YAAA,IAAI,SAAS,KAAK,EAAE,EAAE;AACrB,gBAAA,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC/B,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC;YAClC;YAEA,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;AACvC,YAAA,IAAI,UAAU,KAAK,EAAE,EAAE;gBACtB,KAAK,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACtD,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;YACnC;YAEA,IAAI,GAAG,GAAG;YAEV,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC1B,gBAAA,IAAI,OAAO,GAAG,GAAG,CAAC,QAAQ;AAC1B,gBAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AACxB,oBAAA,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACnD,gBAAA,IAAI,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI;YAC5B;QACD;IACD;AAEA,IAAA,IAAI,CAAC,IAAI;QACR,IAAI,GAAG,GAAG;SACN,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC7C,QAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAE1C,IAAA,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;IAEzB,IAAI,QAAQ,EAAE;AACb,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;YAC1D,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;AACtC,YAAA,IAAI,CAAC,IAAI;gBACR,IAAI,GAAG,GAAG;QACZ;;YAEC,QAAQ,GAAG,EAAE;IACf;AAEA,IAAA,IAAI,CAAC,KAAK;AACT,QAAA,KAAK,GAAG,IAAI,eAAe,EAAE;IAE9B,IAAI,IAAI,KAAK,GAAG;QACf,IAAI,GAAG,IAAI;AACP,SAAA,IAAI,IAAI;AACZ,QAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAEzB,IAAA,IAAI,MAAM,GAAG;AACZ,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,QAAQ,EAAE,EAAE;QACZ,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,KAAK;QACL,IAAI;AACJ,QAAA,QAAQ,EAAE;KACV;IAED,UAAU,CAAC,MAAM,CAAC;AAElB,IAAA,OAAO,MAAM;AACd,CAAC;AAED;;;;AAIG;AACH,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,KAA+C,KAAI;AACvF,IAAA,IAAI,KAAK,YAAY,eAAe,EAAE;AACrC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD;AACK,SAAA,IAAI,KAAK,YAAY,QAAQ,EAAE;AACnC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D;SACK;AACJ,QAAA,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;AACtB,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;YAC1B;iBACK;AACJ,gBAAA,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;AACrB,gBAAA,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjD;QACD;IACD;IAEA,UAAU,CAAC,GAAG,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,SAAoB,KAAI;IAC3C,IAAI,WAAW,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI;IACrD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;AACtD,QAAA,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AAE/D,IAAA,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI;QACvB,WAAW,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE;IAEhD,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,WAAW;AAC9C,IAAA,SAAS,CAAC,QAAQ,GAAG,WAAW;IAEhC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,GAAG,CAAA,EAAG,SAAS,CAAC,GAAG,CAAA,CAAA,EAAI,SAAS,CAAC,IAAI,CAAA,CAAE,GAAG,SAAS,CAAC,GAAG;AACvF,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,IAAa,EAAE,KAAgD,EAAE,IAAa,KAAI;IACrH,IAAI,GAAG,GAAG,QAAQ;IAClB,IAAI,GAAG,IAAI,GAAG;QACb,GAAG,GAAG,EAAE;IAET,IAAI,IAAI,EAAE;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AACxB,YAAA,IAAI,GAAG,GAAG,GAAG,IAAI;QAClB,GAAG,IAAI,IAAI;IACZ;AAEA,IAAA,IAAI,CAAC,GAAG;QACP,GAAG,GAAG,GAAG;AACL,SAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzB,QAAA,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IAEvC,IAAI,KAAK,EAAE;AACV,QAAA,IAAI,MAAuB;QAC3B,IAAI,KAAK,YAAY,eAAe;YACnC,MAAM,GAAG,KAAK;AACV,aAAA,IAAI,KAAK,YAAY,QAAQ,EAAE;AACnC,YAAA,MAAM,GAAG,IAAI,eAAe,EAAE;YAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE;aACK;AACJ,YAAA,MAAM,GAAG,IAAI,eAAe,EAAE;AAE9B,YAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACxB,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;AACxB,gBAAA,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW;oBACjD;AAED,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACvB,oBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;;AAEzC,oBAAA,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;YAC3B;QACD;QAEA,IAAI,MAAM,CAAC,IAAI;AACd,YAAA,GAAG,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE;IAChC;IAEA,IAAI,IAAI,EAAE;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AACxB,YAAA,IAAI,GAAG,GAAG,GAAG,IAAI;QAElB,IAAI,IAAI,IAAI,GAAG;YACd,GAAG,IAAI,IAAI;IACb;AAEA,IAAA,OAAO,GAAG;AACX,CAAC;AAcD,gBAAe;IACd,QAAQ;IACR,WAAW;IACX;CACA;;;;;;;AC3NM,MAAM,YAAY,GAAG;AACrB,MAAM,iBAAiB,GAAG;AAEjC;;AAEG;AACG,MAAO,WAAgE,SAAQ,SAAS,CAAA;;AAEpF,IAAA,GAAG;;AAEH,IAAA,KAAK;;AAEL,IAAA,OAAO;AACR,IAAA,OAAO;AACP,IAAA,UAAU;AACV,IAAA,SAAS;IACT,aAAa,GAAkC,EAAE;AACjD,IAAA,cAAc;IACd,SAAS,CAAiC;IAC1C,SAAS,CAAiC;AAElD,IAAA,WAAA,CAAY,GAAqB,EAAE,KAAa,EAAE,GAAG,IAAW,EAAA;AAC/D,QAAA,KAAK,EAAE;AAEP,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAElB,QAAA,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC;AAC1C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE;IACrC;AAEA,IAAA,IAAI,QAAQ,GAAA,EAAa,OAAO,YAAY,CAAC,CAAC;;IAE9C,IAAI,OAAO,GAAA,EAAwC,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;;IAEnF,IAAI,KAAK,GAAA,EAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;AAGvD,IAAA,UAAU,CAAC,WAAyB,EAAA;QACnC,IAAI,IAAI,CAAC,UAAU;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC;AACpD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QAEtB,IAAI,CAAC,YAAY,EAAE;AAEnB,QAAA,WAAW,CAAC,OAAO,CAAC,UAAU,IAAG;AAChC,YAAA,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI;AAE1B,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC;AAC1C,gBAAA,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAA,qBAAA,CAAuB,CAAC;AAE5D,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU;AAErC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9B,QAAA,CAAC,CAAC;IACH;;IAGU,YAAY,GAAA;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAACC,sBAAe,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAACC,0BAAmB,EAAE,CAAC;IACzC;;IAGU,UAAU,GAAA,EAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;;IAGxD,QAAQ,GAAA,EAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAEhE;;;;AAIG;AACH,IAAA,UAAU,CAAuB,IAAY,EAAA;AAC5C,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;QAEpC,MAAM,UAAU,GAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AAChD,QAAA,IAAI,CAAC,UAAU;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAA,mBAAA,CAAqB,CAAC;AAEzD,QAAA,OAAU,UAAU;IACrB;AAEA;;;;;AAKG;AACH,IAAA,MAAM,GAAG,CAA4B,WAA0B,EAAE,OAAqB,EAAA;AACrF,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;AAC9B,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC;QAE7C,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;AAC5C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AAErB,QAAA,IAAI,CAAC,WAAW;YACf,WAAW,GAAU,EAAE;AAExB,QAAA,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC,IAAI;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AAExB,QAAA,MAAM,OAAO,GAA8B;AAC1C,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;AAC1B,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,IAAI,EAAE;SACN;AAED,QAAA,IAAI;AACH,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE;YAEvB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;AAC3C,YAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;AAEjC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;YAEpC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC5C,YAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAEhC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;AAEpC,YAAA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAgB,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAExF,YAAA,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC,CAAc,KAAI;AAC3E,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,MAAyB;gBACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACF,MAAS,CAAC,aAAa,CAAC;oBACpD;gBAED,CAAC,CAAC,cAAc,EAAE;gBAElB,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,YAAY,iBAAiB,GAAsB,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE;AAChH,qBAAA,KAAK,CAAC,MAAK,EAAG,CAAC,CAAC;YACnB,CAAC,EAAE,KAAK,CAAC;AAET,YAAA,MAAM,IAAI,CAAC,QAAQ,EAAE;AAErB,YAAA,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3B;QACA,OAAO,MAAW,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAA,CAAE,CAAC;AACzC,YAAA,MAAM,MAAM;QACb;AAEA,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACnE;QACA,OAAO,MAAW,EAAE;AACnB,YAAA,IAAI,MAAM,KAAK,iBAAiB,EAAE;AACjC,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,oBAAA,CAAsB,CAAC;AACpC,gBAAA,OAAO,OAAO;YACf;AAEA,YAAA,MAAM,MAAM;QACb;AAEA,QAAA,OAAO,OAAO;IACf;AAEA;;;;AAIG;IACH,MAAM,GAAG,CAA4B,OAAgD,EAAA;QACpF,MAAM,GAAG,GAA2B,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,EAAE,GAAG,EAAU,OAAO,EAAE,GAA2B,OAAO;QAC1I,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,GAAU,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG;AAEvF,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;AACzD,QAAA,IAAI,KAAK;AACR,YAAA,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;QAErC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS;AAChD,QAAA,IAAI,MAAsB;AAC1B,QAAA,IAAI,OAAO;YACV,MAAM,GAAG,OAAO;aACZ;AACJ,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE;AAC3F,YAAA,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI;AAE/D,YAAA,IAAI,YAAY;AACf,gBAAA,MAAM,GAAG,YAAY,CAAC;;gBAEtB,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,eAAe;QAC7C;AAEA,QAAA,IAAI,SAA8C;AAClD,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;AACvD,YAAA,SAAS,GAAG,IAAI,CAAC,SAAoC;AAErD,YAAA,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;AAClC,YAAA,SAAS,CAAC,OAAQ,CAAC,QAAQ,GAAG,IAAI;QACzC;AAEA,QAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;AAE5D,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE;AACtC,QAAA,MAAM,MAAM,GAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;AACpE,QAAA,IAAI,KAAK;AACR,YAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACnB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;AAE7C,QAAA,MAAM,OAAO,GAAiC;AAC7C,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YACrB,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK;AACjC,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAuC;YAChE,MAAM,EAAE,SAAS,EAAE,OAAuC;AAC1D,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,QAAQ;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO;YACP,KAAK;AACL,YAAA,QAAQ,EAAE,OAAO,OAAgD,KAAI;gBACpE,aAAa,CAAC,cAAc,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAQ,OAAO,CAAC;gBAC7C,aAAa,CAAC,cAAc,EAAE;AAC9B,gBAAA,OAAO,MAAM;YACd;SACA;AAED,QAAA,MAAM,UAAU,GAA4B,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QAC5G,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAiC;IACxF;AAEA;;AAEG;IACH,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;QAEpC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnC;AAEA;;AAEG;IACH,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;AAEpC,QAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;IACzB;IAEA,MAAM,OAAO,CAA0C,WAA0B,EAAA;AAChF,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;AAC9B,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC;AACxD,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAEpB,QAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAEjC,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;QAC7B,IAAI,IAAI,CAAC,SAAS;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;QAE7B,IAAI,IAAI,CAAC,cAAc;YACtB,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC;AAEjE,QAAA,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE;AAE1C,QAAA,MAAM,OAAO,GAA6B;YACzC,KAAK,EAAE,YAAY,CAAC,MAAM;AAC1B,YAAA,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,WAAW,IAAW;SAC5B;AAED,QAAA,IAAI;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AAE1C,YAAA,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAEnC,YAAA,OAAO,OAAO;QACf;QACA,OAAO,MAAM,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAA,CAAE,CAAC;AAC7C,YAAA,MAAM,MAAM;QACb;gBACQ;YACP,KAAK,CAAC,OAAO,EAAE;QAChB;IACD;AAEA;;;;;;AAMG;AACH,IAAA,QAAQ,CAAC,IAAa,EAAE,KAAgD,EAAE,IAAa,EAAA;AACtF,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;AAEpC,QAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;IAChE;IAEQ,MAAM,UAAU,CAA4B,OAA+C,EAAA;AAClG,QAAA,MAAM,GAAG,GAAyB,OAAO,YAAY,eAAe,GAAG,EAAE,IAAI,EAAmB,OAAO,EAAE,GAAyB,OAAO;AACzI,QAAA,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,GAAU,EAAE,EAAE,GAAG,GAAG;AAE5D,QAAA,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE;AAC/D,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;QAEpC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC;AACrE,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM;AACxB,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAC1B,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM;QAErB,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;AACpC,gBAAA,MAAM,GAAG,MAAM,CAAC,UAAU;AAC3B,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;AACrC,gBAAA,OAAO,GAAG,MAAM,CAAC,WAAW;AAC7B,YAAA,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;AACpC,gBAAA,GAAG,GAAG,MAAM,CAAC,UAAU;YAExB,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC;AAEnD,YAAA,IAAI,MAAM,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,CAAC;gBAC5D,OAAO,GAAG,IAAI;QAChB;QAEA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACA,MAAS,CAAC,mBAAmB,CAAC;AACzD,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,mBAAmB,CAAC;AAEjD,QAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;AAE7B,QAAA,IAAI;YAEH,IAAI,MAAM,KAAK,KAAK;AACnB,gBAAA,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;iBACrF;AACJ,gBAAA,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;AACzD,gBAAA,IAAI,KAAK;AACR,oBAAA,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;AAErC,gBAAA,IAAI,SAA8C;AAClD,gBAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;AACvD,oBAAA,SAAS,GAAG,IAAI,CAAC,SAAoC;AAErD,oBAAA,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;AAClC,oBAAA,SAAS,CAAC,OAAQ,CAAC,QAAQ,GAAG,IAAI;gBACzC;AAEA,gBAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;AAE5D,gBAAA,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE;AACzC,gBAAA,MAAM,MAAM,GAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;gBACvE,IAAI,GAAG,CAAC,KAAK;AACZ,oBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBACvB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;AAE7C,gBAAA,IAAI,OAAO,GAA+B;AACzC,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;AACrB,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,KAAK,EAAE,aAAa;AACpB,oBAAA,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAuC;oBAChE,MAAM,EAAE,SAAS,EAAE,OAAuC;AAC1D,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,MAAM,EAAE,QAAQ;oBAChB,IAAI;oBACJ,IAAI;oBACJ,MAAM;oBACN,MAAM;oBACN,OAAO;oBACP,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,YAAY,EAAE,MAAM,CAAC,QAAQ;oBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO;AACP,oBAAA,QAAQ,EAAE,OAAO,OAAgD,KAAI;wBACpE,aAAa,CAAC,cAAc,EAAE;wBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAQ,OAAO,CAAC;wBAC7C,aAAa,CAAC,cAAc,EAAE;AAC9B,wBAAA,OAAO,MAAM;oBACd;iBACA;AAED,gBAAA,MAAM,UAAU,GAA4B,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7G,gBAAA,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YACtC;QACD;gBACQ;YACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC;AAEpD,YAAA,IAAI,MAAM;gBACT,MAAM,CAAC,SAAS,CAAC,MAAM,CAACA,MAAS,CAAC,mBAAmB,CAAC;QACxD;IACD;IAEQ,YAAY,CAAC,OAAqB,EAAE,KAAoB,EAAA;AAC/D,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI;QAE5B,OAAO,CAAC,GAAG,CAAC,CAAA,UAAA,EAAa,MAAM,CAAA,CAAE,EAAE,KAAK,CAAC,KAAK,CAAC;AAE/C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAC3D;AAEQ,IAAA,MAAM,cAAc,CAAC,GAAqB,EAAE,MAAyB,EAAA;AAC5E,QAAA,IAAI,MAAM;AACT,YAAA,MAAM,CAAC,OAAO,GAAG,GAAG;AAErB,QAAA,IAAI;AACH,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,CAAA,MAAA,CAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;AAEhD,YAAA,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;AAClC,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG;AAEpB,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC;AAElD,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG;AAEpB,YAAA,GAAG,CAAC,MAAM,GAAG,SAAS;AACtB,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC;YAE9D,OAAO,GAAG,CAAC,OAAO;QACnB;QACA,OAAO,MAAW,EAAE;AACnB,YAAA,IAAI,MAAM,EAAE,IAAI,KAAK,YAAY,EAAE;AAClC,gBAAA,GAAG,CAAC,MAAM,GAAG,WAAW;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC;YAC/D;AACK,iBAAA,IAAI,MAAM,KAAK,iBAAiB,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO;AACxC,oBAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC;AAExC,gBAAA,GAAG,CAAC,MAAM,GAAG,UAAU;AACvB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,CAAE,CAAC;AAE9D,gBAAA,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5B;iBACK;AACJ,gBAAA,GAAG,CAAC,MAAM,GAAG,OAAO;gBACpB,OAAO,CAAC,KAAK,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA,EAAA,EAAK,MAAM,CAAA,CAAE,CAAC;YAC3E;AAEA,YAAA,MAAM,MAAM;QACb;IACD;AACA;;MC/cY,kBAAkB,CAAA;AACtB,IAAA,OAAO;AACP,IAAA,SAAS,IAAG,WAAmB;IAC/B,aAAa,GAAiB,EAAE;AAExC,IAAA,WAAA,CAAY,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;IACrB;AAEA,IAAA,MAAM,CAAC,OAAmC,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO;AACxB,QAAA,OAAO,IAAI;IACZ;AAEA,IAAA,aAAa,CAAC,UAAmD,EAAE,GAAG,MAAkB,EAAA;AACvF,QAAA,IAAI,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7B,QAAA,OAAO,IAAI;IACZ;AAEA,IAAA,KAAK,CAAC,GAAqB,EAAE,GAAG,IAAW,EAAA;QAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG;AACvC,YAAA,GAAG,CAAC,QAAQ,GAAG,EAAE;AAElB,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAC1D,QAAA,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;AAClC,QAAA,OAAO,GAAG;IACX;AACA;;ACfD,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,GAAW,EAAA;IACnD,IAAI,IAAI,YAAY,iBAAiB;AACpC,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;;AAEf,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;IAE1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAACA,MAAS,CAAC,eAAe,CAAC;AAE7C,IAAA,OAAO,IAAI;AACZ,CAAC;AAED,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,GAAgB,EAAE,IAAa,EAAE,KAAgD,EAAE,IAAa,EAAA;AACrI,IAAA,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;AAC3C,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACxB,CAAC;AAED,WAAW,CAAC,SAAS,CAAC,UAAU,GAAG,YAAA;IAClC,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,0BAA0B,EAAE,EAAE,CAAC;AAC3D,IAAA,OAAO,IAAI;AACZ,CAAC;AAED,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,KAAa,EAAA;IACvD,IAAI,CAAC,YAAY,CAACA,MAAS,CAAC,wBAAwB,EAAE,KAAK,CAAC;AAC5D,IAAA,OAAO,IAAI;AACZ,CAAC;;;;"}
package/dist/types.d.ts CHANGED
@@ -65,8 +65,10 @@ interface NavigateContext<TApplication extends Application = Application, TData
65
65
  readonly url: string;
66
66
  /** Scheme, host and port. */
67
67
  readonly origin: string;
68
- /** Path and query, but without hash. */
68
+ /** Base path, path and query, but without hash. */
69
69
  readonly pathAndQuery: string;
70
+ /** Base path. */
71
+ readonly basePath: string;
70
72
  /** Path of navigation url. */
71
73
  readonly path: string;
72
74
  /** Query parameters of navigation url. */
@@ -138,7 +140,12 @@ declare class Application<TModel extends ApplicationModel = ApplicationModel> ex
138
140
  get current(): NavigateContext<this> | undefined;
139
141
  /** Application destroy signal. */
140
142
  get abort(): AbortSignal;
143
+ /** Initialize application instance. */
141
144
  protected onInitialize(): void;
145
+ /** Begin run application. */
146
+ protected onStarting(): Promise<void>;
147
+ /** Complate run application. */
148
+ protected onStared(): Promise<void>;
142
149
  /**
143
150
  * Get middleware by type.
144
151
  * @param type Type of middleware.
@@ -190,25 +197,39 @@ declare class ApplicationBuilder<TModel extends ApplicationModel> {
190
197
  build(env: EnvironmentModel, ...args: any[]): Application<TModel>;
191
198
  }
192
199
 
200
+ declare global {
201
+ interface HTMLElement {
202
+ /** Build navigate by application. */
203
+ nav(app: Application, path?: string, query?: QueryParams | URLSearchParams | FormData, hash?: string): this;
204
+ /** Build navigate by url. */
205
+ navUrl(url: string): this;
206
+ /** Set navigation with replace. */
207
+ navReplace(): this;
208
+ /** Set navigation scope. */
209
+ navScope(scope: string): this;
210
+ }
211
+ }
212
+
193
213
  interface ParsedUrl {
194
214
  full: string;
195
215
  url: string;
196
216
  relative: string;
197
217
  origin: string;
218
+ basePath: string;
198
219
  path: string;
199
220
  query: URLSearchParams;
200
221
  hash: string | null;
201
222
  external: boolean;
202
223
  }
203
- declare const _default$1: {
204
- parseUrl: (url: string | null) => ParsedUrl;
224
+ declare const _default: {
225
+ parseUrl: (basePath: string, url: string | null) => ParsedUrl;
205
226
  extendQuery: (url: ParsedUrl, query: QueryParams | URLSearchParams | FormData) => void;
206
227
  buildUrl: (basePath: string, path?: string, query?: QueryParams | URLSearchParams | FormData, hash?: string) => string;
207
228
  };
208
229
 
209
230
  type url_ParsedUrl = ParsedUrl;
210
231
  declare namespace url {
211
- export { _default$1 as default };
232
+ export { _default as default };
212
233
  export type { url_ParsedUrl as ParsedUrl };
213
234
  }
214
235
 
@@ -234,19 +255,5 @@ declare namespace constants {
234
255
  };
235
256
  }
236
257
 
237
- declare const _default: {
238
- window: Window & typeof globalThis;
239
- document: Document;
240
- body: HTMLElement;
241
- location: Location;
242
- reload: () => void;
243
- };
244
-
245
- declare namespace browser {
246
- export {
247
- _default as default,
248
- };
249
- }
250
-
251
- export { APP_TYPENAME, Application, ApplicationBuilder, browser as BROWSER, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
258
+ export { APP_TYPENAME, Application, ApplicationBuilder, constants as CONSTANTS, NAV_OVERIDE_ERROR, url as UrlHelper };
252
259
  export type { ApplicationModel, ContextData, EnvironmentModel, InvokeContext, Middleware, MiddlewareMethod, MiddlewareNext, NavigateAction, NavigateContext, NavigateOptions, NavigateSource, QueryParams, StartContext, StopContext, SubmitContext, SubmitMethod, SubmitOptions };
package/package.json CHANGED
@@ -24,11 +24,11 @@
24
24
  "module": "dist/mjs/index.js",
25
25
  "types": "dist/types.d.ts",
26
26
  "license": "Apache-2.0",
27
- "version": "1.0.33",
27
+ "version": "1.0.35",
28
28
  "dependencies": {
29
- "@brandup/ui": "^1.0.33",
30
- "@brandup/ui-dom": "^1.0.33",
31
- "@brandup/ui-helpers": "^1.0.33"
29
+ "@brandup/ui": "^1.0.35",
30
+ "@brandup/ui-dom": "^1.0.35",
31
+ "@brandup/ui-helpers": "^1.0.35"
32
32
  },
33
33
  "files": [
34
34
  "dist",