@things-factory/apptool-ui 10.1.154 → 10.1.157

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.
@@ -0,0 +1,31 @@
1
+ /**
2
+ * What the MDI tab bar's tab list becomes when tabs close - decided here, apart from the element.
3
+ *
4
+ * `routes[0]` is home and never closes. Tabs are found by identity, never by a position handed in from the
5
+ * template: the context menu used to pass the position among the non-home tabs while the list counts home,
6
+ * so "close" disposed the chosen page and dropped the tab to its left.
7
+ *
8
+ * No imports, so the node test runner can hold it.
9
+ */
10
+ export type MdiRoute<P = unknown> = {
11
+ page?: P;
12
+ url: string;
13
+ name?: string;
14
+ };
15
+ /**
16
+ * The list without `route`, and where it stood. `at` is -1 when it is not there (or is home) - nothing to do.
17
+ */
18
+ export declare function withoutRoute<P>(routes: MdiRoute<P>[], route: MdiRoute<P>): {
19
+ routes: MdiRoute<P>[];
20
+ at: number;
21
+ };
22
+ /** Where to go after closing the tab that was on screen: the tab that stood to its left - home for the first. */
23
+ export declare function nextAfterClose<P>(routes: MdiRoute<P>[], at: number): MdiRoute<P>;
24
+ /**
25
+ * Keep home and `keep`; the rest close. `closed` are the tabs whose pages must be disposed.
26
+ * `keep` may be home itself (closing every other tab while home is on screen).
27
+ */
28
+ export declare function keepOnly<P>(routes: MdiRoute<P>[], keep: MdiRoute<P> | undefined): {
29
+ routes: MdiRoute<P>[];
30
+ closed: MdiRoute<P>[];
31
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The list without `route`, and where it stood. `at` is -1 when it is not there (or is home) - nothing to do.
3
+ */
4
+ export function withoutRoute(routes, route) {
5
+ const at = routes.indexOf(route);
6
+ if (at <= 0)
7
+ return { routes, at: -1 };
8
+ return { routes: [...routes.slice(0, at), ...routes.slice(at + 1)], at };
9
+ }
10
+ /** Where to go after closing the tab that was on screen: the tab that stood to its left - home for the first. */
11
+ export function nextAfterClose(routes, at) {
12
+ return routes[Math.max(0, Math.min(at - 1, routes.length - 1))];
13
+ }
14
+ /**
15
+ * Keep home and `keep`; the rest close. `closed` are the tabs whose pages must be disposed.
16
+ * `keep` may be home itself (closing every other tab while home is on screen).
17
+ */
18
+ export function keepOnly(routes, keep) {
19
+ const [home, ...rest] = routes;
20
+ const kept = keep && keep !== home && rest.includes(keep) ? keep : undefined;
21
+ return { routes: kept ? [home, kept] : [home], closed: rest.filter(route => route !== kept) };
22
+ }
23
+ //# sourceMappingURL=mdibar-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdibar-routes.js","sourceRoot":"","sources":["../../client/layout/mdibar-routes.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,UAAU,YAAY,CAAI,MAAqB,EAAE,KAAkB;IACvE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAChC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAA;IAEtC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAA;AAC1E,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,cAAc,CAAI,MAAqB,EAAE,EAAU;IACjE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAI,MAAqB,EAAE,IAA6B;IAC9E,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAE5E,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAA;AAC/F,CAAC","sourcesContent":["/**\n * What the MDI tab bar's tab list becomes when tabs close - decided here, apart from the element.\n *\n * `routes[0]` is home and never closes. Tabs are found by identity, never by a position handed in from the\n * template: the context menu used to pass the position among the non-home tabs while the list counts home,\n * so \"close\" disposed the chosen page and dropped the tab to its left.\n *\n * No imports, so the node test runner can hold it.\n */\nexport type MdiRoute<P = unknown> = { page?: P; url: string; name?: string }\n\n/**\n * The list without `route`, and where it stood. `at` is -1 when it is not there (or is home) - nothing to do.\n */\nexport function withoutRoute<P>(routes: MdiRoute<P>[], route: MdiRoute<P>): { routes: MdiRoute<P>[]; at: number } {\n const at = routes.indexOf(route)\n if (at <= 0) return { routes, at: -1 }\n\n return { routes: [...routes.slice(0, at), ...routes.slice(at + 1)], at }\n}\n\n/** Where to go after closing the tab that was on screen: the tab that stood to its left - home for the first. */\nexport function nextAfterClose<P>(routes: MdiRoute<P>[], at: number): MdiRoute<P> {\n return routes[Math.max(0, Math.min(at - 1, routes.length - 1))]\n}\n\n/**\n * Keep home and `keep`; the rest close. `closed` are the tabs whose pages must be disposed.\n * `keep` may be home itself (closing every other tab while home is on screen).\n */\nexport function keepOnly<P>(routes: MdiRoute<P>[], keep: MdiRoute<P> | undefined): { routes: MdiRoute<P>[]; closed: MdiRoute<P>[] } {\n const [home, ...rest] = routes\n const kept = keep && keep !== home && rest.includes(keep) ? keep : undefined\n\n return { routes: kept ? [home, kept] : [home], closed: rest.filter(route => route !== kept) }\n}\n"]}
@@ -2,6 +2,7 @@ import '@material/web/icon/icon.js';
2
2
  import '@operato/popup/ox-popup-menu.js';
3
3
  import { LitElement } from 'lit';
4
4
  import { PageView } from '@operato/shell';
5
+ import { type MdiRoute } from './mdibar-routes.js';
5
6
  declare const PageMDIBar_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
7
  export declare class PageMDIBar extends PageMDIBar_base {
7
8
  static styles: import("lit").CSSResult[];
@@ -20,8 +21,14 @@ export declare class PageMDIBar extends PageMDIBar_base {
20
21
  private _routeCtrl;
21
22
  scroller: HTMLDivElement;
22
23
  contextMenu: HTMLDivElement;
23
- private contextMenuTargetIndex?;
24
24
  private contextMenuTargetRoute?;
25
+ /**
26
+ * Pages this bar closed. While a close navigates to the next tab there is a moment when the address is
27
+ * already the next page's but the active page is still the closed one; `updated()` must not take that
28
+ * page back in as a new tab (it did, with the next page's address - the closed tab came back at the end
29
+ * and had to be closed again).
30
+ */
31
+ private closed;
25
32
  willUpdate(): void;
26
33
  render(): import("lit-html").TemplateResult<1>;
27
34
  private _prevActivePage?;
@@ -61,18 +68,13 @@ export declare class PageMDIBar extends PageMDIBar_base {
61
68
  name?: string;
62
69
  }): void;
63
70
  moveToHome(): void;
64
- closePage(route: {
65
- page?: PageView;
66
- url: string;
67
- name?: string;
68
- }, idx: number): void;
71
+ /** Takes the page out of the content area and lets it go - and remembers that this bar closed it. */
72
+ private dispose;
73
+ closePage(route: MdiRoute<PageView>): void;
74
+ /** Every tab but home and `keep` closes; `keep` comes on screen. */
75
+ closeOtherPages(keep: MdiRoute<PageView>): void;
69
76
  closeOtherPagesFromActive(): Promise<void>;
70
77
  closeAllPage(): Promise<void>;
71
- closeOtherPages(route: {
72
- page?: PageView;
73
- url: string;
74
- name?: string;
75
- }, idx: number): void;
76
78
  openContextMenu(e: MouseEvent): void;
77
79
  }
78
80
  export {};
@@ -8,6 +8,7 @@ import { i18next, localize } from '@operato/i18n';
8
8
  import { OxPopupMenu } from '@operato/popup/ox-popup-menu.js';
9
9
  import { OxPrompt } from '@operato/popup';
10
10
  import { mdibarStandsAside } from './mdibar-visibility.js';
11
+ import { keepOnly, nextAfterClose, withoutRoute } from './mdibar-routes.js';
11
12
  let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
12
13
  constructor() {
13
14
  super(...arguments);
@@ -20,6 +21,13 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
20
21
  this.routes = [{ url: this.getHomeRoute() }];
21
22
  this.title = '';
22
23
  this._routeCtrl = new RouteController(this);
24
+ /**
25
+ * Pages this bar closed. While a close navigates to the next tab there is a moment when the address is
26
+ * already the next page's but the active page is still the closed one; `updated()` must not take that
27
+ * page back in as a new tab (it did, with the next page's address - the closed tab came back at the end
28
+ * and had to be closed again).
29
+ */
30
+ this.closed = new WeakSet();
23
31
  }
24
32
  static { this.styles = [
25
33
  css `
@@ -307,7 +315,6 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
307
315
  e.preventDefault();
308
316
  e.stopPropagation();
309
317
  delete this.contextMenuTargetRoute;
310
- delete this.contextMenuTargetIndex;
311
318
  this.openContextMenu(e);
312
319
  }}
313
320
  >
@@ -321,11 +328,10 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
321
328
  e.preventDefault();
322
329
  e.stopPropagation();
323
330
  delete this.contextMenuTargetRoute;
324
- delete this.contextMenuTargetIndex;
325
331
  this.openContextMenu(e);
326
332
  }}
327
333
  >
328
- ${routes.map((route, idx) => {
334
+ ${routes.map(route => {
329
335
  const context = route.page?.context;
330
336
  const title = context?.title || context?.search?.placeholder || '';
331
337
  return html `
@@ -334,7 +340,6 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
334
340
  e.preventDefault();
335
341
  e.stopPropagation();
336
342
  this.contextMenuTargetRoute = route;
337
- this.contextMenuTargetIndex = idx;
338
343
  this.openContextMenu(e);
339
344
  }}
340
345
  @click=${() => this.moveTo(route)}
@@ -343,9 +348,10 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
343
348
  >
344
349
  ${typeof title == 'object' ? title.text : title}
345
350
  <md-icon
351
+ title=${i18next.t('button.close-tab')}
346
352
  @click=${(e) => {
347
353
  e.stopPropagation();
348
- this.closePage(route, idx + 1);
354
+ this.closePage(route);
349
355
  }}
350
356
  >close</md-icon
351
357
  >
@@ -356,7 +362,11 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
356
362
  </div>
357
363
 
358
364
  <div arrows>
359
- <md-icon close-all ?disabled=${this.routes.length <= 1} @click=${() => this.closeOtherPagesFromActive()}
365
+ <md-icon
366
+ close-all
367
+ title=${i18next.t('button.close-other-tabs')}
368
+ ?disabled=${this.routes.length <= 1}
369
+ @click=${() => this.closeOtherPagesFromActive()}
360
370
  >tab_close</md-icon
361
371
  >
362
372
  <md-icon ?disabled=${!this.scroller || this.scroller.scrollLeft <= 0} @click=${() => this.onScrollByArrow(1)}
@@ -409,6 +419,10 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
409
419
  return;
410
420
  }
411
421
  const page = activePage;
422
+ /* A page this bar closed is not a tab any more, whatever the address says at this moment. */
423
+ if (this.closed.has(page)) {
424
+ return;
425
+ }
412
426
  if (location.pathname == this.getHomeRoute()) {
413
427
  this.routes[0].page = page;
414
428
  return;
@@ -452,16 +466,32 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
452
466
  moveToHome() {
453
467
  navigate(this.getHomeRoute());
454
468
  }
455
- closePage(route, idx) {
456
- this.routes = [...this.routes.slice(0, idx), ...this.routes.slice(idx + 1)];
457
- const page = route.page;
469
+ /** Takes the page out of the content area and lets it go - and remembers that this bar closed it. */
470
+ dispose(page) {
471
+ if (!page)
472
+ return;
473
+ this.closed.add(page);
458
474
  page.parentNode?.removeChild(page);
459
475
  page.pageDispose();
460
- if (this._routeCtrl.activePage === page) {
461
- const next = this.routes.length > 0 ? Math.max(0, idx - 1) : -1;
462
- navigate(next != -1 ? this.routes[next].url : this.getHomeRoute());
476
+ }
477
+ closePage(route) {
478
+ const { routes, at } = withoutRoute(this.routes, route);
479
+ if (at < 0)
480
+ return;
481
+ this.routes = routes;
482
+ const wasOnScreen = this._routeCtrl.activePage === route.page;
483
+ this.dispose(route.page);
484
+ if (wasOnScreen) {
485
+ navigate(nextAfterClose(routes, at).url);
463
486
  }
464
487
  }
488
+ /** Every tab but home and `keep` closes; `keep` comes on screen. */
489
+ closeOtherPages(keep) {
490
+ const { routes, closed } = keepOnly(this.routes, keep);
491
+ closed.forEach(route => this.dispose(route.page));
492
+ this.routes = routes;
493
+ navigate(routes[routes.length - 1].url);
494
+ }
465
495
  /* 현재 활성 탭을 제외한 모든 탭을 닫는 함수 */
466
496
  async closeOtherPagesFromActive() {
467
497
  if (this.routes.length <= 1)
@@ -469,22 +499,13 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
469
499
  const result = await OxPrompt.open({
470
500
  type: 'info',
471
501
  title: '',
472
- text: i18next.t('text.confirm_close_all_tabs'),
502
+ text: i18next.t('text.confirm_close_other_tabs'),
473
503
  confirmButton: { text: i18next.t('button.confirm') },
474
504
  cancelButton: { text: i18next.t('button.cancel') }
475
505
  });
476
506
  if (!result)
477
507
  return;
478
- const activeRoute = this.routes.find(route => route.page === this._routeCtrl.activePage);
479
- this.routes.slice(1).forEach(route => {
480
- if (route === activeRoute)
481
- return;
482
- const page = route.page;
483
- page.parentNode?.removeChild(page);
484
- page.pageDispose();
485
- });
486
- this.routes = activeRoute && activeRoute !== this.routes[0] ? [this.routes[0], activeRoute] : [this.routes[0]];
487
- navigate(activeRoute?.url || this.routes[0].url);
508
+ this.closeOtherPages(this.routes.find(route => route.page === this._routeCtrl.activePage) ?? this.routes[0]);
488
509
  }
489
510
  async closeAllPage() {
490
511
  const result = await OxPrompt.open({
@@ -496,25 +517,7 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
496
517
  });
497
518
  if (!result)
498
519
  return;
499
- this.routes.slice(1).forEach((route, idx) => {
500
- const page = route.page;
501
- page.parentNode?.removeChild(page);
502
- page.pageDispose();
503
- });
504
- this.routes = [this.routes[0]];
505
- navigate(this.routes[0].url);
506
- }
507
- closeOtherPages(route, idx) {
508
- this.routes.slice(1).forEach((route, idx) => {
509
- if (route === route) {
510
- return;
511
- }
512
- const page = route.page;
513
- page.parentNode?.removeChild(page);
514
- page.pageDispose();
515
- });
516
- this.routes = [this.routes[0], route];
517
- navigate(route.url);
520
+ this.closeOtherPages(this.routes[0]);
518
521
  }
519
522
  openContextMenu(e) {
520
523
  OxPopupMenu.open({
@@ -522,18 +525,18 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
522
525
  ${this.contextMenuTargetRoute
523
526
  ? html `
524
527
  <ox-popup-menuitem
525
- label="close"
528
+ label=${i18next.t('button.close-tab')}
526
529
  @select=${(e) => {
527
- this.closePage(this.contextMenuTargetRoute, this.contextMenuTargetIndex);
530
+ this.closePage(this.contextMenuTargetRoute);
528
531
  }}
529
532
  >
530
533
  <md-icon slot="icon">close</md-icon>
531
534
  </ox-popup-menuitem>
532
535
 
533
536
  <ox-popup-menuitem
534
- label="close others"
537
+ label=${i18next.t('button.close-other-tabs')}
535
538
  @select=${(e) => {
536
- this.closeOtherPages(this.contextMenuTargetRoute, this.contextMenuTargetIndex);
539
+ this.closeOtherPages(this.contextMenuTargetRoute);
537
540
  }}
538
541
  >
539
542
  <md-icon slot="icon">cancel</md-icon>
@@ -542,7 +545,7 @@ let PageMDIBar = class PageMDIBar extends localize(i18next)(LitElement) {
542
545
  : nothing}
543
546
 
544
547
  <ox-popup-menuitem
545
- label="close all"
548
+ label=${i18next.t('button.close-all-tabs')}
546
549
  @select=${(e) => {
547
550
  this.closeAllPage();
548
551
  }}
@@ -1 +1 @@
1
- {"version":3,"file":"page-mdibar.js","sourceRoot":"","sources":["../../client/layout/page-mdibar.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/popup/ox-popup-menu.js'\n\nimport { css, html, nothing, LitElement } from 'lit'\nimport { customElement, query, state } from 'lit/decorators.js'\n\nimport { navigate, PageView, RouteController } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { OxPopupMenu } from '@operato/popup/ox-popup-menu.js'\nimport { OxPrompt } from '@operato/popup'\n\nimport { mdibarStandsAside } from './mdibar-visibility.js'\n\n@customElement('page-mdibar')\nexport class PageMDIBar extends localize(i18next)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n background-color: var(--md-sys-color-secondary-container);\n color: var(--md-sys-color-on-secondary-container);\n font-size: var(--fontsize-small);\n overflow: hidden;\n align-items: stretch;\n }\n\n /* The active page asked for no tab bar (context.mdibar === false). */\n :host([hidden]) {\n display: none;\n }\n\n div {\n box-sizing: border-box;\n }\n\n div[routes] {\n flex: 1;\n\n display: flex;\n overflow: hidden;\n }\n\n div[route] {\n display: inline-block;\n position: relative;\n min-width: var(--mdibar-min-width, 100px);\n max-width: var(--mdibar-max-width, 150px);\n padding: var(--mdibar-padding, 3px 22px 1px 7px);\n /*\n * ── 탭은 위 두 모서리만 둥글다 ──────────────────────────────────────\n *\n * 탭의 은유는 **앞으로 나온 종이**다. 그래서 위는 둥글고 **아래는 각져서** 아래 판에\n * 붙는다. 밑변이 각진 것이 「이 탭이 저 판의 손잡이」라고 말하는 자리다.\n *\n * 모서리 값은 담는 면을 따른다(동심 모서리) — 이 띠는 평평한 면이므로 작은 눈금 6px 이다.\n * 팝업 카드(16px) 안의 컨트롤이 알약인 것과 같은 원칙이고, 반대쪽 끝이다.\n *\n * ── 전에 여기 있던 것 ───────────────────────────────────────────────\n * border-right / border-top / border-bottom: var(--border-dim-color)\n *\n * 탭마다 세 면에 선이 있었다. **걷은 것은 그 선이 죽어서가 아니라, 이 모양에서 선이\n * 너무 많아서다.** 26px 띠에 탭 셋이면 세로선이 셋이고, 여기에 활성 탭의 윤곽 한 올과\n * 아래 판의 경계까지 겹친다. 위가 둥근 활성 탭이 한 장으로 떠오르면 비활성 자리는\n * 물러나 있는 것으로 충분하다.\n *\n * ── 한때 「죽은 선언」이라고 적었다. 틀렸다 ────────────────────────────\n * --border-dim-color 를 못 찾아 무효 선언이라고 단정했는데, 그 토큰은 **테두리 값 한\n * 벌을 통째로** 담고 있다(이름이 -color 로 끝나지만 색이 아니다).\n *\n * shell/client/themes/app-theme.css body { --border-dim-color: 1px solid var(--md-sys-color-outline-variant) }\n *\n * 못 찾은 이유는 :root 에서 읽었기 때문이다 — 선택자가 body 다. 그래서 단축 속성에\n * 쓰이던 이 넷은 **살아서 칠하고 있었다.** 색 자리(border-*-color)에 쓰면 그때 죽는다.\n *\n * [확인함] 2026-09-04 · body 값 「1px solid rgb(214 219 224)」 ·\n * border-bottom: var(--border-dim-color) 가 1px solid #d6dbe0 로 계산된다 ·\n * 바 #e4e8ed · 활성 탭 #f0f2f4 · 본문 바닥 #f0f2f4\n */\n border-radius: var(--mdibar-tab-radius, 6px) var(--mdibar-tab-radius, 6px) 0 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-transform: capitalize;\n cursor: pointer;\n }\n\n div[arrows] {\n display: flex;\n /*\n * border: var(--border-dim-color) 였다 — 화살표 세 개를 상자로 둘러쌌다. 걷었다.\n * 그 셋은 이미 각자 동그라미를 받으므로 무리를 상자로 또 묶을 이유가 없다.\n * (그 선언은 살아 있었다. 위 div[route] 의 주석에 그 토큰 이야기를 적어 두었다.)\n */\n align-items: center;\n }\n\n /*\n * 흐림을 여기서 걷었다. 아래에서 이 셋에 **색을 직접 주고**(평소 --ui-muted · 못 누를 때\n * --ui-faint) 있어서, 흐림이 그 위에 또 얹히면 두 번 흐려진다. 「모두 닫기」가 야간 화면에서\n * 1.78:1 이었다(실측 2026-09-05 · UI 요소 기준 3:1).\n */\n div[arrows] * {\n font-size: var(--mdibar-icon-size, 24px);\n flex: 1;\n }\n\n /*\n * 흐림은 0.5 였다. 색까지 함께 흐린 자리가 있어 **두 번 흐려졌고**, 홈 아이콘이 밝은 화면에서\n * 2.93:1 이 됐다(실측 2026-09-05). 0.7 이면 4.3 으로 UI 요소 기준을 넘고, 탭 이름보다\n * 뒤에 서는 것은 그대로다.\n */\n md-icon {\n --md-icon-size: var(--mdibar-icon-size, 18px);\n opacity: 0.7;\n }\n\n md-icon:hover {\n opacity: 0.8;\n color: var(--md-sys-color-secondary);\n }\n\n /*\n * 탭 줄 오른쪽의 단추들 — 모두 닫기 · 좌우 이동.\n *\n * 전에는 글리프가 24px 인데 상자가 18px 이라 **넘쳤고**, 색이 rgb(32,39,47) 거의 검정이라 탭 줄\n * 에서 가장 진했다. 탭 이름보다 장치가 눈에 먼저 들어왔다. [확인함] 2026-09-02\n *\n * 상자와 글리프를 같은 값으로 맞추고, 평소에는 흐리게 두었다가 마우스가 오면 진해진다. 배경은\n * 동그라미로 든다 — 셀 안 단추와 같은 어휘다.\n */\n div[arrows] md-icon {\n --md-icon-size: 18px;\n font-size: 18px;\n width: 18px;\n height: 18px;\n padding: 3px;\n border-radius: 50%;\n color: var(--ui-muted, #57676f);\n cursor: pointer;\n transition:\n background-color 0.12s ease,\n color 0.12s ease;\n }\n\n div[arrows] md-icon:not([disabled]):hover {\n color: var(--ui-ink, #17272f);\n background-color: var(--ui-hover, rgba(0, 0, 0, 0.06));\n }\n\n /*\n * 「모두 닫기」는 채운 글리프로 그려진다. 외곽선으로 바꾼다 — 옆의 화살표가 외곽선이라 셋이 한\n * 무리로 읽혀야 한다.\n */\n div[arrows] md-icon[close-all] {\n margin: 0 2px;\n font-variation-settings: 'FILL' 0;\n }\n\n div[arrows] md-icon[disabled] {\n opacity: 0.35;\n color: var(--ui-faint, #8a959c);\n cursor: default;\n }\n\n /*\n * 탭을 닫는 × — **옆의 화살표들과 같은 어휘로** 그린다.\n *\n * 확인해 보니 한 26px 띠 안에서 같은 종류가 어휘가 둘이었다.\n *\n * 탭의 × 18×18 · padding 0 · radius 0 · #20272f 를 50% 흐림 · hover 는 흐림만\n * 바의 화살표 24×24 · padding 3 · radius 50% · --ui-muted · hover 에 배경 동그라미\n *\n * 화살표 쪽은 이틀 전에 정리했고(위 블록) 이쪽은 받지 못했다. 그래서 셋이 걸렸다.\n *\n * ① 누를 자리가 18px 다. 옆의 것이 24px 이고, 탭을 닫는 것은 되돌리기 어려운 동작이다\n * ② hover 가 흐림만 바꾼다 — 배경이 없으면 단추로 읽히지 않는다\n * ③ 색이 자기 색이 아니다. 잉크(#20272f)를 흐린 것이라 탭 이름과 같은 무게로 읽혔고,\n * 탭이 셋이면 화면에서 「× × ×」가 이름보다 먼저 한 줄로 읽혔다\n *\n * 글리프를 16px 로 한 단 줄여 padding 3px 을 넣어도 22×22 로 26px 띠에 든다. 위아래\n * 2px 이 남는다 — 화살표와 같은 값(24)을 쓰면 띠에 꽉 차서 모서리를 먹는다.\n *\n * margin-left 를 걷었다 — absolute 배치라 아무 일도 하지 않던 선언이다.\n * 홈 탭의 아이콘은 닫기가 아니므로 뺀다(그쪽은 아래 [home] 규칙이 맡는다).\n */\n div[route]:not([home]) md-icon {\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n\n --md-icon-size: 16px;\n font-size: 16px;\n width: 16px;\n height: 16px;\n padding: 3px;\n border-radius: 50%;\n\n opacity: 1;\n /*\n * ── 색은 **이 띠의 짝 토큰**에서 온다 (2026-09-05) ────────────────\n * --ui-faint 는 페이지 바탕(--md-sys-color-surface)에 맞춰 섞인 값이다. 탭 띠의 바탕은\n * 그것이 아니라 secondary-container 라서, 여기에 그대로 쓰면 바탕에 너무 가까워진다 —\n * 야간 실측 2.07:1 이었다(UI 요소 기준 3:1).\n *\n * 그래서 이 띠의 글자색(on-secondary-container)을 옅게 섞는다. 활성 탭(4.9) · 비활성\n * 탭(5.9) 어느 쪽에 놓여도 넘는다.\n */\n color: color-mix(in srgb, var(--md-sys-color-on-secondary-container) 70%, transparent);\n transition:\n background-color 0.12s ease,\n color 0.12s ease;\n }\n\n div[route]:not([home]) md-icon:hover {\n opacity: 1;\n color: var(--ui-ink, #17272f);\n background-color: var(--ui-hover, rgba(0, 0, 0, 0.06));\n }\n\n /*\n * Centred on both axes, the way the close icons are centred vertically.\n *\n * There used to be two rules with this same selector: one set right: 2px, a later one\n * added left: 0. With width auto both applied, so the box stretched across the tab and\n * the glyph rendered at its left edge — and neither rule set top, so it fell at its\n * static position under the 3px top padding instead of on the band's centre line.\n * [확인함] 2026-09-09 · 사용자 보고 — 홈 아이콘이 치우쳐 보인다\n */\n div[route][home] md-icon {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n /*\n * 비활성 탭도 눌리는 것이다. 마우스가 오면 면으로 말한다 — 옆의 화살표들과 같은 어휘다.\n * 채움 자리(rest)와 이미 열린 탭은 뺀다.\n */\n div[route]:not([active]):not([rest]):hover {\n background-color: var(--ui-hover, rgba(0, 0, 0, 0.05));\n }\n\n /*\n * 활성 탭은 **아래 판과 한 장**이다.\n *\n * 채움색이 --md-sys-color-background 인 것은 그 뜻이었다 — 본문 바닥과 같은 색이라\n * 이어져 보이게. [확인함] 둘 다 #f0f2f4 로 실제 같다.\n *\n * 거기에 두 가지를 더한다.\n *\n * 위·좌·우 실선 한 올 떠오른 종이의 윤곽. 밝기 5% 차이만으로는 경계가 안 읽혔다\n * 밑변은 판의 색 선을 잇지 않는다 — 그 1px 이 탭과 판을 잇는 자리다\n */\n div[route][active] {\n background-color: var(--md-sys-color-background);\n border: 1px solid var(--md-sys-color-outline-variant);\n border-bottom-color: var(--md-sys-color-background);\n color: var(--md-sys-color-on-background);\n font-weight: bold;\n }\n\n div[route][home] {\n /*\n * The icon is positioned, so this padding is only reserving the tab's width — 28px,\n * the same total as before. It was 23px on the left against 5px on the right, and 0 at\n * the bottom where its siblings have 1px, which left the glyph off to one side and a\n * pixel higher than the other tabs.\n */\n padding: var(--mdibar-padding-home, 3px 14px 1px 14px);\n overflow: visible;\n min-width: unset;\n max-width: unset;\n }\n\n div[route][rest] {\n flex: 1;\n min-width: unset;\n max-width: unset;\n border-right: unset;\n }\n `\n ]\n\n /**\n * 열린 탭들. `routes[0]` 은 홈이다(render 에서 따로 그린다).\n *\n * `name` 은 그 탭이 맡은 **라우트 이름**이다(`job-order-list` 같은 것). 주소를 갱신할 때 「이 주소가\n * 정말 이 탭의 것인가」를 판정하는 데 쓴다 — 없으면 남의 주소가 찍힌다(updated 머리말 참조).\n */\n @state() routes: { page?: PageView; url: string; name?: string }[] = [{ url: this.getHomeRoute() }]\n @state() title: string = ''\n\n private _routeCtrl = new RouteController(this)\n\n @query('[routes]') scroller!: HTMLDivElement\n @query('#context-menu') contextMenu!: HTMLDivElement\n\n private contextMenuTargetIndex?: number\n private contextMenuTargetRoute?: { page?: PageView; url: string; name?: string }\n\n willUpdate() {\n /* Every update, so leaving such a page shows the bar again. */\n this.hidden = mdibarStandsAside(this._routeCtrl.context)\n }\n\n render() {\n const home = this.routes[0]\n const routes = this.routes.slice(1)\n\n return html`\n <div\n home\n route\n ?active=${this._routeCtrl.activePage === home.page}\n @click=${() => this.moveToHome()}\n @contextmenu=${(e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n delete this.contextMenuTargetRoute\n delete this.contextMenuTargetIndex\n\n this.openContextMenu(e)\n }}\n >\n <md-icon>home</md-icon>&#8203;\n </div>\n\n <div\n routes\n @mousewheel=${this.onWheelEvent.bind(this)}\n @contextmenu=${(e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n delete this.contextMenuTargetRoute\n delete this.contextMenuTargetIndex\n\n this.openContextMenu(e)\n }}\n >\n ${routes.map((route, idx) => {\n const context = route.page?.context as any\n const title = context?.title || context?.search?.placeholder || ''\n\n return html`\n <div\n @contextmenu=${(e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.contextMenuTargetRoute = route\n this.contextMenuTargetIndex = idx\n\n this.openContextMenu(e)\n }}\n @click=${() => this.moveTo(route)}\n ?active=${this._routeCtrl.activePage === route.page}\n route\n >\n ${typeof title == 'object' ? title.text : title}\n <md-icon\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this.closePage(route, idx + 1)\n }}\n >close</md-icon\n >\n </div>\n `\n })}\n <div rest route></div>\n </div>\n\n <div arrows>\n <md-icon close-all ?disabled=${this.routes.length <= 1} @click=${() => this.closeOtherPagesFromActive()}\n >tab_close</md-icon\n >\n <md-icon ?disabled=${!this.scroller || this.scroller.scrollLeft <= 0} @click=${() => this.onScrollByArrow(1)}\n >arrow_left</md-icon\n >\n <md-icon\n ?disabled=${!this.scroller ||\n this.scroller.scrollWidth <= this.scroller.offsetWidth + this.scroller.scrollLeft}\n @click=${() => this.onScrollByArrow(-1)}\n >arrow_right</md-icon\n >\n </div>\n `\n }\n\n private _prevActivePage?: any\n private _prevResourceId?: string\n private _prevParams?: any\n\n /**\n * 열린 탭 목록을 주소와 맞춘다.\n *\n * ── 남의 주소가 찍히던 결함 (2026-09-02) ──────────────────────────────────\n * 항해 한 번에 이 함수가 **두 번** 지나간다. 그 사이에 주소와 활성 페이지가 어긋나 있는 순간이 있다.\n *\n * ① navigate 주소가 새 페이지로 바뀐다. 활성 페이지는 **아직 옛 페이지**다\n * ② 나중에 새 페이지가 붙고 활성 페이지가 바뀐다\n *\n * ①에서도 이 블록이 돌았다. `params` 는 항해마다 새 객체라(`shell/actions/route.js` 의\n * `if (!params) { params = {} }`) 아래 `params !== this._prevParams` 가 **항상 참**이기 때문이다.\n * 그래서 옛 탭을 찾아 새 주소를 찍었다.\n *\n * [확인함] 작업지시를 열고 메뉴에서 품질을 누른 뒤\n *\n * i=1 job-order-list → /quality-list ← 덮였다\n * i=2 quality-list → /quality-list\n *\n * 그 결과 **「작업지시」 탭을 눌러도 아무 일이 없었다** — 품질로 가는 주소라 그대로 머문다. 탭이\n * 죽어 보이는 것이 이것이다.\n *\n * 그래서 탭마다 자기 라우트 이름을 들리고, **주소가 자기 것일 때만** 갱신한다. `params` 비교는 그대로\n * 둔다 — 검색어처럼 질의만 바뀌는 항해도 탭 주소가 따라가야 한다.\n */\n updated() {\n const { activePage, resourceId, params, context, page: routeName } = this._routeCtrl\n\n /* refresh를 일으키기위한 property 변경을 위한 코드임. */\n this.title = context?.title || context?.search?.placeholder || ''\n\n const activePageChanged = activePage !== this._prevActivePage\n const routeDetailsChanged = resourceId !== this._prevResourceId || params !== this._prevParams\n\n this._prevActivePage = activePage\n this._prevResourceId = resourceId\n this._prevParams = params\n\n if (activePageChanged || routeDetailsChanged) {\n if (!activePage) {\n return\n }\n\n const page = activePage\n\n if (location.pathname == this.getHomeRoute()) {\n this.routes[0].page = page\n return\n }\n\n var route = this.routes.find(route => route.page === page)\n\n if (!route) {\n this.routes = [...this.routes, { page, url: location.href, name: routeName }]\n } else if (route.name === routeName) {\n /* 자기 주소다 — 같은 화면 안에서 resourceId 나 질의가 바뀐 경우가 여기 온다. */\n route.url = location.href\n } else if (activePageChanged) {\n /*\n * 같은 요소가 다른 라우트를 맡게 된 경우. 드물지만 그냥 두면 그 탭의 주소가 영구히 낡는다.\n * `activePageChanged` 로 가른다 — 위 ①의 어긋난 순간에는 이 값이 거짓이다.\n */\n route.name = routeName\n route.url = location.href\n }\n }\n }\n\n onScrollByArrow(delta: number) {\n this.scroller.scrollLeft -= delta * 10\n\n this.requestUpdate()\n }\n\n onWheelEvent(e: Event) {\n const target = e.currentTarget as HTMLDivElement\n\n var delta = Math.max(-1, Math.min(1, (e as WheelEvent).deltaY || -(e as WheelEvent).detail))\n target.scrollLeft -= delta * 10\n\n this.requestUpdate()\n\n e.preventDefault()\n }\n\n getHomeRoute() {\n var base = document.querySelector('base')\n return base?.getAttribute('href') || '/'\n }\n\n moveTo(route: { page?: PageView; url: string; name?: string }) {\n navigate(route.url)\n }\n\n moveToHome() {\n navigate(this.getHomeRoute())\n }\n\n closePage(route: { page?: PageView; url: string; name?: string }, idx: number) {\n this.routes = [...this.routes.slice(0, idx), ...this.routes.slice(idx + 1)]\n const page = route.page!\n\n page.parentNode?.removeChild(page)\n page.pageDispose()\n\n if (this._routeCtrl.activePage === page) {\n const next = this.routes.length > 0 ? Math.max(0, idx - 1) : -1\n navigate(next != -1 ? this.routes[next].url : this.getHomeRoute())\n }\n }\n\n /* 현재 활성 탭을 제외한 모든 탭을 닫는 함수 */\n async closeOtherPagesFromActive() {\n if (this.routes.length <= 1) return\n\n const result = await OxPrompt.open({\n type: 'info',\n title: '',\n text: i18next.t('text.confirm_close_all_tabs'),\n confirmButton: { text: i18next.t('button.confirm') },\n cancelButton: { text: i18next.t('button.cancel') }\n })\n if (!result) return\n\n const activeRoute = this.routes.find(route => route.page === this._routeCtrl.activePage)\n\n this.routes.slice(1).forEach(route => {\n if (route === activeRoute) return\n\n const page = route.page!\n page.parentNode?.removeChild(page)\n page.pageDispose()\n })\n\n this.routes = activeRoute && activeRoute !== this.routes[0] ? [this.routes[0], activeRoute] : [this.routes[0]]\n\n navigate(activeRoute?.url || this.routes[0].url)\n }\n\n async closeAllPage() {\n const result = await OxPrompt.open({\n type: 'info',\n title: '',\n text: i18next.t('text.confirm_close_all_tabs'),\n confirmButton: { text: i18next.t('button.confirm') },\n cancelButton: { text: i18next.t('button.cancel') }\n })\n if (!result) return\n\n this.routes.slice(1).forEach((route, idx) => {\n const page = route.page!\n\n page.parentNode?.removeChild(page)\n page.pageDispose()\n })\n\n this.routes = [this.routes[0]]\n\n navigate(this.routes[0].url)\n }\n\n closeOtherPages(route: { page?: PageView; url: string; name?: string }, idx: number) {\n this.routes.slice(1).forEach((route, idx) => {\n if (route === route) {\n return\n }\n\n const page = route.page!\n\n page.parentNode?.removeChild(page)\n page.pageDispose()\n })\n\n this.routes = [this.routes[0], route]\n\n navigate(route.url)\n }\n\n openContextMenu(e: MouseEvent) {\n OxPopupMenu.open({\n template: html`\n ${this.contextMenuTargetRoute\n ? html`\n <ox-popup-menuitem\n label=\"close\"\n @select=${(e: Event) => {\n this.closePage(this.contextMenuTargetRoute!, this.contextMenuTargetIndex!)\n }}\n >\n <md-icon slot=\"icon\">close</md-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=\"close others\"\n @select=${(e: Event) => {\n this.closeOtherPages(this.contextMenuTargetRoute!, this.contextMenuTargetIndex!)\n }}\n >\n <md-icon slot=\"icon\">cancel</md-icon>\n </ox-popup-menuitem>\n `\n : nothing}\n\n <ox-popup-menuitem\n label=\"close all\"\n @select=${(e: Event) => {\n this.closeAllPage()\n }}\n >\n <md-icon slot=\"icon\">disabled_by_default</md-icon>\n </ox-popup-menuitem>\n `,\n top: e.clientY,\n left: e.clientX,\n parent: document.body\n })\n }\n}\n"]}
1
+ {"version":3,"file":"page-mdibar.js","sourceRoot":"","sources":["../../client/layout/page-mdibar.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/popup/ox-popup-menu.js'\n\nimport { css, html, nothing, LitElement } from 'lit'\nimport { customElement, query, state } from 'lit/decorators.js'\n\nimport { navigate, PageView, RouteController } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { OxPopupMenu } from '@operato/popup/ox-popup-menu.js'\nimport { OxPrompt } from '@operato/popup'\n\nimport { mdibarStandsAside } from './mdibar-visibility.js'\nimport { keepOnly, nextAfterClose, withoutRoute, type MdiRoute } from './mdibar-routes.js'\n\n@customElement('page-mdibar')\nexport class PageMDIBar extends localize(i18next)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n background-color: var(--md-sys-color-secondary-container);\n color: var(--md-sys-color-on-secondary-container);\n font-size: var(--fontsize-small);\n overflow: hidden;\n align-items: stretch;\n }\n\n /* The active page asked for no tab bar (context.mdibar === false). */\n :host([hidden]) {\n display: none;\n }\n\n div {\n box-sizing: border-box;\n }\n\n div[routes] {\n flex: 1;\n\n display: flex;\n overflow: hidden;\n }\n\n div[route] {\n display: inline-block;\n position: relative;\n min-width: var(--mdibar-min-width, 100px);\n max-width: var(--mdibar-max-width, 150px);\n padding: var(--mdibar-padding, 3px 22px 1px 7px);\n /*\n * ── 탭은 위 두 모서리만 둥글다 ──────────────────────────────────────\n *\n * 탭의 은유는 **앞으로 나온 종이**다. 그래서 위는 둥글고 **아래는 각져서** 아래 판에\n * 붙는다. 밑변이 각진 것이 「이 탭이 저 판의 손잡이」라고 말하는 자리다.\n *\n * 모서리 값은 담는 면을 따른다(동심 모서리) — 이 띠는 평평한 면이므로 작은 눈금 6px 이다.\n * 팝업 카드(16px) 안의 컨트롤이 알약인 것과 같은 원칙이고, 반대쪽 끝이다.\n *\n * ── 전에 여기 있던 것 ───────────────────────────────────────────────\n * border-right / border-top / border-bottom: var(--border-dim-color)\n *\n * 탭마다 세 면에 선이 있었다. **걷은 것은 그 선이 죽어서가 아니라, 이 모양에서 선이\n * 너무 많아서다.** 26px 띠에 탭 셋이면 세로선이 셋이고, 여기에 활성 탭의 윤곽 한 올과\n * 아래 판의 경계까지 겹친다. 위가 둥근 활성 탭이 한 장으로 떠오르면 비활성 자리는\n * 물러나 있는 것으로 충분하다.\n *\n * ── 한때 「죽은 선언」이라고 적었다. 틀렸다 ────────────────────────────\n * --border-dim-color 를 못 찾아 무효 선언이라고 단정했는데, 그 토큰은 **테두리 값 한\n * 벌을 통째로** 담고 있다(이름이 -color 로 끝나지만 색이 아니다).\n *\n * shell/client/themes/app-theme.css body { --border-dim-color: 1px solid var(--md-sys-color-outline-variant) }\n *\n * 못 찾은 이유는 :root 에서 읽었기 때문이다 — 선택자가 body 다. 그래서 단축 속성에\n * 쓰이던 이 넷은 **살아서 칠하고 있었다.** 색 자리(border-*-color)에 쓰면 그때 죽는다.\n *\n * [확인함] 2026-09-04 · body 값 「1px solid rgb(214 219 224)」 ·\n * border-bottom: var(--border-dim-color) 가 1px solid #d6dbe0 로 계산된다 ·\n * 바 #e4e8ed · 활성 탭 #f0f2f4 · 본문 바닥 #f0f2f4\n */\n border-radius: var(--mdibar-tab-radius, 6px) var(--mdibar-tab-radius, 6px) 0 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-transform: capitalize;\n cursor: pointer;\n }\n\n div[arrows] {\n display: flex;\n /*\n * border: var(--border-dim-color) 였다 — 화살표 세 개를 상자로 둘러쌌다. 걷었다.\n * 그 셋은 이미 각자 동그라미를 받으므로 무리를 상자로 또 묶을 이유가 없다.\n * (그 선언은 살아 있었다. 위 div[route] 의 주석에 그 토큰 이야기를 적어 두었다.)\n */\n align-items: center;\n }\n\n /*\n * 흐림을 여기서 걷었다. 아래에서 이 셋에 **색을 직접 주고**(평소 --ui-muted · 못 누를 때\n * --ui-faint) 있어서, 흐림이 그 위에 또 얹히면 두 번 흐려진다. 「모두 닫기」가 야간 화면에서\n * 1.78:1 이었다(실측 2026-09-05 · UI 요소 기준 3:1).\n */\n div[arrows] * {\n font-size: var(--mdibar-icon-size, 24px);\n flex: 1;\n }\n\n /*\n * 흐림은 0.5 였다. 색까지 함께 흐린 자리가 있어 **두 번 흐려졌고**, 홈 아이콘이 밝은 화면에서\n * 2.93:1 이 됐다(실측 2026-09-05). 0.7 이면 4.3 으로 UI 요소 기준을 넘고, 탭 이름보다\n * 뒤에 서는 것은 그대로다.\n */\n md-icon {\n --md-icon-size: var(--mdibar-icon-size, 18px);\n opacity: 0.7;\n }\n\n md-icon:hover {\n opacity: 0.8;\n color: var(--md-sys-color-secondary);\n }\n\n /*\n * 탭 줄 오른쪽의 단추들 — 모두 닫기 · 좌우 이동.\n *\n * 전에는 글리프가 24px 인데 상자가 18px 이라 **넘쳤고**, 색이 rgb(32,39,47) 거의 검정이라 탭 줄\n * 에서 가장 진했다. 탭 이름보다 장치가 눈에 먼저 들어왔다. [확인함] 2026-09-02\n *\n * 상자와 글리프를 같은 값으로 맞추고, 평소에는 흐리게 두었다가 마우스가 오면 진해진다. 배경은\n * 동그라미로 든다 — 셀 안 단추와 같은 어휘다.\n */\n div[arrows] md-icon {\n --md-icon-size: 18px;\n font-size: 18px;\n width: 18px;\n height: 18px;\n padding: 3px;\n border-radius: 50%;\n color: var(--ui-muted, #57676f);\n cursor: pointer;\n transition:\n background-color 0.12s ease,\n color 0.12s ease;\n }\n\n div[arrows] md-icon:not([disabled]):hover {\n color: var(--ui-ink, #17272f);\n background-color: var(--ui-hover, rgba(0, 0, 0, 0.06));\n }\n\n /*\n * 「모두 닫기」는 채운 글리프로 그려진다. 외곽선으로 바꾼다 — 옆의 화살표가 외곽선이라 셋이 한\n * 무리로 읽혀야 한다.\n */\n div[arrows] md-icon[close-all] {\n margin: 0 2px;\n font-variation-settings: 'FILL' 0;\n }\n\n div[arrows] md-icon[disabled] {\n opacity: 0.35;\n color: var(--ui-faint, #8a959c);\n cursor: default;\n }\n\n /*\n * 탭을 닫는 × — **옆의 화살표들과 같은 어휘로** 그린다.\n *\n * 확인해 보니 한 26px 띠 안에서 같은 종류가 어휘가 둘이었다.\n *\n * 탭의 × 18×18 · padding 0 · radius 0 · #20272f 를 50% 흐림 · hover 는 흐림만\n * 바의 화살표 24×24 · padding 3 · radius 50% · --ui-muted · hover 에 배경 동그라미\n *\n * 화살표 쪽은 이틀 전에 정리했고(위 블록) 이쪽은 받지 못했다. 그래서 셋이 걸렸다.\n *\n * ① 누를 자리가 18px 다. 옆의 것이 24px 이고, 탭을 닫는 것은 되돌리기 어려운 동작이다\n * ② hover 가 흐림만 바꾼다 — 배경이 없으면 단추로 읽히지 않는다\n * ③ 색이 자기 색이 아니다. 잉크(#20272f)를 흐린 것이라 탭 이름과 같은 무게로 읽혔고,\n * 탭이 셋이면 화면에서 「× × ×」가 이름보다 먼저 한 줄로 읽혔다\n *\n * 글리프를 16px 로 한 단 줄여 padding 3px 을 넣어도 22×22 로 26px 띠에 든다. 위아래\n * 2px 이 남는다 — 화살표와 같은 값(24)을 쓰면 띠에 꽉 차서 모서리를 먹는다.\n *\n * margin-left 를 걷었다 — absolute 배치라 아무 일도 하지 않던 선언이다.\n * 홈 탭의 아이콘은 닫기가 아니므로 뺀다(그쪽은 아래 [home] 규칙이 맡는다).\n */\n div[route]:not([home]) md-icon {\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n\n --md-icon-size: 16px;\n font-size: 16px;\n width: 16px;\n height: 16px;\n padding: 3px;\n border-radius: 50%;\n\n opacity: 1;\n /*\n * ── 색은 **이 띠의 짝 토큰**에서 온다 (2026-09-05) ────────────────\n * --ui-faint 는 페이지 바탕(--md-sys-color-surface)에 맞춰 섞인 값이다. 탭 띠의 바탕은\n * 그것이 아니라 secondary-container 라서, 여기에 그대로 쓰면 바탕에 너무 가까워진다 —\n * 야간 실측 2.07:1 이었다(UI 요소 기준 3:1).\n *\n * 그래서 이 띠의 글자색(on-secondary-container)을 옅게 섞는다. 활성 탭(4.9) · 비활성\n * 탭(5.9) 어느 쪽에 놓여도 넘는다.\n */\n color: color-mix(in srgb, var(--md-sys-color-on-secondary-container) 70%, transparent);\n transition:\n background-color 0.12s ease,\n color 0.12s ease;\n }\n\n div[route]:not([home]) md-icon:hover {\n opacity: 1;\n color: var(--ui-ink, #17272f);\n background-color: var(--ui-hover, rgba(0, 0, 0, 0.06));\n }\n\n /*\n * Centred on both axes, the way the close icons are centred vertically.\n *\n * There used to be two rules with this same selector: one set right: 2px, a later one\n * added left: 0. With width auto both applied, so the box stretched across the tab and\n * the glyph rendered at its left edge — and neither rule set top, so it fell at its\n * static position under the 3px top padding instead of on the band's centre line.\n * [확인함] 2026-09-09 · 사용자 보고 — 홈 아이콘이 치우쳐 보인다\n */\n div[route][home] md-icon {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n /*\n * 비활성 탭도 눌리는 것이다. 마우스가 오면 면으로 말한다 — 옆의 화살표들과 같은 어휘다.\n * 채움 자리(rest)와 이미 열린 탭은 뺀다.\n */\n div[route]:not([active]):not([rest]):hover {\n background-color: var(--ui-hover, rgba(0, 0, 0, 0.05));\n }\n\n /*\n * 활성 탭은 **아래 판과 한 장**이다.\n *\n * 채움색이 --md-sys-color-background 인 것은 그 뜻이었다 — 본문 바닥과 같은 색이라\n * 이어져 보이게. [확인함] 둘 다 #f0f2f4 로 실제 같다.\n *\n * 거기에 두 가지를 더한다.\n *\n * 위·좌·우 실선 한 올 떠오른 종이의 윤곽. 밝기 5% 차이만으로는 경계가 안 읽혔다\n * 밑변은 판의 색 선을 잇지 않는다 — 그 1px 이 탭과 판을 잇는 자리다\n */\n div[route][active] {\n background-color: var(--md-sys-color-background);\n border: 1px solid var(--md-sys-color-outline-variant);\n border-bottom-color: var(--md-sys-color-background);\n color: var(--md-sys-color-on-background);\n font-weight: bold;\n }\n\n div[route][home] {\n /*\n * The icon is positioned, so this padding is only reserving the tab's width — 28px,\n * the same total as before. It was 23px on the left against 5px on the right, and 0 at\n * the bottom where its siblings have 1px, which left the glyph off to one side and a\n * pixel higher than the other tabs.\n */\n padding: var(--mdibar-padding-home, 3px 14px 1px 14px);\n overflow: visible;\n min-width: unset;\n max-width: unset;\n }\n\n div[route][rest] {\n flex: 1;\n min-width: unset;\n max-width: unset;\n border-right: unset;\n }\n `\n ]\n\n /**\n * 열린 탭들. `routes[0]` 은 홈이다(render 에서 따로 그린다).\n *\n * `name` 은 그 탭이 맡은 **라우트 이름**이다(`job-order-list` 같은 것). 주소를 갱신할 때 「이 주소가\n * 정말 이 탭의 것인가」를 판정하는 데 쓴다 — 없으면 남의 주소가 찍힌다(updated 머리말 참조).\n */\n @state() routes: { page?: PageView; url: string; name?: string }[] = [{ url: this.getHomeRoute() }]\n @state() title: string = ''\n\n private _routeCtrl = new RouteController(this)\n\n @query('[routes]') scroller!: HTMLDivElement\n @query('#context-menu') contextMenu!: HTMLDivElement\n\n private contextMenuTargetRoute?: MdiRoute<PageView>\n\n /**\n * Pages this bar closed. While a close navigates to the next tab there is a moment when the address is\n * already the next page's but the active page is still the closed one; `updated()` must not take that\n * page back in as a new tab (it did, with the next page's address - the closed tab came back at the end\n * and had to be closed again).\n */\n private closed = new WeakSet<object>()\n\n willUpdate() {\n /* Every update, so leaving such a page shows the bar again. */\n this.hidden = mdibarStandsAside(this._routeCtrl.context)\n }\n\n render() {\n const home = this.routes[0]\n const routes = this.routes.slice(1)\n\n return html`\n <div\n home\n route\n ?active=${this._routeCtrl.activePage === home.page}\n @click=${() => this.moveToHome()}\n @contextmenu=${(e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n delete this.contextMenuTargetRoute\n\n this.openContextMenu(e)\n }}\n >\n <md-icon>home</md-icon>&#8203;\n </div>\n\n <div\n routes\n @mousewheel=${this.onWheelEvent.bind(this)}\n @contextmenu=${(e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n delete this.contextMenuTargetRoute\n\n this.openContextMenu(e)\n }}\n >\n ${routes.map(route => {\n const context = route.page?.context as any\n const title = context?.title || context?.search?.placeholder || ''\n\n return html`\n <div\n @contextmenu=${(e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.contextMenuTargetRoute = route\n\n this.openContextMenu(e)\n }}\n @click=${() => this.moveTo(route)}\n ?active=${this._routeCtrl.activePage === route.page}\n route\n >\n ${typeof title == 'object' ? title.text : title}\n <md-icon\n title=${i18next.t('button.close-tab')}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this.closePage(route)\n }}\n >close</md-icon\n >\n </div>\n `\n })}\n <div rest route></div>\n </div>\n\n <div arrows>\n <md-icon\n close-all\n title=${i18next.t('button.close-other-tabs')}\n ?disabled=${this.routes.length <= 1}\n @click=${() => this.closeOtherPagesFromActive()}\n >tab_close</md-icon\n >\n <md-icon ?disabled=${!this.scroller || this.scroller.scrollLeft <= 0} @click=${() => this.onScrollByArrow(1)}\n >arrow_left</md-icon\n >\n <md-icon\n ?disabled=${!this.scroller ||\n this.scroller.scrollWidth <= this.scroller.offsetWidth + this.scroller.scrollLeft}\n @click=${() => this.onScrollByArrow(-1)}\n >arrow_right</md-icon\n >\n </div>\n `\n }\n\n private _prevActivePage?: any\n private _prevResourceId?: string\n private _prevParams?: any\n\n /**\n * 열린 탭 목록을 주소와 맞춘다.\n *\n * ── 남의 주소가 찍히던 결함 (2026-09-02) ──────────────────────────────────\n * 항해 한 번에 이 함수가 **두 번** 지나간다. 그 사이에 주소와 활성 페이지가 어긋나 있는 순간이 있다.\n *\n * ① navigate 주소가 새 페이지로 바뀐다. 활성 페이지는 **아직 옛 페이지**다\n * ② 나중에 새 페이지가 붙고 활성 페이지가 바뀐다\n *\n * ①에서도 이 블록이 돌았다. `params` 는 항해마다 새 객체라(`shell/actions/route.js` 의\n * `if (!params) { params = {} }`) 아래 `params !== this._prevParams` 가 **항상 참**이기 때문이다.\n * 그래서 옛 탭을 찾아 새 주소를 찍었다.\n *\n * [확인함] 작업지시를 열고 메뉴에서 품질을 누른 뒤\n *\n * i=1 job-order-list → /quality-list ← 덮였다\n * i=2 quality-list → /quality-list\n *\n * 그 결과 **「작업지시」 탭을 눌러도 아무 일이 없었다** — 품질로 가는 주소라 그대로 머문다. 탭이\n * 죽어 보이는 것이 이것이다.\n *\n * 그래서 탭마다 자기 라우트 이름을 들리고, **주소가 자기 것일 때만** 갱신한다. `params` 비교는 그대로\n * 둔다 — 검색어처럼 질의만 바뀌는 항해도 탭 주소가 따라가야 한다.\n */\n updated() {\n const { activePage, resourceId, params, context, page: routeName } = this._routeCtrl\n\n /* refresh를 일으키기위한 property 변경을 위한 코드임. */\n this.title = context?.title || context?.search?.placeholder || ''\n\n const activePageChanged = activePage !== this._prevActivePage\n const routeDetailsChanged = resourceId !== this._prevResourceId || params !== this._prevParams\n\n this._prevActivePage = activePage\n this._prevResourceId = resourceId\n this._prevParams = params\n\n if (activePageChanged || routeDetailsChanged) {\n if (!activePage) {\n return\n }\n\n const page = activePage\n\n /* A page this bar closed is not a tab any more, whatever the address says at this moment. */\n if (this.closed.has(page)) {\n return\n }\n\n if (location.pathname == this.getHomeRoute()) {\n this.routes[0].page = page\n return\n }\n\n var route = this.routes.find(route => route.page === page)\n\n if (!route) {\n this.routes = [...this.routes, { page, url: location.href, name: routeName }]\n } else if (route.name === routeName) {\n /* 자기 주소다 — 같은 화면 안에서 resourceId 나 질의가 바뀐 경우가 여기 온다. */\n route.url = location.href\n } else if (activePageChanged) {\n /*\n * 같은 요소가 다른 라우트를 맡게 된 경우. 드물지만 그냥 두면 그 탭의 주소가 영구히 낡는다.\n * `activePageChanged` 로 가른다 — 위 ①의 어긋난 순간에는 이 값이 거짓이다.\n */\n route.name = routeName\n route.url = location.href\n }\n }\n }\n\n onScrollByArrow(delta: number) {\n this.scroller.scrollLeft -= delta * 10\n\n this.requestUpdate()\n }\n\n onWheelEvent(e: Event) {\n const target = e.currentTarget as HTMLDivElement\n\n var delta = Math.max(-1, Math.min(1, (e as WheelEvent).deltaY || -(e as WheelEvent).detail))\n target.scrollLeft -= delta * 10\n\n this.requestUpdate()\n\n e.preventDefault()\n }\n\n getHomeRoute() {\n var base = document.querySelector('base')\n return base?.getAttribute('href') || '/'\n }\n\n moveTo(route: { page?: PageView; url: string; name?: string }) {\n navigate(route.url)\n }\n\n moveToHome() {\n navigate(this.getHomeRoute())\n }\n\n /** Takes the page out of the content area and lets it go - and remembers that this bar closed it. */\n private dispose(page?: PageView) {\n if (!page) return\n\n this.closed.add(page)\n page.parentNode?.removeChild(page)\n page.pageDispose()\n }\n\n closePage(route: MdiRoute<PageView>) {\n const { routes, at } = withoutRoute(this.routes, route)\n if (at < 0) return\n\n this.routes = routes\n const wasOnScreen = this._routeCtrl.activePage === route.page\n this.dispose(route.page)\n\n if (wasOnScreen) {\n navigate(nextAfterClose(routes, at).url)\n }\n }\n\n /** Every tab but home and `keep` closes; `keep` comes on screen. */\n closeOtherPages(keep: MdiRoute<PageView>) {\n const { routes, closed } = keepOnly(this.routes, keep)\n\n closed.forEach(route => this.dispose(route.page))\n this.routes = routes\n\n navigate(routes[routes.length - 1].url)\n }\n\n /* 현재 활성 탭을 제외한 모든 탭을 닫는 함수 */\n async closeOtherPagesFromActive() {\n if (this.routes.length <= 1) return\n\n const result = await OxPrompt.open({\n type: 'info',\n title: '',\n text: i18next.t('text.confirm_close_other_tabs'),\n confirmButton: { text: i18next.t('button.confirm') },\n cancelButton: { text: i18next.t('button.cancel') }\n })\n if (!result) return\n\n this.closeOtherPages(this.routes.find(route => route.page === this._routeCtrl.activePage) ?? this.routes[0])\n }\n\n async closeAllPage() {\n const result = await OxPrompt.open({\n type: 'info',\n title: '',\n text: i18next.t('text.confirm_close_all_tabs'),\n confirmButton: { text: i18next.t('button.confirm') },\n cancelButton: { text: i18next.t('button.cancel') }\n })\n if (!result) return\n\n this.closeOtherPages(this.routes[0])\n }\n\n openContextMenu(e: MouseEvent) {\n OxPopupMenu.open({\n template: html`\n ${this.contextMenuTargetRoute\n ? html`\n <ox-popup-menuitem\n label=${i18next.t('button.close-tab')}\n @select=${(e: Event) => {\n this.closePage(this.contextMenuTargetRoute!)\n }}\n >\n <md-icon slot=\"icon\">close</md-icon>\n </ox-popup-menuitem>\n\n <ox-popup-menuitem\n label=${i18next.t('button.close-other-tabs')}\n @select=${(e: Event) => {\n this.closeOtherPages(this.contextMenuTargetRoute!)\n }}\n >\n <md-icon slot=\"icon\">cancel</md-icon>\n </ox-popup-menuitem>\n `\n : nothing}\n\n <ox-popup-menuitem\n label=${i18next.t('button.close-all-tabs')}\n @select=${(e: Event) => {\n this.closeAllPage()\n }}\n >\n <md-icon slot=\"icon\">disabled_by_default</md-icon>\n </ox-popup-menuitem>\n `,\n top: e.clientY,\n left: e.clientX,\n parent: document.body\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@material/web/icon/internal/icon.d.ts","../../../node_modules/@material/web/icon/icon.d.ts","../../../node_modules/@lit/reactive-element/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/decorators.d.ts","../../../node_modules/@operato/shell/dist/src/types/domain.d.ts","../../../node_modules/@operato/shell/dist/src/types/user.d.ts","../../../node_modules/@operato/shell/dist/src/types/role.d.ts","../../../node_modules/@operato/shell/dist/src/types/privilege.d.ts","../../../node_modules/@operato/shell/dist/src/types/types.d.ts","../../../node_modules/@operato/shell/dist/src/types/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@operato/shell/dist/src/lazy-reducer-enhancer.d.ts","../../../node_modules/@operato/shell/dist/src/store.d.ts","../../../node_modules/@operato/shell/dist/src/actions/app.d.ts","../../../node_modules/@operato/shell/dist/src/actions/route.d.ts","../../../node_modules/@operato/shell/dist/src/actions/busy.d.ts","../../../node_modules/@operato/shell/dist/src/actions/const.d.ts","../../../node_modules/@operato/shell/dist/src/actions/index.d.ts","../../../node_modules/@operato/shell/dist/src/app/pages/page-view.d.ts","../../../node_modules/@operato/shell/dist/src/object-store.d.ts","../../../node_modules/@operato/shell/dist/src/custom-alert.d.ts","../../../node_modules/@operato/shell/dist/src/connect-mixin.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/app-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/context-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/font-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/layout-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/menu-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/route-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/snackbar-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/index.d.ts","../../../node_modules/@operato/shell/dist/src/require-custom-element.d.ts","../../../node_modules/@operato/shell/dist/src/drafts/draft-store.d.ts","../../../node_modules/@operato/shell/dist/src/drafts/unsaved-draft-controller.d.ts","../../../node_modules/@operato/shell/dist/src/index.d.ts","../../../node_modules/@operato/layout/dist/src/initializer.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup-list.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup-menu.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup-menuitem.d.ts","../../../node_modules/@material/web/elevation/internal/elevation.d.ts","../../../node_modules/@material/web/elevation/elevation.d.ts","../../../node_modules/@material/web/internal/controller/attachable-controller.d.ts","../../../node_modules/@material/web/focus/internal/focus-ring.d.ts","../../../node_modules/@material/web/focus/md-focus-ring.d.ts","../../../node_modules/@material/web/ripple/internal/ripple.d.ts","../../../node_modules/@material/web/ripple/ripple.d.ts","../../../node_modules/@material/web/labs/behaviors/mixin.d.ts","../../../node_modules/@material/web/labs/behaviors/element-internals.d.ts","../../../node_modules/@material/web/labs/behaviors/form-associated.d.ts","../../../node_modules/@material/web/labs/behaviors/form-submitter.d.ts","../../../node_modules/@material/web/button/internal/button.d.ts","../../../node_modules/@material/web/button/internal/filled-button.d.ts","../../../node_modules/@material/web/button/filled-button.d.ts","../../../node_modules/@material/web/button/internal/text-button.d.ts","../../../node_modules/@material/web/button/text-button.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup-actions.d.ts","../../../node_modules/@operato/popup/dist/src/ox-prompt.d.ts","../../../node_modules/@operato/popup/dist/src/ox-floating-overlay.d.ts","../../../node_modules/@operato/popup/dist/src/open-popup.d.ts","../../../node_modules/@operato/popup/dist/src/index.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-snack-bar.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-resize-splitter.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-header-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-nav-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-aside-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-footer-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-page-header-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-page-footer-bar.d.ts","../../../node_modules/@operato/layout/dist/src/actions/layout.d.ts","../../../node_modules/@operato/layout/dist/src/actions/snackbar.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-split-pane.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-entity360-dock.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-three-pane.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-canvas-bar.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-url-tabs.d.ts","../../../node_modules/@operato/layout/dist/src/actions/entity360.d.ts","../../../node_modules/@operato/layout/dist/src/actions/entity360-registry.d.ts","../../../node_modules/@operato/layout/dist/src/actions/entity360-door.d.ts","../../../node_modules/@operato/layout/dist/src/actions/entity360-name.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-entity360-section.d.ts","../../../node_modules/@operato/layout/dist/src/index.d.ts","../client/layout/app-toolbar.ts","../../../node_modules/i18next/typescript/helpers.d.ts","../../../node_modules/i18next/typescript/options.d.ts","../../../node_modules/i18next/typescript/t.d.ts","../../../node_modules/i18next/index.d.ts","../../../node_modules/@operato/i18n/dist/src/config.d.ts","../../../node_modules/@operato/i18n/dist/src/localize.d.ts","../../../node_modules/@operato/i18n/dist/src/ox-i18n.d.ts","../../../node_modules/@operato/i18n/dist/src/ox-i18n-selector.d.ts","../../../node_modules/@operato/i18n/dist/src/index.d.ts","../client/layout/header-band-model.ts","../client/layout/header-scope.ts","../client/layout/app-header-band.ts","../../../node_modules/@material/web/progress/internal/progress.d.ts","../../../node_modules/@material/web/progress/internal/linear-progress.d.ts","../../../node_modules/@material/web/progress/linear-progress.d.ts","../client/layout/app-busybar.ts","../client/layout/mdibar-visibility.ts","../client/layout/page-mdibar.ts","../client/layout/page-toolbar.ts","../../../node_modules/@material/web/labs/behaviors/validators/validator.d.ts","../../../node_modules/@material/web/labs/behaviors/constraint-validation.d.ts","../../../node_modules/@material/web/labs/behaviors/validators/checkbox-validator.d.ts","../../../node_modules/@material/web/checkbox/internal/checkbox.d.ts","../../../node_modules/@material/web/checkbox/checkbox.d.ts","../client/mdibar-setting-state.ts","../client/mdibar-setting-let.ts","../../../node_modules/@operato/utils/dist/src/sleep.d.ts","../../../node_modules/@operato/utils/dist/src/async-lock.d.ts","../../../node_modules/@operato/utils/dist/src/file-drop-helper.d.ts","../../../node_modules/@operato/utils/dist/src/context-path.d.ts","../../../node_modules/@operato/utils/dist/src/os.d.ts","../../../node_modules/@operato/utils/dist/src/swipe-listener.d.ts","../../../node_modules/@operato/utils/dist/src/fullscreen.d.ts","../../../node_modules/@operato/utils/dist/src/parse-jwt.d.ts","../../../node_modules/@operato/utils/dist/src/password-pattern.d.ts","../../../node_modules/@operato/utils/dist/src/closest-element.d.ts","../../../node_modules/@operato/utils/dist/src/detect-overflow.d.ts","../../../node_modules/@operato/utils/dist/src/has-overflow.d.ts","../../../node_modules/@operato/utils/dist/src/timecapsule/snapshot-taker.d.ts","../../../node_modules/@operato/utils/dist/src/timecapsule/timecapsule.d.ts","../../../node_modules/@operato/utils/dist/src/timecapsule/index.d.ts","../../../node_modules/@operato/utils/dist/src/clipboard.d.ts","../../../node_modules/@operato/utils/dist/src/format.d.ts","../../../node_modules/@operato/utils/dist/src/adjust-list-param.d.ts","../../../node_modules/@operato/utils/dist/src/is-unvalued.d.ts","../../../node_modules/@operato/utils/dist/src/stringify-bignum.d.ts","../../../node_modules/@operato/utils/dist/src/encode-form-params.d.ts","../../../node_modules/@operato/utils/dist/src/cookie.d.ts","../../../node_modules/@operato/utils/dist/src/number-parser.d.ts","../../../node_modules/@operato/utils/dist/src/longpressable.d.ts","../../../node_modules/@operato/utils/dist/src/decode-html.d.ts","../../../node_modules/@operato/utils/dist/src/script-loader.d.ts","../../../node_modules/@operato/utils/dist/src/google-maps-loader.d.ts","../../../node_modules/@operato/utils/dist/src/reactive-controllers/tooltip-reactive-controller.d.ts","../../../node_modules/@operato/utils/dist/src/reactive-controllers/index.d.ts","../../../node_modules/@operato/utils/dist/src/index.d.ts","../../setting-base/dist-client/actions/setting.d.ts","../../setting-base/dist-client/layout/settinglet.d.ts","../../setting-base/dist-client/index.d.ts","../client/index.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/ffi.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vfs.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[224,289,297,302,305,307,308,309,322],[224,289,297,302,305,307,308,309,322,353],[74,224,289,297,302,305,307,308,309,322],[65,74,224,289,297,302,305,307,308,309,322],[65,74,82,224,289,297,302,305,307,308,309,322],[76,224,289,297,302,305,307,308,309,322],[63,64,224,289,297,302,305,307,308,309,322],[71,132,224,289,297,302,305,307,308,309,322],[68,71,124,126,127,128,129,130,224,289,297,302,305,307,308,309,322],[68,121,131,224,289,297,302,305,307,308,309,322],[131,224,289,297,302,305,307,308,309,322],[71,134,224,289,297,302,305,307,308,309,322],[71,185,224,289,297,302,305,307,308,309,322],[68,71,124,126,127,128,129,183,184,224,289,297,302,305,307,308,309,322],[71,120,224,289,297,302,305,307,308,309,322],[68,71,224,289,297,302,305,307,308,309,322],[71,122,224,289,297,302,305,307,308,309,322],[71,123,224,289,297,302,305,307,308,309,322],[71,72,224,289,297,302,305,307,308,309,322],[71,224,289,297,302,305,307,308,309,322],[71,127,128,129,182,224,289,297,302,305,307,308,309,322],[71,127,224,289,297,302,305,307,308,309,322],[71,127,128,224,289,297,302,305,307,308,309,322],[182,224,289,297,302,305,307,308,309,322],[68,175,224,289,297,302,305,307,308,309,322],[71,176,224,289,297,302,305,307,308,309,322],[68,71,122,224,289,297,302,305,307,308,309,322],[71,125,224,289,297,302,305,307,308,309,322],[166,224,289,297,302,305,307,308,309,322],[167,168,169,170,224,289,297,302,305,307,308,309,322],[71,166,224,289,297,302,305,307,308,309,322],[152,224,289,297,302,305,307,308,309,322],[71,140,224,289,297,302,305,307,308,309,322],[91,224,289,297,302,305,307,308,309,322],[68,71,73,153,224,289,297,302,305,307,308,309,322],[71,73,224,289,297,302,305,307,308,309,322],[68,71,158,224,289,297,302,305,307,308,309,322],[115,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,224,289,297,302,305,307,308,309,322],[114,224,289,297,302,305,307,308,309,322],[138,142,224,289,297,302,305,307,308,309,322],[73,135,224,289,297,302,305,307,308,309,322],[116,117,118,119,136,137,139,224,289,297,302,305,307,308,309,322],[71,138,224,289,297,302,305,307,308,309,322],[68,71,73,224,289,297,302,305,307,308,309,322],[68,71,73,116,224,289,297,302,305,307,308,309,322],[68,71,116,224,289,297,302,305,307,308,309,322],[68,71,118,224,289,297,302,305,307,308,309,322],[68,71,73,133,135,136,224,289,297,302,305,307,308,309,322],[94,95,96,97,224,289,297,302,305,307,308,309,322],[103,104,105,106,107,108,109,224,289,297,302,305,307,308,309,322],[71,112,224,289,297,302,305,307,308,309,322],[90,93,98,99,100,101,102,110,111,112,113,224,289,297,302,305,307,308,309,322],[91,92,224,289,297,302,305,307,308,309,322],[85,86,87,88,89,224,289,297,302,305,307,308,309,322],[86,87,224,289,297,302,305,307,308,309,322],[85,86,88,224,289,297,302,305,307,308,309,322],[189,190,191,192,193,194,195,196,197,198,199,200,203,204,205,206,207,208,209,210,211,212,213,214,215,217,224,289,297,302,305,307,308,309,322],[216,224,289,297,302,305,307,308,309,322],[201,202,224,289,297,302,305,307,308,309,322],[202,224,289,297,302,305,307,308,309,322],[201,224,289,297,302,305,307,308,309,322],[224,289,297,302,305,307,308,309,322,355,358],[224,286,287,289,297,302,305,307,308,309,322],[224,288,289,297,302,305,307,308,309,322],[289,297,302,305,307,308,309,322],[224,289,297,302,305,307,308,309,322,331],[224,289,290,295,297,300,302,305,307,308,309,311,322,327,340],[224,289,290,291,297,300,302,305,307,308,309,322],[224,289,292,297,302,305,307,308,309,322,341],[224,289,293,294,297,302,305,307,308,309,313,322],[224,289,294,297,302,305,307,308,309,322,327,337],[224,289,295,297,300,302,305,307,308,309,311,322],[224,288,289,296,297,302,305,307,308,309,322],[224,289,297,298,302,305,307,308,309,322],[224,289,297,299,300,302,305,307,308,309,322],[224,288,289,297,300,302,305,307,308,309,322],[224,289,297,300,302,303,305,307,308,309,322,327,340],[224,289,297,300,302,303,305,307,308,309,322,329,331],[224,276,289,297,300,302,304,305,307,308,309,311,322,327,340],[224,289,297,300,302,304,305,307,308,309,311,322,327,337,340],[224,289,297,302,304,305,306,307,308,309,322,327,337,340],[223,224,225,226,227,228,229,230,231,232,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349],[224,289,297,300,302,305,307,308,309,322],[224,289,297,302,305,307,309,322],[224,289,297,302,305,307,308,309,310,322,340],[224,289,297,300,302,305,307,308,309,311,322,327],[224,289,297,302,305,307,308,309,313,322],[224,289,297,302,305,307,308,309,314,322],[224,289,297,300,302,305,307,308,309,317,322],[224,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348],[224,289,297,302,305,307,308,309,319,322],[224,289,297,302,305,307,308,309,320,322],[224,289,294,297,302,303,305,307,308,309,311,322,329,337],[224,289,297,300,302,305,307,308,309,322,323],[224,289,297,302,305,307,308,309,322,324,341,345],[224,289,297,300,302,305,307,308,309,322,327,329,330,331],[224,289,297,302,305,307,308,309,322,328,331],[224,289,297,300,302,305,307,308,309,322,327,329],[224,289,297,300,302,305,307,308,309,322,327,330,331],[224,289,297,302,305,307,308,309,322,331,341],[224,289,297,302,305,307,308,309,322,332],[224,286,289,297,302,305,307,308,309,322,327,334,340],[224,289,297,302,305,307,308,309,322,327,333],[224,289,297,300,302,305,307,308,309,322,335,336],[224,289,297,302,305,307,308,309,322,335,336],[224,289,294,297,302,305,307,308,309,311,322,327,337],[224,289,297,302,305,307,308,309,322,338],[224,289,297,302,305,307,308,309,311,322,339],[224,289,297,302,304,305,307,308,309,320,322,340],[224,289,297,302,305,307,308,309,322,341,342],[224,289,294,297,302,305,307,308,309,322,342],[224,289,297,302,305,307,308,309,322,327,343],[224,289,297,302,303,305,307,308,309,322],[224,289,297,302,305,307,308,309,310,322,345],[224,289,297,302,305,307,308,309,322,346],[224,289,292,297,302,305,307,308,309,322],[224,289,294,297,302,305,307,308,309,322],[224,289,297,302,305,307,308,309,322,341],[224,276,289,297,302,305,307,308,309,322],[224,289,297,302,305,307,308,309,322,340],[224,289,297,302,305,307,308,309,322,347],[224,289,297,302,305,307,308,309,317,322],[224,289,297,302,305,307,308,309,322,336],[224,276,289,297,300,302,303,305,307,308,309,311,317,322,327,331,340,343,345,347],[224,289,297,302,305,307,308,309,322,327,348],[224,289,297,302,305,307,308,309,322,329,349],[224,289,297,302,305,307,308,309,322,351,357],[163,164,165,224,289,297,302,305,307,308,309,322],[163,224,289,297,302,305,307,308,309,322],[163,164,224,289,297,302,305,307,308,309,322],[224,289,297,302,305,307,308,309,322,355],[224,289,297,302,305,307,308,309,322,352,356],[65,68,224,289,297,302,305,307,308,309,322],[68,224,289,297,302,305,307,308,309,322],[66,67,224,289,297,302,305,307,308,309,322],[75,76,77,78,79,80,81,82,83,224,289,297,302,305,307,308,309,322],[65,68,69,70,224,289,297,302,305,307,308,309,322],[224,289,297,302,305,307,308,309,322,354],[224,239,242,245,246,289,297,302,305,307,308,309,322,340],[224,242,289,297,302,305,307,308,309,322,327,340],[224,242,246,289,297,302,305,307,308,309,322,340],[224,289,297,302,305,307,308,309,322,327],[224,236,289,297,302,305,307,308,309,322],[224,240,289,297,302,305,307,308,309,322],[224,238,239,242,289,297,302,305,307,308,309,322,340],[224,289,297,302,305,307,308,309,311,322,337],[224,289,297,302,305,307,308,309,322,350],[224,236,289,297,302,305,307,308,309,322,350],[224,238,242,289,297,302,305,307,308,309,311,322,340],[224,233,234,235,237,241,289,297,300,302,305,307,308,309,322,327,340],[224,242,289,297,302,305,307,308,309,322],[224,242,251,260,289,297,302,305,307,308,309,322],[224,234,240,289,297,302,305,307,308,309,322],[224,242,270,271,289,297,302,305,307,308,309,322],[224,234,237,242,289,297,302,305,307,308,309,322,331,340,350],[224,238,242,289,297,302,305,307,308,309,322,340],[224,233,289,297,302,305,307,308,309,322],[224,236,237,238,240,241,242,243,244,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,271,272,273,274,275,289,297,302,305,307,308,309,322],[224,242,263,266,289,297,302,305,307,308,309,322],[224,242,251,253,254,289,297,302,305,307,308,309,322],[224,240,242,253,255,289,297,302,305,307,308,309,322],[224,241,289,297,302,305,307,308,309,322],[224,234,236,242,289,297,302,305,307,308,309,322],[224,242,246,253,255,289,297,302,305,307,308,309,322],[224,246,289,297,302,305,307,308,309,322],[224,240,242,245,289,297,302,305,307,308,309,322,340],[224,234,238,242,251,289,297,302,305,307,308,309,322],[224,242,263,289,297,302,305,307,308,309,322],[224,255,289,297,302,305,307,308,309,322],[224,234,238,242,246,289,297,302,305,307,308,309,322],[224,236,242,270,289,297,302,305,307,308,309,322,331,347,350],[62,68,114,161,162,172,173,174,178,180,181,187,188,218,221,224,289,297,302,305,307,308,309,322],[62,71,84,114,177,224,289,297,302,305,307,308,309,322],[62,71,73,84,114,161,171,172,173,224,289,297,302,305,307,308,309,322],[62,71,73,84,114,161,224,289,297,302,305,307,308,309,322],[62,224,289,297,302,305,307,308,309,322],[62,172,224,289,297,302,305,307,308,309,322],[62,71,73,84,114,118,140,171,179,224,289,297,302,305,307,308,309,322],[62,71,84,114,161,224,289,297,302,305,307,308,309,322],[62,71,84,114,161,169,171,186,187,224,289,297,302,305,307,308,309,322],[219,220,224,289,297,302,305,307,308,309,322]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"b93e2680295ac83b52846bcd76dd6d06507d3da1738ebe564a1e99543993b3b4","impliedFormat":99},{"version":"4ae1ed87c59518f4e0918a21409ec3020e97037a386b57953c6b9fed9cad6949","affectsGlobalScope":true,"impliedFormat":99},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"99bdf729529cdbf12e2bf76ea751b662011133dcf9e35abcb3def47bb02f7b0a","impliedFormat":99},{"version":"732fb71ecb695d6f36ddcbb72ebfe4ff6b6491d45101a00fa2b75a26b80d640f","impliedFormat":99},{"version":"039cb05125d7621f8143616c495b8e6b54249c4e64d2754b80ff93867f7f4b01","impliedFormat":99},{"version":"1b81f1fa82ad30af01ab1cae91ccaddc10c48f5916bbd6d282155e44a65d858d","impliedFormat":99},{"version":"a0fc7a02a75802678a67000607f20266cf1a49dc0e787967efe514e31b9ed0c3","impliedFormat":99},{"version":"5ebf098a1d81d400b8af82807cf19893700335cf91a7b9dbd83a5d737af34b11","impliedFormat":99},{"version":"101cf83ac3f9c5e1a7355a02e4fbe988877ef83c4ebec0ff0f02b2af022254a3","impliedFormat":99},{"version":"d017e2fcd44b46ca80cd2b592a6314e75f5caab5bda230f0f4a45e964049a43a","impliedFormat":99},{"version":"a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","impliedFormat":99},{"version":"4d4cf93a6b4c81851ad759e4569b6feb7a701e80b13a6f9d8d9c6012bbb86bd6","impliedFormat":99},{"version":"2e6035af8f3e43bf95e4983329c8277d66f9b271106af27b99a85d1c1b9daf4a","impliedFormat":99},{"version":"df32d43311e85715e2a573239a4bbc5b78ebaf29af2af5fa8c85370197997515","impliedFormat":99},{"version":"3a792bbf677343364a1d9b7197c6e4e512764f17364efd656b1a3598f2a9e820","impliedFormat":99},{"version":"3d7c0b593a29d717b2b2ba3f03f819c3c48bf9e250d79c4a31860af80f177e8c","impliedFormat":99},{"version":"e576aa80090f8b6020355ca8d7f4184067c84389f4b92125be29e03b1f6c5194","impliedFormat":99},{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"487213b1bcbdaa470cf59a4cea3f8a939b9222e74b455fe0fd2f0dc2346cc3c0","impliedFormat":99},{"version":"8a9e962b8c98aa48377773c40ac7a3e530fb3354cec48fdb59d8e2df3a624a0c","affectsGlobalScope":true,"impliedFormat":99},{"version":"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","impliedFormat":99},{"version":"8e33e65ce7fcd3cb20e29505452daa51543003d5db597f1aca2a51ff9043c8a7","impliedFormat":99},{"version":"b42033bf1067564808e4d360d79281667c2b3b0792c2d615ab641eb85974d4ba","impliedFormat":99},{"version":"7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","impliedFormat":99},{"version":"ad3ee9f7d14ad8b7ae8094d0f1a2276656f7a970827d4030d1dead7c2d765f75","impliedFormat":99},{"version":"9c7568f9c75cf6a7d35dc9f18c5971cd5b21344c686c7cce56b3558d3305d40f","impliedFormat":99},{"version":"fc48282c397084016a939e1b3f91dcaf4199b6cba339d91d8b2dc2acade79762","impliedFormat":99},{"version":"3e62a55b950132d6eeacc607b7a1bff990d5484347b2be5a1f54db51af30ff25","impliedFormat":99},{"version":"8b86f33b7e06e2f0a3bf4703cf9d8b0baab016e36b83f2a33dac184f061e17ea","impliedFormat":99},{"version":"88c205bacab539d8e844b80a1ec76fc649fbc731f12dfd7cca160976b5ddfd5a","impliedFormat":99},{"version":"565d32dce0b8761e7cfafe40c56a8a0fab0bb9e7bb35a31d9712643b3c8dbbc4","impliedFormat":99},{"version":"4bde12afd6fdd6e52d7316e00adfbccd70becc3ebd9c4f647d07caef53a474ae","impliedFormat":99},{"version":"a7e588bdba05f1fb78f83e50ee62c93565134d3b996babf2697c2b43fcf17ce0","impliedFormat":99},{"version":"218a0f93d7091c68718ec4260f41f3a61b5ecb7e786a8c04e296292ff41db8f0","impliedFormat":99},{"version":"cf45487aeb18b31f1001b99d06793986ac3e6840b0602f9cf3756a2724348bf4","impliedFormat":99},{"version":"81f0a95843ae6e5a006addc4b5c217b075057ff82c9bc319655de21a13ba9f10","impliedFormat":99},{"version":"1a68f44e90ac5c261a3157004a7ec18759982b91fd725537d6db919d83601dd1","impliedFormat":99},{"version":"daccba798a74fc239523622caf24656e28b78dac33ea8a031682280fd51b0d0f","impliedFormat":99},{"version":"f6a07f563f8ac41831de197155d550379c6d197109ba54d8ffdec21dfa287a6f","impliedFormat":99},{"version":"5c14065b4c2eb2dccb003b6f1e538900a1909de62a338fe3c35ffb267d653953","impliedFormat":99},{"version":"5cee37504a444c12c6633430239f9dd1b26649c19f1e71adaaf4ea5712cc8c62","impliedFormat":99},{"version":"60997095f458b8c2c94af5759c796d9d17678e740a41a04c3e518c14c47f2ee7","impliedFormat":99},{"version":"75069a2a1e380502ff9a1074b8ee61f5e84f31973e5f81b444e6993e5633c72b","affectsGlobalScope":true,"impliedFormat":99},{"version":"8aff91f00938aa90ce829f4d577903d6826fa19e8edc583f7bb64ef1a6b4ae3b","impliedFormat":99},{"version":"986165ecc3a59d4b6a272a92f7ca4fd7a0762c63a674abd2c1efa0bea64da604","impliedFormat":99},{"version":"3e7b241ec38126d95f9e37c49a631c00cff006a888276e2d02920c6443c8b593","impliedFormat":99},{"version":"6184309fe39e2fe444f4ba94e7cd1abef48fcb48e258457c3b77c65828184241","impliedFormat":99},{"version":"98c511f60c3079d731a35353a47bfa89dd79eeacad48a45d07170d22ef4bfd02","affectsGlobalScope":true,"impliedFormat":99},{"version":"905800cc110167503d0cf58bb0dd6fa4aaac1e9cedc9bd9c48e5d1f8b5b8d4c8","impliedFormat":99},{"version":"d17be577b99e59611df19ca2cf0356df554f55bb06617c21321fc4ec06b820d0","impliedFormat":99},{"version":"5f30145fbc8ca508ae4e0d90a4fe9eaff490783f380a92f6aa262accdf7887b7","affectsGlobalScope":true,"impliedFormat":99},{"version":"cefe49d29d43726072e88671a2c40cdeeb8d49ca8fa6c2d4b06013dc7b9d6206","impliedFormat":99},{"version":"f882b77c5939860d599b4b7bc39f741ebcd56123e18b284500f4b8923acd2e72","affectsGlobalScope":true,"impliedFormat":99},{"version":"0230bc76ed3a464531a43d2434d315b9cc2096aaca28bdaa65b8f9dce9f3bc81","impliedFormat":99},{"version":"559d2d1cd7f37dc2ac59e7adce198ad16a5eb0c7273d67b8e4ff72821b7c853f","impliedFormat":99},{"version":"6161d12fc14a8e0cf492f9d49372a1189b1fe005662cb7fe6630352a6b0bb04e","impliedFormat":99},{"version":"7d3c06d4ad79d86c6f7518b77d335b324bc218a7cd8b3e15579c4b584b7307f9","impliedFormat":99},{"version":"65f5bc7ff74eeabe9925da575924601248471033c27bf0384643ea03cad2b57d","impliedFormat":99},{"version":"d08d474654640266d6ac03f51ee04d72438b78ea377b9dc4678c480ce0477e1a","impliedFormat":99},{"version":"929f21090183949e93fd99327d292bff76f781895d5252eb43319b2c3e014528","affectsGlobalScope":true,"impliedFormat":99},{"version":"0f28503979e769f6ee6e55350f621dc00e300f15688d52b02edc62d837d29b1d","impliedFormat":99},{"version":"fe869c79d427e84d916011d082def68a793c3c13e157079fec399f250418bd50","affectsGlobalScope":true,"impliedFormat":99},{"version":"a2afc55ddd24edebefe497c415aee63498b099cef639b85a1bb3163e58649928","impliedFormat":99},{"version":"56a4c77ce6cae2494a4563f57a4a4c64b4857d0483979e101ff2fa7001db3dd1","impliedFormat":99},{"version":"bad37852b83df7a04802c2827fa02f8af046e4d944e0d08e02294d27b2748129","impliedFormat":99},{"version":"1fc3a35588d5f43c8ea68937e60d360d48390f5d454b1e6830659dfce9a7a937","impliedFormat":99},{"version":"c9d3623b528f615e0466361855fbba048e88d381bb5257f23c37062b2fdb6039","impliedFormat":99},{"version":"3c523c4338a858825c62005f03ff49eeaf8290bdda52a8b8554be555bab7a077","impliedFormat":99},{"version":"5582fb24ca35ef8a72d61a095d62ae2ada8143c33bc56febf626e333d3a5b013","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"c0178facd144177de1b1bb22d5083a02b83b8a390519e23e959420fe720aacf2","impliedFormat":99},{"version":"6e815042f98ee8b44cd7f372039ebc2f5ebc13d5be353b29ea7f18f1519b0edf","impliedFormat":99},{"version":"86d239790a025b4f1213571ed5d578b9080415e1218b253b499ed73ac436ae63","impliedFormat":99},{"version":"915fe430f9274e4ccdfefe060bf98660b52e62dcb375e6fbd79f1b1aedc4c170","impliedFormat":99},{"version":"ad9efb41182f5e07976abd80e4b00ac80692f3ab8d55fe3b85d3c282c229b98e","affectsGlobalScope":true,"impliedFormat":99},{"version":"5425a627e508bc6d1ccfb1ea6f8d250f93c6fa7fe034e6f1b03a48e8ce0a3167","affectsGlobalScope":true,"impliedFormat":99},{"version":"7a57df5934cd17f2fd7b640275089eed07e2efe1e29daa2f61e61f1e08dac023","affectsGlobalScope":true,"impliedFormat":99},{"version":"2feadd1c36714a8d2685727cb2b1f56999c850623acbd99aa7a325dd1621dda9","impliedFormat":99},{"version":"05a01baa15b8b4f4c088387ae755b0f55bd6d8bd5d8445c51c4c7915bcdafc3f","impliedFormat":99},{"version":"81715d46da9f89ebedf6cbfb1d436fa6bf847652bd8a125d0893e3b47399f316","impliedFormat":99},{"version":"caf3e0c255508bebccd84112eb0a277561802b9edd833367bd492f745b74a7dc","impliedFormat":99},{"version":"c360546ca0d716d461f18e5fdc72a4b9a6482f2d5dbb1c384213bbc4a6cb35b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"d19235267a3cf397c03160f19fa3a7b24fa686f28e681ad7f761397b54f69d29","impliedFormat":99},{"version":"76cc39dd66a51405ac65334322dde77b59ea9c280c668aebc5e6903c43c4e815","signature":"1011c26502d6f0b281a247ea558b2ac45417ba3d6a4167dfd3a6274236f3390b"},{"version":"e30accdbef6f904f20354b6f598d7f2f7ff29094fc5410c33f63b29b4832172a","impliedFormat":1},{"version":"3786a961459023ec78bb575e5ea74f504d3ffc61ae82a305c959a4d94d7d70eb","impliedFormat":1},{"version":"de83915a380bdd6d7ddf075e3f60fe347db64ad4d06822835724ac601cb61daf","impliedFormat":1},{"version":"4d39c150715cb238da715e5c3fbeac2e2b2d0ef3f23c632996dd59ae35ba1f45","impliedFormat":1},{"version":"0f81a53d54fd2b4ae2bf60067d616de99884bda21cb5784d942089d52319fb97","impliedFormat":99},{"version":"86d356e64ab8d56852623677eb1bed0c106703aed9b7788ad8a5a56e647822cb","impliedFormat":99},{"version":"29dca1b5f0cac95b675f86c7846f9d587ed47cc46609dd00d152bcb37683b069","impliedFormat":99},{"version":"231d829c892caeb88dd469e0847bf9d14e29c82b8b158b381ec866c868adf9af","impliedFormat":99},{"version":"886bcc73e8cf74ebec1bd14a5cc5b8dfa28276210df634e6f81c844b1eef767b","impliedFormat":99},{"version":"5d56dc08791b9291cf8a85971bad14e2882ed42f69be38aaa498baecf763c759","signature":"7e0a37ecb93ffc5911758ae05677e2e37d875c68ce2acf3899a444569bb7f1fd"},{"version":"db5191cff5268d7c5e9e66199075c0d0313c73a5ee19efa0534078efbd4c6713","signature":"3da5b20cb28ca305c09e94729a11be904079e70edf70048b6d225e59b09bd18d"},{"version":"4619656b31ee27f633005cef5c1e4bdc010ecad33ad62e50417b3de0f4c843bb","signature":"fa95e169de5ee315f57bc732ead5e05559efc918288cbfcde1d6a0686f3e1d45"},{"version":"68d9a15b7f0f73b48429f78699f6add7dcdbd5ea0fb9b0e8d90d0ca4c108703b","impliedFormat":99},{"version":"ad8da8b0555d836ffba98091771d1c667aa047b8cc6c17e4f4d7c529edd1db07","impliedFormat":99},{"version":"8a1e35a7afba4291cc1493e02dabf51a4615bae2dad4aa5ccc4de29da4b3a969","affectsGlobalScope":true,"impliedFormat":99},{"version":"902d6edb4158948f5bb161156e917621816bc329216cadcc899a3a31196632c5","signature":"4810e4d61053ca70979ab755a5d07edead929b72f147a9e21302f7f2f4b0a192"},{"version":"88a244229d26f43b83daee2488d5ccaa59826f50b14049be8cb6ce48d9da7188","signature":"c590af97e4e9e225f404b4f48b37c9b8937b4ebd52ddfe2ac6050bba76fb6c60"},{"version":"ce3b1ce6e373c1e21e2a70d7701cc20f31c835acfc7e7626ba83c05288e86654","signature":"aa71b63f814891a3462b5a99dfadd35a1b53c5840ceca5dadefba32aadea0890"},{"version":"8721dbf069b185bc916f9a7a8127c7c231ce419734dfd377620dbf4d478792d2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0d0f0a7057effa894462302bbfab93d0ff82dc88e7eb3b4a40f5c5baf2287e87","impliedFormat":99},{"version":"7a9cada9676068d5bf49db65e12bf45077e5d3597f84bee594073ecdadea3be9","impliedFormat":99},{"version":"906ba9deec2d81b2ba91cda35da7edddc1ed23c74c0c59b635d719ed436c8783","impliedFormat":99},{"version":"fcaa283960450520c3c09c63e1ab2b06137d64a9a28befe8abd117a5db5645b8","impliedFormat":99},{"version":"7b82ae5f317797ad1ef2efd9773b7b13dd2570a20f2581c49ad7f3afb02df670","affectsGlobalScope":true,"impliedFormat":99},{"version":"7cbd21506b971785ecdcdf27f78ade9a4b3f1a82ecf5714318efbe8f61e5459b","signature":"b2b5bfc32e9c9ccf3c13aaa024bc4f19c171fb3cdfe64fa01fce2f94b59e19b6"},{"version":"3d9c01a185c9a271377b32e9fee0be73c682976b8e2a2765762d77801a8821e4","signature":"d679231cfcd16104d887646d9178f559d3b1c3c718563a89cc77d08a34f2559f"},{"version":"05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552","impliedFormat":99},{"version":"f5800813e5c0d6c27d73b76f2c99f39bdfd6229d03553a8a9ae485f6aeb94425","impliedFormat":99},{"version":"4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa","impliedFormat":99},{"version":"b085d2f3c839ad9634c9b1ea8bb2d4e3a321af1392d8ac44a79b99c0d8d194aa","impliedFormat":99},{"version":"ee11b7061adce4a1c0370620949a57851215b152a5632d2faf1aedbc90ad0520","impliedFormat":99},{"version":"f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303","impliedFormat":99},{"version":"85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f","impliedFormat":99},{"version":"39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378","impliedFormat":99},{"version":"4dcdfe4c18557fc02d8cb22cb422cb98bfeba8158aaf18cc66f9d99293ebe2c8","impliedFormat":99},{"version":"7efea6f2270a14f1b0d5f472f2a6fcb0a97beb677299e10b073cc2abdabeef51","impliedFormat":99},{"version":"642bd83dc8b11abc31785975f869fea5ab2dd84246acd13c6ad7e769fea95150","impliedFormat":99},{"version":"712dbb6cc6020b1dae2a2031b8a117717318652f73fd5042d508f7de416c47b7","impliedFormat":99},{"version":"637a5a32ea266fdaa0efa1c4d25ce2eed3b420dcd7836a6952374ddd95aaccaf","impliedFormat":99},{"version":"145e598b9f835b46757263cf952af5b8735d0bfb08a6dff2187f7b5611e17578","impliedFormat":99},{"version":"f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6","impliedFormat":99},{"version":"7fcb76be88d4a64f6318b5a24b57021d7463f24485a3d1a931bf664c7e437534","impliedFormat":99},{"version":"d75490903da576f8fd0ee1c990858cb31e605d3db925593c12728bd0949eedfe","impliedFormat":99},{"version":"098ec42cd54c2b3354584c4fe8ad143040114891dde762741522b62788772f0d","impliedFormat":99},{"version":"1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9","impliedFormat":99},{"version":"30046b0787c577061d43e498b507da8a249fbc58bbe33a09a7bef777e1d5fb67","impliedFormat":99},{"version":"cb2de9f1d7d286191834eeb331d23dc69eeb322745114ddad1695e4c575b5feb","impliedFormat":99},{"version":"dc2461db89dde29306a73a2926e2cf874e981ef034412f4d1e3d06d45bb3127e","impliedFormat":99},{"version":"13a5d8ec52111b64ed8fdcb47ab664b60085733c46c44aede33fd2926840ac31","impliedFormat":99},{"version":"1cf02270a889fcc3fa5863734fcdbea410d3b4dd71e4678a894a48028f836f6e","impliedFormat":99},{"version":"4f69dd36aa514494e2665a9dd1ecbb94f705c37f13554aa6f0c4b55d47dcfec1","impliedFormat":99},{"version":"3cb5734586224b2daa65a52cbe2428195e1542681ac85e4d7e9ca691e841db5e","impliedFormat":99},{"version":"9829414bd4780db78f4d5d6a4f57fd0fea3e7d24cdc192fb2cd1a362b91b0551","impliedFormat":99},{"version":"1ecf5de9c016d0b07533f2eef218c3771a013c38533824f96743092aa97c8377","impliedFormat":99},{"version":"51f3be4aa09529ea1ad83a3d66830075a49e3e630df25d9892ef5708bb00de55","impliedFormat":99},{"version":"3be1009bb5aa2b0525d65c721154ef69e7b511ef2932d7f3d98f1b25caf14555","impliedFormat":99},"1543cb12235ca81a5ec37044b2b6b28241ea0694c6e3bd1debad14edb2407691","0beeb5219eb8bd843be2ac8521ddc3951a9cebe934fce7506ff62b691110417b","e3bec9dad9f39db072b2e0d64d37c6a294a8c6faaf92d4f24c29cdd0becd2d82",{"version":"50540db6497731c003e5a0542dad43e42569d7d7cd4a60b8417e5639226b0d59","signature":"e1bc841ac646e3e70647ff91b07792bf5a2e6ab5334fbc65a8ed880cf37d2c8a"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"9019e48ace02a7f39315d84261f4a3dd23b7a3b1f6584e694001ac93971791b7","impliedFormat":1},{"version":"2f78692a85ada51c8f0988184d34d28436c1040e8ccf0758ba70d4b32b9776ad","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"ec62d16f95636123624a69191a35b5df44b4b0a6428977e856c5739c0a787471","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"e1028394c1cf96d5d057ecc647e31e457b919092f882ed0c7092152b077fed9d","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[162,[172,174],[178,181],187,188,222],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useDefineForClassFields":false},"referencedMap":[[351,1],[354,2],[63,1],[74,1],[75,3],[78,4],[76,4],[80,4],[83,5],[82,4],[81,4],[79,4],[77,6],[64,1],[65,7],[133,8],[131,9],[132,10],[134,11],[135,12],[186,13],[185,14],[121,15],[120,16],[123,17],[124,18],[73,19],[72,16],[122,20],[183,21],[128,22],[129,23],[130,23],[127,1],[184,24],[182,1],[176,25],[175,22],[177,26],[125,27],[126,28],[167,29],[171,30],[168,31],[170,16],[169,16],[158,1],[159,20],[157,20],[156,32],[149,33],[150,34],[154,35],[152,36],[160,37],[142,16],[151,16],[153,16],[155,16],[161,38],[115,39],[145,40],[146,40],[143,40],[144,40],[148,40],[147,40],[141,41],[140,42],[139,43],[138,44],[136,16],[117,45],[118,46],[119,47],[116,16],[137,48],[94,1],[96,1],[97,1],[98,49],[95,1],[99,20],[102,34],[103,20],[104,20],[105,20],[110,50],[106,20],[107,20],[108,20],[109,20],[101,1],[112,1],[113,51],[114,52],[92,34],[100,1],[111,1],[93,53],[85,1],[90,54],[88,55],[87,56],[89,1],[86,1],[206,1],[190,1],[204,1],[198,1],[192,1],[210,1],[213,1],[199,1],[209,1],[191,1],[205,1],[195,1],[215,1],[200,1],[218,57],[207,1],[212,1],[211,1],[193,1],[196,1],[197,1],[217,58],[216,20],[214,1],[189,1],[208,1],[194,1],[203,59],[201,60],[202,61],[353,1],[359,62],[286,63],[287,63],[288,64],[224,65],[289,66],[290,67],[291,68],[292,69],[293,70],[294,71],[295,72],[296,73],[297,74],[298,74],[299,75],[300,76],[301,1],[302,77],[303,78],[225,1],[223,1],[304,79],[305,80],[306,81],[350,82],[307,83],[308,84],[309,83],[310,85],[311,86],[313,87],[314,88],[315,88],[316,88],[317,89],[318,90],[319,91],[320,92],[321,93],[322,94],[323,94],[324,95],[325,1],[326,1],[327,96],[328,97],[329,98],[330,99],[331,100],[332,101],[333,102],[334,103],[335,104],[336,105],[337,106],[338,107],[339,108],[340,109],[341,110],[342,111],[343,112],[344,113],[345,114],[346,115],[226,83],[227,1],[228,116],[229,117],[230,1],[231,118],[232,1],[277,119],[278,120],[279,121],[280,121],[281,122],[282,1],[283,66],[284,123],[285,120],[347,124],[348,125],[349,126],[67,1],[312,1],[352,1],[358,127],[166,128],[163,1],[164,129],[165,130],[356,131],[357,132],[69,133],[66,134],[70,1],[68,135],[84,136],[71,137],[355,138],[91,1],[62,1],[60,1],[61,1],[10,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[22,1],[23,1],[4,1],[24,1],[28,1],[25,1],[26,1],[27,1],[29,1],[30,1],[31,1],[5,1],[32,1],[33,1],[34,1],[35,1],[6,1],[39,1],[36,1],[37,1],[38,1],[40,1],[7,1],[41,1],[46,1],[47,1],[42,1],[43,1],[44,1],[45,1],[8,1],[51,1],[48,1],[49,1],[50,1],[52,1],[9,1],[53,1],[54,1],[55,1],[57,1],[56,1],[1,1],[58,1],[59,1],[251,139],[265,140],[248,141],[266,142],[275,143],[239,144],[240,145],[238,146],[274,147],[269,148],[273,149],[242,150],[252,151],[262,152],[241,153],[272,154],[236,155],[237,148],[243,151],[244,1],[250,156],[247,151],[234,157],[276,158],[267,159],[255,160],[254,151],[256,161],[259,162],[253,163],[257,164],[270,147],[245,165],[246,166],[260,167],[235,142],[264,168],[263,151],[249,166],[258,169],[261,170],[268,1],[233,1],[271,171],[222,172],[178,173],[174,174],[162,175],[172,176],[173,177],[179,176],[180,178],[181,179],[188,180],[187,176],[219,1],[221,181],[220,16]],"version":"5.9.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@material/web/icon/internal/icon.d.ts","../../../node_modules/@material/web/icon/icon.d.ts","../../../node_modules/@lit/reactive-element/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/decorators.d.ts","../../../node_modules/@operato/shell/dist/src/types/domain.d.ts","../../../node_modules/@operato/shell/dist/src/types/user.d.ts","../../../node_modules/@operato/shell/dist/src/types/role.d.ts","../../../node_modules/@operato/shell/dist/src/types/privilege.d.ts","../../../node_modules/@operato/shell/dist/src/types/types.d.ts","../../../node_modules/@operato/shell/dist/src/types/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@operato/shell/dist/src/lazy-reducer-enhancer.d.ts","../../../node_modules/@operato/shell/dist/src/store.d.ts","../../../node_modules/@operato/shell/dist/src/actions/app.d.ts","../../../node_modules/@operato/shell/dist/src/actions/route.d.ts","../../../node_modules/@operato/shell/dist/src/actions/busy.d.ts","../../../node_modules/@operato/shell/dist/src/actions/const.d.ts","../../../node_modules/@operato/shell/dist/src/actions/index.d.ts","../../../node_modules/@operato/shell/dist/src/app/pages/page-view.d.ts","../../../node_modules/@operato/shell/dist/src/object-store.d.ts","../../../node_modules/@operato/shell/dist/src/custom-alert.d.ts","../../../node_modules/@operato/shell/dist/src/connect-mixin.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/app-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/context-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/font-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/layout-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/menu-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/route-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/snackbar-controller.d.ts","../../../node_modules/@operato/shell/dist/src/controllers/index.d.ts","../../../node_modules/@operato/shell/dist/src/require-custom-element.d.ts","../../../node_modules/@operato/shell/dist/src/drafts/draft-store.d.ts","../../../node_modules/@operato/shell/dist/src/drafts/unsaved-draft-controller.d.ts","../../../node_modules/@operato/shell/dist/src/index.d.ts","../../../node_modules/@operato/layout/dist/src/initializer.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup-list.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup-menu.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup-menuitem.d.ts","../../../node_modules/@material/web/elevation/internal/elevation.d.ts","../../../node_modules/@material/web/elevation/elevation.d.ts","../../../node_modules/@material/web/internal/controller/attachable-controller.d.ts","../../../node_modules/@material/web/focus/internal/focus-ring.d.ts","../../../node_modules/@material/web/focus/md-focus-ring.d.ts","../../../node_modules/@material/web/ripple/internal/ripple.d.ts","../../../node_modules/@material/web/ripple/ripple.d.ts","../../../node_modules/@material/web/labs/behaviors/mixin.d.ts","../../../node_modules/@material/web/labs/behaviors/element-internals.d.ts","../../../node_modules/@material/web/labs/behaviors/form-associated.d.ts","../../../node_modules/@material/web/labs/behaviors/form-submitter.d.ts","../../../node_modules/@material/web/button/internal/button.d.ts","../../../node_modules/@material/web/button/internal/filled-button.d.ts","../../../node_modules/@material/web/button/filled-button.d.ts","../../../node_modules/@material/web/button/internal/text-button.d.ts","../../../node_modules/@material/web/button/text-button.d.ts","../../../node_modules/@operato/popup/dist/src/ox-popup-actions.d.ts","../../../node_modules/@operato/popup/dist/src/ox-prompt.d.ts","../../../node_modules/@operato/popup/dist/src/ox-floating-overlay.d.ts","../../../node_modules/@operato/popup/dist/src/open-popup.d.ts","../../../node_modules/@operato/popup/dist/src/index.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-snack-bar.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-resize-splitter.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-header-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-nav-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-aside-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-footer-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-page-header-bar.d.ts","../../../node_modules/@operato/layout/dist/src/layouts/ox-page-footer-bar.d.ts","../../../node_modules/@operato/layout/dist/src/actions/layout.d.ts","../../../node_modules/@operato/layout/dist/src/actions/snackbar.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-split-pane.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-entity360-dock.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-three-pane.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-canvas-bar.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-url-tabs.d.ts","../../../node_modules/@operato/layout/dist/src/actions/entity360.d.ts","../../../node_modules/@operato/layout/dist/src/actions/entity360-registry.d.ts","../../../node_modules/@operato/layout/dist/src/actions/entity360-door.d.ts","../../../node_modules/@operato/layout/dist/src/actions/entity360-name.d.ts","../../../node_modules/@operato/layout/dist/src/components/ox-entity360-section.d.ts","../../../node_modules/@operato/layout/dist/src/index.d.ts","../client/layout/app-toolbar.ts","../../../node_modules/i18next/typescript/helpers.d.ts","../../../node_modules/i18next/typescript/options.d.ts","../../../node_modules/i18next/typescript/t.d.ts","../../../node_modules/i18next/index.d.ts","../../../node_modules/@operato/i18n/dist/src/config.d.ts","../../../node_modules/@operato/i18n/dist/src/localize.d.ts","../../../node_modules/@operato/i18n/dist/src/ox-i18n.d.ts","../../../node_modules/@operato/i18n/dist/src/ox-i18n-selector.d.ts","../../../node_modules/@operato/i18n/dist/src/index.d.ts","../client/layout/header-band-model.ts","../client/layout/header-scope.ts","../client/layout/app-header-band.ts","../../../node_modules/@material/web/progress/internal/progress.d.ts","../../../node_modules/@material/web/progress/internal/linear-progress.d.ts","../../../node_modules/@material/web/progress/linear-progress.d.ts","../client/layout/app-busybar.ts","../client/layout/mdibar-visibility.ts","../client/layout/mdibar-routes.ts","../client/layout/page-mdibar.ts","../client/layout/page-toolbar.ts","../../../node_modules/@material/web/labs/behaviors/validators/validator.d.ts","../../../node_modules/@material/web/labs/behaviors/constraint-validation.d.ts","../../../node_modules/@material/web/labs/behaviors/validators/checkbox-validator.d.ts","../../../node_modules/@material/web/checkbox/internal/checkbox.d.ts","../../../node_modules/@material/web/checkbox/checkbox.d.ts","../client/mdibar-setting-state.ts","../client/mdibar-setting-let.ts","../../../node_modules/@operato/utils/dist/src/sleep.d.ts","../../../node_modules/@operato/utils/dist/src/async-lock.d.ts","../../../node_modules/@operato/utils/dist/src/file-drop-helper.d.ts","../../../node_modules/@operato/utils/dist/src/context-path.d.ts","../../../node_modules/@operato/utils/dist/src/os.d.ts","../../../node_modules/@operato/utils/dist/src/swipe-listener.d.ts","../../../node_modules/@operato/utils/dist/src/fullscreen.d.ts","../../../node_modules/@operato/utils/dist/src/parse-jwt.d.ts","../../../node_modules/@operato/utils/dist/src/password-pattern.d.ts","../../../node_modules/@operato/utils/dist/src/closest-element.d.ts","../../../node_modules/@operato/utils/dist/src/detect-overflow.d.ts","../../../node_modules/@operato/utils/dist/src/has-overflow.d.ts","../../../node_modules/@operato/utils/dist/src/timecapsule/snapshot-taker.d.ts","../../../node_modules/@operato/utils/dist/src/timecapsule/timecapsule.d.ts","../../../node_modules/@operato/utils/dist/src/timecapsule/index.d.ts","../../../node_modules/@operato/utils/dist/src/clipboard.d.ts","../../../node_modules/@operato/utils/dist/src/format.d.ts","../../../node_modules/@operato/utils/dist/src/adjust-list-param.d.ts","../../../node_modules/@operato/utils/dist/src/is-unvalued.d.ts","../../../node_modules/@operato/utils/dist/src/stringify-bignum.d.ts","../../../node_modules/@operato/utils/dist/src/encode-form-params.d.ts","../../../node_modules/@operato/utils/dist/src/cookie.d.ts","../../../node_modules/@operato/utils/dist/src/number-parser.d.ts","../../../node_modules/@operato/utils/dist/src/longpressable.d.ts","../../../node_modules/@operato/utils/dist/src/decode-html.d.ts","../../../node_modules/@operato/utils/dist/src/script-loader.d.ts","../../../node_modules/@operato/utils/dist/src/google-maps-loader.d.ts","../../../node_modules/@operato/utils/dist/src/reactive-controllers/tooltip-reactive-controller.d.ts","../../../node_modules/@operato/utils/dist/src/reactive-controllers/index.d.ts","../../../node_modules/@operato/utils/dist/src/index.d.ts","../../setting-base/dist-client/actions/setting.d.ts","../../setting-base/dist-client/layout/settinglet.d.ts","../../setting-base/dist-client/index.d.ts","../client/index.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/ffi.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vfs.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[225,290,298,303,306,308,309,310,323],[225,290,298,303,306,308,309,310,323,354],[74,225,290,298,303,306,308,309,310,323],[65,74,225,290,298,303,306,308,309,310,323],[65,74,82,225,290,298,303,306,308,309,310,323],[76,225,290,298,303,306,308,309,310,323],[63,64,225,290,298,303,306,308,309,310,323],[71,132,225,290,298,303,306,308,309,310,323],[68,71,124,126,127,128,129,130,225,290,298,303,306,308,309,310,323],[68,121,131,225,290,298,303,306,308,309,310,323],[131,225,290,298,303,306,308,309,310,323],[71,134,225,290,298,303,306,308,309,310,323],[71,186,225,290,298,303,306,308,309,310,323],[68,71,124,126,127,128,129,184,185,225,290,298,303,306,308,309,310,323],[71,120,225,290,298,303,306,308,309,310,323],[68,71,225,290,298,303,306,308,309,310,323],[71,122,225,290,298,303,306,308,309,310,323],[71,123,225,290,298,303,306,308,309,310,323],[71,72,225,290,298,303,306,308,309,310,323],[71,225,290,298,303,306,308,309,310,323],[71,127,128,129,183,225,290,298,303,306,308,309,310,323],[71,127,225,290,298,303,306,308,309,310,323],[71,127,128,225,290,298,303,306,308,309,310,323],[183,225,290,298,303,306,308,309,310,323],[68,175,225,290,298,303,306,308,309,310,323],[71,176,225,290,298,303,306,308,309,310,323],[68,71,122,225,290,298,303,306,308,309,310,323],[71,125,225,290,298,303,306,308,309,310,323],[166,225,290,298,303,306,308,309,310,323],[167,168,169,170,225,290,298,303,306,308,309,310,323],[71,166,225,290,298,303,306,308,309,310,323],[152,225,290,298,303,306,308,309,310,323],[71,140,225,290,298,303,306,308,309,310,323],[91,225,290,298,303,306,308,309,310,323],[68,71,73,153,225,290,298,303,306,308,309,310,323],[71,73,225,290,298,303,306,308,309,310,323],[68,71,158,225,290,298,303,306,308,309,310,323],[115,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,225,290,298,303,306,308,309,310,323],[114,225,290,298,303,306,308,309,310,323],[138,142,225,290,298,303,306,308,309,310,323],[73,135,225,290,298,303,306,308,309,310,323],[116,117,118,119,136,137,139,225,290,298,303,306,308,309,310,323],[71,138,225,290,298,303,306,308,309,310,323],[68,71,73,225,290,298,303,306,308,309,310,323],[68,71,73,116,225,290,298,303,306,308,309,310,323],[68,71,116,225,290,298,303,306,308,309,310,323],[68,71,118,225,290,298,303,306,308,309,310,323],[68,71,73,133,135,136,225,290,298,303,306,308,309,310,323],[94,95,96,97,225,290,298,303,306,308,309,310,323],[103,104,105,106,107,108,109,225,290,298,303,306,308,309,310,323],[71,112,225,290,298,303,306,308,309,310,323],[90,93,98,99,100,101,102,110,111,112,113,225,290,298,303,306,308,309,310,323],[91,92,225,290,298,303,306,308,309,310,323],[85,86,87,88,89,225,290,298,303,306,308,309,310,323],[86,87,225,290,298,303,306,308,309,310,323],[85,86,88,225,290,298,303,306,308,309,310,323],[190,191,192,193,194,195,196,197,198,199,200,201,204,205,206,207,208,209,210,211,212,213,214,215,216,218,225,290,298,303,306,308,309,310,323],[217,225,290,298,303,306,308,309,310,323],[202,203,225,290,298,303,306,308,309,310,323],[203,225,290,298,303,306,308,309,310,323],[202,225,290,298,303,306,308,309,310,323],[225,290,298,303,306,308,309,310,323,356,359],[225,287,288,290,298,303,306,308,309,310,323],[225,289,290,298,303,306,308,309,310,323],[290,298,303,306,308,309,310,323],[225,290,298,303,306,308,309,310,323,332],[225,290,291,296,298,301,303,306,308,309,310,312,323,328,341],[225,290,291,292,298,301,303,306,308,309,310,323],[225,290,293,298,303,306,308,309,310,323,342],[225,290,294,295,298,303,306,308,309,310,314,323],[225,290,295,298,303,306,308,309,310,323,328,338],[225,290,296,298,301,303,306,308,309,310,312,323],[225,289,290,297,298,303,306,308,309,310,323],[225,290,298,299,303,306,308,309,310,323],[225,290,298,300,301,303,306,308,309,310,323],[225,289,290,298,301,303,306,308,309,310,323],[225,290,298,301,303,304,306,308,309,310,323,328,341],[225,290,298,301,303,304,306,308,309,310,323,330,332],[225,277,290,298,301,303,305,306,308,309,310,312,323,328,341],[225,290,298,301,303,305,306,308,309,310,312,323,328,338,341],[225,290,298,303,305,306,307,308,309,310,323,328,338,341],[224,225,226,227,228,229,230,231,232,233,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350],[225,290,298,301,303,306,308,309,310,323],[225,290,298,303,306,308,310,323],[225,290,298,303,306,308,309,310,311,323,341],[225,290,298,301,303,306,308,309,310,312,323,328],[225,290,298,303,306,308,309,310,314,323],[225,290,298,303,306,308,309,310,315,323],[225,290,298,301,303,306,308,309,310,318,323],[225,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349],[225,290,298,303,306,308,309,310,320,323],[225,290,298,303,306,308,309,310,321,323],[225,290,295,298,303,304,306,308,309,310,312,323,330,338],[225,290,298,301,303,306,308,309,310,323,324],[225,290,298,303,306,308,309,310,323,325,342,346],[225,290,298,301,303,306,308,309,310,323,328,330,331,332],[225,290,298,303,306,308,309,310,323,329,332],[225,290,298,301,303,306,308,309,310,323,328,330],[225,290,298,301,303,306,308,309,310,323,328,331,332],[225,290,298,303,306,308,309,310,323,332,342],[225,290,298,303,306,308,309,310,323,333],[225,287,290,298,303,306,308,309,310,323,328,335,341],[225,290,298,303,306,308,309,310,323,328,334],[225,290,298,301,303,306,308,309,310,323,336,337],[225,290,298,303,306,308,309,310,323,336,337],[225,290,295,298,303,306,308,309,310,312,323,328,338],[225,290,298,303,306,308,309,310,323,339],[225,290,298,303,306,308,309,310,312,323,340],[225,290,298,303,305,306,308,309,310,321,323,341],[225,290,298,303,306,308,309,310,323,342,343],[225,290,295,298,303,306,308,309,310,323,343],[225,290,298,303,306,308,309,310,323,328,344],[225,290,298,303,304,306,308,309,310,323],[225,290,298,303,306,308,309,310,311,323,346],[225,290,298,303,306,308,309,310,323,347],[225,290,293,298,303,306,308,309,310,323],[225,290,295,298,303,306,308,309,310,323],[225,290,298,303,306,308,309,310,323,342],[225,277,290,298,303,306,308,309,310,323],[225,290,298,303,306,308,309,310,323,341],[225,290,298,303,306,308,309,310,323,348],[225,290,298,303,306,308,309,310,318,323],[225,290,298,303,306,308,309,310,323,337],[225,277,290,298,301,303,304,306,308,309,310,312,318,323,328,332,341,344,346,348],[225,290,298,303,306,308,309,310,323,328,349],[225,290,298,303,306,308,309,310,323,330,350],[225,290,298,303,306,308,309,310,323,352,358],[163,164,165,225,290,298,303,306,308,309,310,323],[163,225,290,298,303,306,308,309,310,323],[163,164,225,290,298,303,306,308,309,310,323],[225,290,298,303,306,308,309,310,323,356],[225,290,298,303,306,308,309,310,323,353,357],[65,68,225,290,298,303,306,308,309,310,323],[68,225,290,298,303,306,308,309,310,323],[66,67,225,290,298,303,306,308,309,310,323],[75,76,77,78,79,80,81,82,83,225,290,298,303,306,308,309,310,323],[65,68,69,70,225,290,298,303,306,308,309,310,323],[225,290,298,303,306,308,309,310,323,355],[225,240,243,246,247,290,298,303,306,308,309,310,323,341],[225,243,290,298,303,306,308,309,310,323,328,341],[225,243,247,290,298,303,306,308,309,310,323,341],[225,290,298,303,306,308,309,310,323,328],[225,237,290,298,303,306,308,309,310,323],[225,241,290,298,303,306,308,309,310,323],[225,239,240,243,290,298,303,306,308,309,310,323,341],[225,290,298,303,306,308,309,310,312,323,338],[225,290,298,303,306,308,309,310,323,351],[225,237,290,298,303,306,308,309,310,323,351],[225,239,243,290,298,303,306,308,309,310,312,323,341],[225,234,235,236,238,242,290,298,301,303,306,308,309,310,323,328,341],[225,243,290,298,303,306,308,309,310,323],[225,243,252,261,290,298,303,306,308,309,310,323],[225,235,241,290,298,303,306,308,309,310,323],[225,243,271,272,290,298,303,306,308,309,310,323],[225,235,238,243,290,298,303,306,308,309,310,323,332,341,351],[225,239,243,290,298,303,306,308,309,310,323,341],[225,234,290,298,303,306,308,309,310,323],[225,237,238,239,241,242,243,244,245,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,272,273,274,275,276,290,298,303,306,308,309,310,323],[225,243,264,267,290,298,303,306,308,309,310,323],[225,243,252,254,255,290,298,303,306,308,309,310,323],[225,241,243,254,256,290,298,303,306,308,309,310,323],[225,242,290,298,303,306,308,309,310,323],[225,235,237,243,290,298,303,306,308,309,310,323],[225,243,247,254,256,290,298,303,306,308,309,310,323],[225,247,290,298,303,306,308,309,310,323],[225,241,243,246,290,298,303,306,308,309,310,323,341],[225,235,239,243,252,290,298,303,306,308,309,310,323],[225,243,264,290,298,303,306,308,309,310,323],[225,256,290,298,303,306,308,309,310,323],[225,235,239,243,247,290,298,303,306,308,309,310,323],[225,237,243,271,290,298,303,306,308,309,310,323,332,348,351],[62,68,114,161,162,172,173,174,178,181,182,188,189,219,222,225,290,298,303,306,308,309,310,323],[62,71,84,114,177,225,290,298,303,306,308,309,310,323],[62,71,73,84,114,161,171,172,173,225,290,298,303,306,308,309,310,323],[62,71,73,84,114,161,225,290,298,303,306,308,309,310,323],[62,225,290,298,303,306,308,309,310,323],[62,172,225,290,298,303,306,308,309,310,323],[62,71,73,84,114,118,140,171,179,180,225,290,298,303,306,308,309,310,323],[62,71,84,114,161,225,290,298,303,306,308,309,310,323],[62,71,84,114,161,169,171,187,188,225,290,298,303,306,308,309,310,323],[220,221,225,290,298,303,306,308,309,310,323]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"b93e2680295ac83b52846bcd76dd6d06507d3da1738ebe564a1e99543993b3b4","impliedFormat":99},{"version":"4ae1ed87c59518f4e0918a21409ec3020e97037a386b57953c6b9fed9cad6949","affectsGlobalScope":true,"impliedFormat":99},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"99bdf729529cdbf12e2bf76ea751b662011133dcf9e35abcb3def47bb02f7b0a","impliedFormat":99},{"version":"732fb71ecb695d6f36ddcbb72ebfe4ff6b6491d45101a00fa2b75a26b80d640f","impliedFormat":99},{"version":"039cb05125d7621f8143616c495b8e6b54249c4e64d2754b80ff93867f7f4b01","impliedFormat":99},{"version":"1b81f1fa82ad30af01ab1cae91ccaddc10c48f5916bbd6d282155e44a65d858d","impliedFormat":99},{"version":"a0fc7a02a75802678a67000607f20266cf1a49dc0e787967efe514e31b9ed0c3","impliedFormat":99},{"version":"5ebf098a1d81d400b8af82807cf19893700335cf91a7b9dbd83a5d737af34b11","impliedFormat":99},{"version":"101cf83ac3f9c5e1a7355a02e4fbe988877ef83c4ebec0ff0f02b2af022254a3","impliedFormat":99},{"version":"d017e2fcd44b46ca80cd2b592a6314e75f5caab5bda230f0f4a45e964049a43a","impliedFormat":99},{"version":"a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","impliedFormat":99},{"version":"4d4cf93a6b4c81851ad759e4569b6feb7a701e80b13a6f9d8d9c6012bbb86bd6","impliedFormat":99},{"version":"2e6035af8f3e43bf95e4983329c8277d66f9b271106af27b99a85d1c1b9daf4a","impliedFormat":99},{"version":"df32d43311e85715e2a573239a4bbc5b78ebaf29af2af5fa8c85370197997515","impliedFormat":99},{"version":"3a792bbf677343364a1d9b7197c6e4e512764f17364efd656b1a3598f2a9e820","impliedFormat":99},{"version":"3d7c0b593a29d717b2b2ba3f03f819c3c48bf9e250d79c4a31860af80f177e8c","impliedFormat":99},{"version":"e576aa80090f8b6020355ca8d7f4184067c84389f4b92125be29e03b1f6c5194","impliedFormat":99},{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"487213b1bcbdaa470cf59a4cea3f8a939b9222e74b455fe0fd2f0dc2346cc3c0","impliedFormat":99},{"version":"8a9e962b8c98aa48377773c40ac7a3e530fb3354cec48fdb59d8e2df3a624a0c","affectsGlobalScope":true,"impliedFormat":99},{"version":"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","impliedFormat":99},{"version":"8e33e65ce7fcd3cb20e29505452daa51543003d5db597f1aca2a51ff9043c8a7","impliedFormat":99},{"version":"b42033bf1067564808e4d360d79281667c2b3b0792c2d615ab641eb85974d4ba","impliedFormat":99},{"version":"7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","impliedFormat":99},{"version":"ad3ee9f7d14ad8b7ae8094d0f1a2276656f7a970827d4030d1dead7c2d765f75","impliedFormat":99},{"version":"9c7568f9c75cf6a7d35dc9f18c5971cd5b21344c686c7cce56b3558d3305d40f","impliedFormat":99},{"version":"fc48282c397084016a939e1b3f91dcaf4199b6cba339d91d8b2dc2acade79762","impliedFormat":99},{"version":"3e62a55b950132d6eeacc607b7a1bff990d5484347b2be5a1f54db51af30ff25","impliedFormat":99},{"version":"8b86f33b7e06e2f0a3bf4703cf9d8b0baab016e36b83f2a33dac184f061e17ea","impliedFormat":99},{"version":"88c205bacab539d8e844b80a1ec76fc649fbc731f12dfd7cca160976b5ddfd5a","impliedFormat":99},{"version":"565d32dce0b8761e7cfafe40c56a8a0fab0bb9e7bb35a31d9712643b3c8dbbc4","impliedFormat":99},{"version":"4bde12afd6fdd6e52d7316e00adfbccd70becc3ebd9c4f647d07caef53a474ae","impliedFormat":99},{"version":"a7e588bdba05f1fb78f83e50ee62c93565134d3b996babf2697c2b43fcf17ce0","impliedFormat":99},{"version":"218a0f93d7091c68718ec4260f41f3a61b5ecb7e786a8c04e296292ff41db8f0","impliedFormat":99},{"version":"cf45487aeb18b31f1001b99d06793986ac3e6840b0602f9cf3756a2724348bf4","impliedFormat":99},{"version":"81f0a95843ae6e5a006addc4b5c217b075057ff82c9bc319655de21a13ba9f10","impliedFormat":99},{"version":"1a68f44e90ac5c261a3157004a7ec18759982b91fd725537d6db919d83601dd1","impliedFormat":99},{"version":"daccba798a74fc239523622caf24656e28b78dac33ea8a031682280fd51b0d0f","impliedFormat":99},{"version":"f6a07f563f8ac41831de197155d550379c6d197109ba54d8ffdec21dfa287a6f","impliedFormat":99},{"version":"5c14065b4c2eb2dccb003b6f1e538900a1909de62a338fe3c35ffb267d653953","impliedFormat":99},{"version":"5cee37504a444c12c6633430239f9dd1b26649c19f1e71adaaf4ea5712cc8c62","impliedFormat":99},{"version":"60997095f458b8c2c94af5759c796d9d17678e740a41a04c3e518c14c47f2ee7","impliedFormat":99},{"version":"75069a2a1e380502ff9a1074b8ee61f5e84f31973e5f81b444e6993e5633c72b","affectsGlobalScope":true,"impliedFormat":99},{"version":"8aff91f00938aa90ce829f4d577903d6826fa19e8edc583f7bb64ef1a6b4ae3b","impliedFormat":99},{"version":"986165ecc3a59d4b6a272a92f7ca4fd7a0762c63a674abd2c1efa0bea64da604","impliedFormat":99},{"version":"3e7b241ec38126d95f9e37c49a631c00cff006a888276e2d02920c6443c8b593","impliedFormat":99},{"version":"6184309fe39e2fe444f4ba94e7cd1abef48fcb48e258457c3b77c65828184241","impliedFormat":99},{"version":"98c511f60c3079d731a35353a47bfa89dd79eeacad48a45d07170d22ef4bfd02","affectsGlobalScope":true,"impliedFormat":99},{"version":"905800cc110167503d0cf58bb0dd6fa4aaac1e9cedc9bd9c48e5d1f8b5b8d4c8","impliedFormat":99},{"version":"d17be577b99e59611df19ca2cf0356df554f55bb06617c21321fc4ec06b820d0","impliedFormat":99},{"version":"5f30145fbc8ca508ae4e0d90a4fe9eaff490783f380a92f6aa262accdf7887b7","affectsGlobalScope":true,"impliedFormat":99},{"version":"cefe49d29d43726072e88671a2c40cdeeb8d49ca8fa6c2d4b06013dc7b9d6206","impliedFormat":99},{"version":"f882b77c5939860d599b4b7bc39f741ebcd56123e18b284500f4b8923acd2e72","affectsGlobalScope":true,"impliedFormat":99},{"version":"0230bc76ed3a464531a43d2434d315b9cc2096aaca28bdaa65b8f9dce9f3bc81","impliedFormat":99},{"version":"559d2d1cd7f37dc2ac59e7adce198ad16a5eb0c7273d67b8e4ff72821b7c853f","impliedFormat":99},{"version":"6161d12fc14a8e0cf492f9d49372a1189b1fe005662cb7fe6630352a6b0bb04e","impliedFormat":99},{"version":"7d3c06d4ad79d86c6f7518b77d335b324bc218a7cd8b3e15579c4b584b7307f9","impliedFormat":99},{"version":"65f5bc7ff74eeabe9925da575924601248471033c27bf0384643ea03cad2b57d","impliedFormat":99},{"version":"d08d474654640266d6ac03f51ee04d72438b78ea377b9dc4678c480ce0477e1a","impliedFormat":99},{"version":"929f21090183949e93fd99327d292bff76f781895d5252eb43319b2c3e014528","affectsGlobalScope":true,"impliedFormat":99},{"version":"0f28503979e769f6ee6e55350f621dc00e300f15688d52b02edc62d837d29b1d","impliedFormat":99},{"version":"fe869c79d427e84d916011d082def68a793c3c13e157079fec399f250418bd50","affectsGlobalScope":true,"impliedFormat":99},{"version":"a2afc55ddd24edebefe497c415aee63498b099cef639b85a1bb3163e58649928","impliedFormat":99},{"version":"56a4c77ce6cae2494a4563f57a4a4c64b4857d0483979e101ff2fa7001db3dd1","impliedFormat":99},{"version":"bad37852b83df7a04802c2827fa02f8af046e4d944e0d08e02294d27b2748129","impliedFormat":99},{"version":"1fc3a35588d5f43c8ea68937e60d360d48390f5d454b1e6830659dfce9a7a937","impliedFormat":99},{"version":"c9d3623b528f615e0466361855fbba048e88d381bb5257f23c37062b2fdb6039","impliedFormat":99},{"version":"3c523c4338a858825c62005f03ff49eeaf8290bdda52a8b8554be555bab7a077","impliedFormat":99},{"version":"5582fb24ca35ef8a72d61a095d62ae2ada8143c33bc56febf626e333d3a5b013","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","impliedFormat":99},{"version":"c0178facd144177de1b1bb22d5083a02b83b8a390519e23e959420fe720aacf2","impliedFormat":99},{"version":"6e815042f98ee8b44cd7f372039ebc2f5ebc13d5be353b29ea7f18f1519b0edf","impliedFormat":99},{"version":"86d239790a025b4f1213571ed5d578b9080415e1218b253b499ed73ac436ae63","impliedFormat":99},{"version":"915fe430f9274e4ccdfefe060bf98660b52e62dcb375e6fbd79f1b1aedc4c170","impliedFormat":99},{"version":"ad9efb41182f5e07976abd80e4b00ac80692f3ab8d55fe3b85d3c282c229b98e","affectsGlobalScope":true,"impliedFormat":99},{"version":"5425a627e508bc6d1ccfb1ea6f8d250f93c6fa7fe034e6f1b03a48e8ce0a3167","affectsGlobalScope":true,"impliedFormat":99},{"version":"7a57df5934cd17f2fd7b640275089eed07e2efe1e29daa2f61e61f1e08dac023","affectsGlobalScope":true,"impliedFormat":99},{"version":"2feadd1c36714a8d2685727cb2b1f56999c850623acbd99aa7a325dd1621dda9","impliedFormat":99},{"version":"05a01baa15b8b4f4c088387ae755b0f55bd6d8bd5d8445c51c4c7915bcdafc3f","impliedFormat":99},{"version":"81715d46da9f89ebedf6cbfb1d436fa6bf847652bd8a125d0893e3b47399f316","impliedFormat":99},{"version":"caf3e0c255508bebccd84112eb0a277561802b9edd833367bd492f745b74a7dc","impliedFormat":99},{"version":"c360546ca0d716d461f18e5fdc72a4b9a6482f2d5dbb1c384213bbc4a6cb35b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"d19235267a3cf397c03160f19fa3a7b24fa686f28e681ad7f761397b54f69d29","impliedFormat":99},{"version":"76cc39dd66a51405ac65334322dde77b59ea9c280c668aebc5e6903c43c4e815","signature":"1011c26502d6f0b281a247ea558b2ac45417ba3d6a4167dfd3a6274236f3390b"},{"version":"e30accdbef6f904f20354b6f598d7f2f7ff29094fc5410c33f63b29b4832172a","impliedFormat":1},{"version":"3786a961459023ec78bb575e5ea74f504d3ffc61ae82a305c959a4d94d7d70eb","impliedFormat":1},{"version":"de83915a380bdd6d7ddf075e3f60fe347db64ad4d06822835724ac601cb61daf","impliedFormat":1},{"version":"4d39c150715cb238da715e5c3fbeac2e2b2d0ef3f23c632996dd59ae35ba1f45","impliedFormat":1},{"version":"0f81a53d54fd2b4ae2bf60067d616de99884bda21cb5784d942089d52319fb97","impliedFormat":99},{"version":"86d356e64ab8d56852623677eb1bed0c106703aed9b7788ad8a5a56e647822cb","impliedFormat":99},{"version":"29dca1b5f0cac95b675f86c7846f9d587ed47cc46609dd00d152bcb37683b069","impliedFormat":99},{"version":"231d829c892caeb88dd469e0847bf9d14e29c82b8b158b381ec866c868adf9af","impliedFormat":99},{"version":"886bcc73e8cf74ebec1bd14a5cc5b8dfa28276210df634e6f81c844b1eef767b","impliedFormat":99},{"version":"5d56dc08791b9291cf8a85971bad14e2882ed42f69be38aaa498baecf763c759","signature":"7e0a37ecb93ffc5911758ae05677e2e37d875c68ce2acf3899a444569bb7f1fd"},{"version":"db5191cff5268d7c5e9e66199075c0d0313c73a5ee19efa0534078efbd4c6713","signature":"3da5b20cb28ca305c09e94729a11be904079e70edf70048b6d225e59b09bd18d"},{"version":"4619656b31ee27f633005cef5c1e4bdc010ecad33ad62e50417b3de0f4c843bb","signature":"fa95e169de5ee315f57bc732ead5e05559efc918288cbfcde1d6a0686f3e1d45"},{"version":"68d9a15b7f0f73b48429f78699f6add7dcdbd5ea0fb9b0e8d90d0ca4c108703b","impliedFormat":99},{"version":"ad8da8b0555d836ffba98091771d1c667aa047b8cc6c17e4f4d7c529edd1db07","impliedFormat":99},{"version":"8a1e35a7afba4291cc1493e02dabf51a4615bae2dad4aa5ccc4de29da4b3a969","affectsGlobalScope":true,"impliedFormat":99},{"version":"902d6edb4158948f5bb161156e917621816bc329216cadcc899a3a31196632c5","signature":"4810e4d61053ca70979ab755a5d07edead929b72f147a9e21302f7f2f4b0a192"},{"version":"88a244229d26f43b83daee2488d5ccaa59826f50b14049be8cb6ce48d9da7188","signature":"c590af97e4e9e225f404b4f48b37c9b8937b4ebd52ddfe2ac6050bba76fb6c60"},{"version":"7661bed9aadb875714ee09cbb240c93b9643d0b5ef86fc6fb3286db4c30148cf","signature":"6cea7f7e68f4dd5e580c10d24b1403628d572b394d30213a3b5c73495927bba3"},{"version":"e7d21922b9020e380a8419b61a7f9be8f70e321366414cf88ce6c786f8e6514b","signature":"9d3cd8a9723a73465d6c4574f5f9daa8f8c902efe1af2558c170acdc8d547ab1"},{"version":"8721dbf069b185bc916f9a7a8127c7c231ce419734dfd377620dbf4d478792d2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0d0f0a7057effa894462302bbfab93d0ff82dc88e7eb3b4a40f5c5baf2287e87","impliedFormat":99},{"version":"7a9cada9676068d5bf49db65e12bf45077e5d3597f84bee594073ecdadea3be9","impliedFormat":99},{"version":"906ba9deec2d81b2ba91cda35da7edddc1ed23c74c0c59b635d719ed436c8783","impliedFormat":99},{"version":"fcaa283960450520c3c09c63e1ab2b06137d64a9a28befe8abd117a5db5645b8","impliedFormat":99},{"version":"7b82ae5f317797ad1ef2efd9773b7b13dd2570a20f2581c49ad7f3afb02df670","affectsGlobalScope":true,"impliedFormat":99},{"version":"7cbd21506b971785ecdcdf27f78ade9a4b3f1a82ecf5714318efbe8f61e5459b","signature":"b2b5bfc32e9c9ccf3c13aaa024bc4f19c171fb3cdfe64fa01fce2f94b59e19b6"},{"version":"3d9c01a185c9a271377b32e9fee0be73c682976b8e2a2765762d77801a8821e4","signature":"d679231cfcd16104d887646d9178f559d3b1c3c718563a89cc77d08a34f2559f"},{"version":"05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552","impliedFormat":99},{"version":"f5800813e5c0d6c27d73b76f2c99f39bdfd6229d03553a8a9ae485f6aeb94425","impliedFormat":99},{"version":"4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa","impliedFormat":99},{"version":"b085d2f3c839ad9634c9b1ea8bb2d4e3a321af1392d8ac44a79b99c0d8d194aa","impliedFormat":99},{"version":"ee11b7061adce4a1c0370620949a57851215b152a5632d2faf1aedbc90ad0520","impliedFormat":99},{"version":"f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303","impliedFormat":99},{"version":"85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f","impliedFormat":99},{"version":"39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378","impliedFormat":99},{"version":"4dcdfe4c18557fc02d8cb22cb422cb98bfeba8158aaf18cc66f9d99293ebe2c8","impliedFormat":99},{"version":"7efea6f2270a14f1b0d5f472f2a6fcb0a97beb677299e10b073cc2abdabeef51","impliedFormat":99},{"version":"642bd83dc8b11abc31785975f869fea5ab2dd84246acd13c6ad7e769fea95150","impliedFormat":99},{"version":"712dbb6cc6020b1dae2a2031b8a117717318652f73fd5042d508f7de416c47b7","impliedFormat":99},{"version":"637a5a32ea266fdaa0efa1c4d25ce2eed3b420dcd7836a6952374ddd95aaccaf","impliedFormat":99},{"version":"145e598b9f835b46757263cf952af5b8735d0bfb08a6dff2187f7b5611e17578","impliedFormat":99},{"version":"f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6","impliedFormat":99},{"version":"7fcb76be88d4a64f6318b5a24b57021d7463f24485a3d1a931bf664c7e437534","impliedFormat":99},{"version":"d75490903da576f8fd0ee1c990858cb31e605d3db925593c12728bd0949eedfe","impliedFormat":99},{"version":"098ec42cd54c2b3354584c4fe8ad143040114891dde762741522b62788772f0d","impliedFormat":99},{"version":"1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9","impliedFormat":99},{"version":"30046b0787c577061d43e498b507da8a249fbc58bbe33a09a7bef777e1d5fb67","impliedFormat":99},{"version":"cb2de9f1d7d286191834eeb331d23dc69eeb322745114ddad1695e4c575b5feb","impliedFormat":99},{"version":"dc2461db89dde29306a73a2926e2cf874e981ef034412f4d1e3d06d45bb3127e","impliedFormat":99},{"version":"13a5d8ec52111b64ed8fdcb47ab664b60085733c46c44aede33fd2926840ac31","impliedFormat":99},{"version":"1cf02270a889fcc3fa5863734fcdbea410d3b4dd71e4678a894a48028f836f6e","impliedFormat":99},{"version":"4f69dd36aa514494e2665a9dd1ecbb94f705c37f13554aa6f0c4b55d47dcfec1","impliedFormat":99},{"version":"3cb5734586224b2daa65a52cbe2428195e1542681ac85e4d7e9ca691e841db5e","impliedFormat":99},{"version":"9829414bd4780db78f4d5d6a4f57fd0fea3e7d24cdc192fb2cd1a362b91b0551","impliedFormat":99},{"version":"1ecf5de9c016d0b07533f2eef218c3771a013c38533824f96743092aa97c8377","impliedFormat":99},{"version":"51f3be4aa09529ea1ad83a3d66830075a49e3e630df25d9892ef5708bb00de55","impliedFormat":99},{"version":"3be1009bb5aa2b0525d65c721154ef69e7b511ef2932d7f3d98f1b25caf14555","impliedFormat":99},"1543cb12235ca81a5ec37044b2b6b28241ea0694c6e3bd1debad14edb2407691","0beeb5219eb8bd843be2ac8521ddc3951a9cebe934fce7506ff62b691110417b","e3bec9dad9f39db072b2e0d64d37c6a294a8c6faaf92d4f24c29cdd0becd2d82",{"version":"50540db6497731c003e5a0542dad43e42569d7d7cd4a60b8417e5639226b0d59","signature":"e1bc841ac646e3e70647ff91b07792bf5a2e6ab5334fbc65a8ed880cf37d2c8a"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"9019e48ace02a7f39315d84261f4a3dd23b7a3b1f6584e694001ac93971791b7","impliedFormat":1},{"version":"2f78692a85ada51c8f0988184d34d28436c1040e8ccf0758ba70d4b32b9776ad","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"ec62d16f95636123624a69191a35b5df44b4b0a6428977e856c5739c0a787471","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"e1028394c1cf96d5d057ecc647e31e457b919092f882ed0c7092152b077fed9d","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[162,[172,174],[178,182],188,189,223],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useDefineForClassFields":false},"referencedMap":[[352,1],[355,2],[63,1],[74,1],[75,3],[78,4],[76,4],[80,4],[83,5],[82,4],[81,4],[79,4],[77,6],[64,1],[65,7],[133,8],[131,9],[132,10],[134,11],[135,12],[187,13],[186,14],[121,15],[120,16],[123,17],[124,18],[73,19],[72,16],[122,20],[184,21],[128,22],[129,23],[130,23],[127,1],[185,24],[183,1],[176,25],[175,22],[177,26],[125,27],[126,28],[167,29],[171,30],[168,31],[170,16],[169,16],[158,1],[159,20],[157,20],[156,32],[149,33],[150,34],[154,35],[152,36],[160,37],[142,16],[151,16],[153,16],[155,16],[161,38],[115,39],[145,40],[146,40],[143,40],[144,40],[148,40],[147,40],[141,41],[140,42],[139,43],[138,44],[136,16],[117,45],[118,46],[119,47],[116,16],[137,48],[94,1],[96,1],[97,1],[98,49],[95,1],[99,20],[102,34],[103,20],[104,20],[105,20],[110,50],[106,20],[107,20],[108,20],[109,20],[101,1],[112,1],[113,51],[114,52],[92,34],[100,1],[111,1],[93,53],[85,1],[90,54],[88,55],[87,56],[89,1],[86,1],[207,1],[191,1],[205,1],[199,1],[193,1],[211,1],[214,1],[200,1],[210,1],[192,1],[206,1],[196,1],[216,1],[201,1],[219,57],[208,1],[213,1],[212,1],[194,1],[197,1],[198,1],[218,58],[217,20],[215,1],[190,1],[209,1],[195,1],[204,59],[202,60],[203,61],[354,1],[360,62],[287,63],[288,63],[289,64],[225,65],[290,66],[291,67],[292,68],[293,69],[294,70],[295,71],[296,72],[297,73],[298,74],[299,74],[300,75],[301,76],[302,1],[303,77],[304,78],[226,1],[224,1],[305,79],[306,80],[307,81],[351,82],[308,83],[309,84],[310,83],[311,85],[312,86],[314,87],[315,88],[316,88],[317,88],[318,89],[319,90],[320,91],[321,92],[322,93],[323,94],[324,94],[325,95],[326,1],[327,1],[328,96],[329,97],[330,98],[331,99],[332,100],[333,101],[334,102],[335,103],[336,104],[337,105],[338,106],[339,107],[340,108],[341,109],[342,110],[343,111],[344,112],[345,113],[346,114],[347,115],[227,83],[228,1],[229,116],[230,117],[231,1],[232,118],[233,1],[278,119],[279,120],[280,121],[281,121],[282,122],[283,1],[284,66],[285,123],[286,120],[348,124],[349,125],[350,126],[67,1],[313,1],[353,1],[359,127],[166,128],[163,1],[164,129],[165,130],[357,131],[358,132],[69,133],[66,134],[70,1],[68,135],[84,136],[71,137],[356,138],[91,1],[62,1],[60,1],[61,1],[10,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[22,1],[23,1],[4,1],[24,1],[28,1],[25,1],[26,1],[27,1],[29,1],[30,1],[31,1],[5,1],[32,1],[33,1],[34,1],[35,1],[6,1],[39,1],[36,1],[37,1],[38,1],[40,1],[7,1],[41,1],[46,1],[47,1],[42,1],[43,1],[44,1],[45,1],[8,1],[51,1],[48,1],[49,1],[50,1],[52,1],[9,1],[53,1],[54,1],[55,1],[57,1],[56,1],[1,1],[58,1],[59,1],[252,139],[266,140],[249,141],[267,142],[276,143],[240,144],[241,145],[239,146],[275,147],[270,148],[274,149],[243,150],[253,151],[263,152],[242,153],[273,154],[237,155],[238,148],[244,151],[245,1],[251,156],[248,151],[235,157],[277,158],[268,159],[256,160],[255,151],[257,161],[260,162],[254,163],[258,164],[271,147],[246,165],[247,166],[261,167],[236,142],[265,168],[264,151],[250,166],[259,169],[262,170],[269,1],[234,1],[272,171],[223,172],[178,173],[174,174],[162,175],[172,176],[173,177],[180,176],[179,176],[181,178],[182,179],[189,180],[188,176],[220,1],[222,181],[221,16]],"version":"5.9.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/apptool-ui",
3
- "version": "10.1.154",
3
+ "version": "10.1.157",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -29,8 +29,8 @@
29
29
  "dependencies": {
30
30
  "@material/web": "^2.0.0",
31
31
  "@operato/layout": "^10.0.0",
32
- "@things-factory/apptool-base": "^10.1.154",
33
- "@things-factory/setting-base": "^10.1.154"
32
+ "@things-factory/apptool-base": "^10.1.157",
33
+ "@things-factory/setting-base": "^10.1.157"
34
34
  },
35
- "gitHead": "f28579aa7131cbb282eb8813f8b285d9d29bb525"
35
+ "gitHead": "bde810f804966549a7041457ad7ede40fcb78488"
36
36
  }
@@ -0,0 +1,78 @@
1
+ import { readFileSync } from 'fs'
2
+ import path from 'path'
3
+
4
+ import { keepOnly, nextAfterClose, withoutRoute, type MdiRoute } from '../client/layout/mdibar-routes'
5
+
6
+ /**
7
+ * Closing MDI tabs (2026-10-12, user report: "a tab does not close in one go").
8
+ *
9
+ * Found in the browser on operato-plant with five tabs open:
10
+ *
11
+ * × on the active tab the tab came back at the end, carrying the next page's address
12
+ * context menu "close" the chosen page was disposed, the tab to its left was dropped
13
+ * "close others" `route === route` - no other page was disposed, only the tabs vanished
14
+ *
15
+ * The rules are tested here; that the bar uses them, and keeps a closed page from coming back, is read
16
+ * from the source.
17
+ */
18
+
19
+ const home: MdiRoute = { url: '/' }
20
+ const a: MdiRoute = { url: '/a', name: 'a', page: { id: 'A' } }
21
+ const b: MdiRoute = { url: '/b', name: 'b', page: { id: 'B' } }
22
+ const c: MdiRoute = { url: '/c', name: 'c', page: { id: 'C' } }
23
+ const routes = [home, a, b, c]
24
+
25
+ describe('closing an MDI tab', () => {
26
+ it('★ takes out exactly that tab, found by itself - not by a position', () => {
27
+ expect(withoutRoute(routes, b)).toEqual({ routes: [home, a, c], at: 2 })
28
+ expect(withoutRoute(routes, a)).toEqual({ routes: [home, b, c], at: 1 })
29
+ expect(withoutRoute(routes, c)).toEqual({ routes: [home, a, b], at: 3 })
30
+ })
31
+
32
+ it('home never closes, and a tab that is not there changes nothing', () => {
33
+ expect(withoutRoute(routes, home).at).toBe(-1)
34
+ expect(withoutRoute(routes, { url: '/x' }).at).toBe(-1)
35
+ expect(withoutRoute(routes, { url: '/x' }).routes).toBe(routes)
36
+ })
37
+
38
+ it('the tab on screen closing hands the screen to the tab on its left - home for the first', () => {
39
+ expect(nextAfterClose(withoutRoute(routes, b).routes, 2)).toBe(a)
40
+ expect(nextAfterClose(withoutRoute(routes, a).routes, 1)).toBe(home)
41
+ expect(nextAfterClose(withoutRoute(routes, c).routes, 3)).toBe(b)
42
+ })
43
+
44
+ it('★ close others keeps home and the chosen tab, and hands back every other tab to dispose', () => {
45
+ expect(keepOnly(routes, b)).toEqual({ routes: [home, b], closed: [a, c] })
46
+ })
47
+
48
+ it('close all (keep home) closes every tab but home', () => {
49
+ expect(keepOnly(routes, home)).toEqual({ routes: [home], closed: [a, b, c] })
50
+ expect(keepOnly(routes, undefined)).toEqual({ routes: [home], closed: [a, b, c] })
51
+ })
52
+ })
53
+
54
+ describe('the bar uses the rules', () => {
55
+ const code = readFileSync(path.resolve(__dirname, '../client/layout/page-mdibar.ts'), 'utf-8')
56
+
57
+ it('★ a page the bar closed never comes back as a tab while the address catches up', () => {
58
+ expect(code).toMatch(/this\.closed\.add\(page\)/)
59
+ expect(code).toMatch(/const page = activePage\s*\/\*[^*]*\*\/\s*if \(this\.closed\.has\(page\)\) \{\s*return\s*\}/)
60
+ })
61
+
62
+ it('★ every close path goes through dispose, by route - no index from the template', () => {
63
+ expect(code).not.toMatch(/contextMenuTargetIndex/)
64
+ expect(code).not.toMatch(/closePage\([^)]*,/)
65
+ expect(code.match(/pageDispose\(\)/g)).toHaveLength(1)
66
+ })
67
+
68
+ it('the menu speaks the user language', () => {
69
+ expect(code).not.toMatch(/label="close/)
70
+ for (const key of ['button.close-tab', 'button.close-other-tabs', 'button.close-all-tabs', 'text.confirm_close_other_tabs']) {
71
+ expect(code).toContain(`'${key}'`)
72
+ for (const lang of ['ko', 'en', 'ja', 'zh', 'es', 'ms']) {
73
+ const words = JSON.parse(readFileSync(path.resolve(__dirname, `../translations/${lang}.json`), 'utf-8'))
74
+ expect(words[key]).toBeTruthy()
75
+ }
76
+ }
77
+ })
78
+ })
@@ -2,5 +2,9 @@
2
2
  "label.home": "home",
3
3
  "label.show": "show",
4
4
  "text.confirm_close_all_tabs": "Are you sure you want to close all tabs?",
5
- "title.mdibar setting": "MDI setting"
5
+ "title.mdibar setting": "MDI setting",
6
+ "button.close-tab": "close tab",
7
+ "button.close-other-tabs": "close other tabs",
8
+ "button.close-all-tabs": "close all tabs",
9
+ "text.confirm_close_other_tabs": "Close every tab except the one on screen?"
6
10
  }
@@ -2,5 +2,9 @@
2
2
  "label.home": "inicio",
3
3
  "label.show": "mostrar",
4
4
  "text.confirm_close_all_tabs": "¿Está seguro de que desea cerrar todas las pestañas?",
5
- "title.mdibar setting": "Configuración de MDI"
5
+ "title.mdibar setting": "Configuración de MDI",
6
+ "button.close-tab": "cerrar pestaña",
7
+ "button.close-other-tabs": "cerrar las demás pestañas",
8
+ "button.close-all-tabs": "cerrar todas las pestañas",
9
+ "text.confirm_close_other_tabs": "¿Cerrar todas las pestañas excepto la que está en pantalla?"
6
10
  }
@@ -2,5 +2,9 @@
2
2
  "label.home": "ホーム",
3
3
  "label.show": "表示",
4
4
  "text.confirm_close_all_tabs": "開いているすべてのタブを閉じますか?",
5
- "title.mdibar setting": "MDI設定"
5
+ "title.mdibar setting": "MDI設定",
6
+ "button.close-tab": "タブを閉じる",
7
+ "button.close-other-tabs": "他のタブを閉じる",
8
+ "button.close-all-tabs": "すべてのタブを閉じる",
9
+ "text.confirm_close_other_tabs": "表示中のタブ以外をすべて閉じますか?"
6
10
  }
@@ -2,5 +2,9 @@
2
2
  "label.home": "홈",
3
3
  "label.show": "보이기",
4
4
  "text.confirm_close_all_tabs": "열려있는 모든 탭을 닫으시겠습니까?",
5
- "title.mdibar setting": "MDI 설정"
5
+ "title.mdibar setting": "MDI 설정",
6
+ "button.close-tab": "탭 닫기",
7
+ "button.close-other-tabs": "다른 탭 닫기",
8
+ "button.close-all-tabs": "모든 탭 닫기",
9
+ "text.confirm_close_other_tabs": "지금 보는 탭만 남기고 나머지 탭을 닫으시겠습니까?"
6
10
  }
@@ -2,5 +2,9 @@
2
2
  "label.home": "Rumah",
3
3
  "label.show": "tunjuk",
4
4
  "text.confirm_close_all_tabs": "Adakah anda pasti mahu menutup semua tab?",
5
- "title.mdibar setting": "Tetapan MDI"
5
+ "title.mdibar setting": "Tetapan MDI",
6
+ "button.close-tab": "tutup tab",
7
+ "button.close-other-tabs": "tutup tab lain",
8
+ "button.close-all-tabs": "tutup semua tab",
9
+ "text.confirm_close_other_tabs": "Tutup semua tab kecuali tab yang dipaparkan?"
6
10
  }
@@ -2,5 +2,9 @@
2
2
  "label.home": "首页",
3
3
  "label.show": "显示",
4
4
  "text.confirm_close_all_tabs": "确定要关闭所有标签页吗?",
5
- "title.mdibar setting": "MDI设置"
5
+ "title.mdibar setting": "MDI设置",
6
+ "button.close-tab": "关闭标签",
7
+ "button.close-other-tabs": "关闭其他标签",
8
+ "button.close-all-tabs": "关闭所有标签",
9
+ "text.confirm_close_other_tabs": "是否关闭当前标签以外的所有标签?"
6
10
  }