@jsenv/navi 0.27.54 → 0.27.55

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.
@@ -1,3 +1,5 @@
1
+ import { signal, computed, effect } from "@preact/signals";
2
+
1
3
  const installImportMetaCssBuild = (importMeta) => {
2
4
  const IMPORT_META_CSS_BUILD = "jsenv_import_meta_css_build";
3
5
 
@@ -48,10 +50,37 @@ const installImportMetaCssBuild = (importMeta) => {
48
50
  });
49
51
  };
50
52
 
53
+ const windowWidthSignal = signal(window.innerWidth);
54
+ const windowHeightSignal = signal(window.innerHeight);
55
+
56
+ window.addEventListener("resize", () => {
57
+ windowWidthSignal.value = window.innerWidth;
58
+ windowHeightSignal.value = window.innerHeight;
59
+ });
60
+
61
+ // Visual viewport dimensions — update when the virtual keyboard opens/closes or
62
+ // when the browser UI (address bar) shows/hides.
63
+ // When visualViewport is not available, derived from window signals so they
64
+ // stay live without any extra listeners.
65
+ const vv = window.visualViewport;
66
+ const visualViewportWidthSignal = vv
67
+ ? signal(vv.width)
68
+ : computed(() => windowWidthSignal.value);
69
+ const visualViewportHeightSignal = vv
70
+ ? signal(vv.height)
71
+ : computed(() => windowHeightSignal.value);
72
+ if (vv) {
73
+ const update = () => {
74
+ visualViewportWidthSignal.value = vv.width;
75
+ visualViewportHeightSignal.value = vv.height;
76
+ };
77
+ vv.addEventListener("resize", update);
78
+ vv.addEventListener("scroll", update);
79
+ }
80
+
51
81
  installImportMetaCssBuild(import.meta);/**
52
82
  * Regroup CSS vars that makes sense to share across all navi components.
53
83
  */
54
-
55
84
  const button = document.createElement("button");
56
85
  button.style.display = "none";
57
86
  document.body.appendChild(button);
@@ -62,6 +91,11 @@ document.body.removeChild(button);
62
91
  const css = /* css */`
63
92
  @layer navi {
64
93
  :root {
94
+ /* Overridden at runtime with precise VisualViewport pixel values so that dvw/dvh
95
+ (which don't track the virtual keyboard dimensions) are never used in practice on supported browsers. */
96
+ --navi-vvw: 100dvw;
97
+ --navi-vvh: 100dvh;
98
+
65
99
  --navi-focus-outline-width: 2px;
66
100
  --navi-focus-outline-color: light-dark(#4476ff, #3b82f6);
67
101
  --navi-loader-color: light-dark(#355fcc, #3b82f6);
@@ -161,6 +195,10 @@ const css = /* css */`
161
195
  }
162
196
  `;
163
197
  import.meta.css = [css, "@jsenv/navi/src/navi_css_vars.js"];
198
+ effect(() => {
199
+ document.documentElement.style.setProperty("--navi-vvw", `${visualViewportWidthSignal.value}px`);
200
+ document.documentElement.style.setProperty("--navi-vvh", `${visualViewportHeightSignal.value}px`);
201
+ });
164
202
 
165
- export { installImportMetaCssBuild };
203
+ export { installImportMetaCssBuild, windowWidthSignal };
166
204
  //# sourceMappingURL=jsenv_navi_side_effects.js.map
@@ -1,16 +1,19 @@
1
1
  {
2
2
  "version": 3,
3
- "file": "jsenv_navi_side_effects.js",
4
3
  "sources": [
5
4
  "../../../../dist/client/import_meta_css/import_meta_css_build.js",
6
- "../src/navi_css_vars.js"
7
- ],
8
- "sourcesContent": [
9
- "const installImportMetaCssBuild = (importMeta) => {\n const IMPORT_META_CSS_BUILD = \"jsenv_import_meta_css_build\";\n\n if (importMeta.css === IMPORT_META_CSS_BUILD) {\n return;\n }\n\n const stylesheetMap = new Map();\n const adopt = (url, value) => {\n const stylesheet = new CSSStyleSheet({ baseUrl: importMeta.url });\n stylesheet.replaceSync(value);\n stylesheetMap.set(url, stylesheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n };\n const update = (url, value) => {\n stylesheetMap.get(url).replaceSync(value);\n };\n const remove = (url) => {\n const stylesheet = stylesheetMap.get(url);\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== stylesheet,\n );\n stylesheetMap.delete(url);\n };\n\n const currentCssSourceMap = new Map();\n Object.defineProperty(importMeta, \"css\", {\n configurable: true,\n get() {\n return IMPORT_META_CSS_BUILD;\n },\n set([value, url]) {\n if (value === undefined) {\n if (stylesheetMap.has(url)) {\n remove(url);\n currentCssSourceMap.delete(url);\n }\n return;\n }\n if (!stylesheetMap.has(url)) {\n adopt(url, value);\n currentCssSourceMap.set(url, value);\n } else if (currentCssSourceMap.get(url) !== value) {\n update(url, value);\n currentCssSourceMap.set(url, value);\n }\n },\n });\n};\n\nexport { installImportMetaCssBuild };\n",
10
- "import { installImportMetaCssBuild as __installImportMetaCssBuild__ } from \"file:///Users/dmail/Documents/dev/jsenv/core/dist/client/import_meta_css/import_meta_css_build.js\";__installImportMetaCssBuild__(import.meta);/**\n * Regroup CSS vars that makes sense to share across all navi components.\n */\n\nconst button = document.createElement(\"button\");\nbutton.style.display = \"none\";\ndocument.body.appendChild(button);\nconst computedStyle = getComputedStyle(button);\nconst controlDefaultFontFamily = computedStyle.fontFamily;\nconst controlDefaultFontSize = computedStyle.fontSize;\ndocument.body.removeChild(button);\nconst css = /* css */`\n @layer navi {\n :root {\n --navi-focus-outline-width: 2px;\n --navi-focus-outline-color: light-dark(#4476ff, #3b82f6);\n --navi-loader-color: light-dark(#355fcc, #3b82f6);\n --navi-control-tap-highlight-color: transparent;\n\n --navi-control-font-family: ${controlDefaultFontFamily};\n --navi-control-font-size: ${controlDefaultFontSize};\n --navi-control-border-radius: 2px;\n --navi-control-border-width: 1px;\n --navi-control-border-color: light-dark(#767676, #8e8e93);\n --navi-control-padding-x-default: 2px;\n --navi-control-padding-y-default: 1px;\n /* Global padding defaults — override these to change all button paddings. */\n /* Use --button-padding, --button-padding-x, --button-padding-y for per-button overrides. */\n --navi-button-padding-x-default: 6px;\n --navi-button-padding-y-default: 1px;\n /* For list item we need slightly more padding to be able to see radio/checkbox outline */\n --navi-list-item-padding-x-default: 4px;\n --navi-list-item-padding-y-default: 1px;\n /* default */\n --navi-picker-padding-x-default: var(--navi-control-padding-x-default);\n --navi-picker-padding-y-default: var(--navi-control-padding-y-default);\n\n --navi-selection-border-color: #0078d4;\n --navi-selection-background-color: #eaf1fd;\n /* Accent color — used for call-to-action buttons and selected list items.\n Override this single variable to apply a consistent brand color across\n all components that need to stand out. */\n --navi-accent-color: rgb(3, 30, 60);\n --navi-color-white: white;\n --navi-color-dark: rgb(55, 60, 69);\n\n --navi-info-color-light: #eaf6fc;\n --navi-info-color: #376cc2;\n --navi-success-color-light: #ecf9ef;\n --navi-success-color: #50c464;\n --navi-warning-color-light: #fdf6e3;\n --navi-warning-color: #f19c05;\n --navi-error-color-light: #fcebed;\n --navi-error-color: #eb364b;\n\n --navi-xxs: 0.125em; /* = 2px at 16px base */\n --navi-xs: 0.25em; /* = 4px at 16px base */\n --navi-s: 0.5em; /* = 8px at 16px base */\n --navi-m: 1em; /* = 16px at 16px base (base font size) */\n --navi-l: 1.5em; /* = 24px at 16px base */\n --navi-xl: 2em; /* = 32px at 16px base */\n --navi-xxl: 3em; /* 48px at 16px base */\n\n --navi-typo-xxs: 0.625rem; /* 10px at 16px base */\n --navi-typo-xs: 0.75rem; /* 12px at 16px base */\n --navi-typo-s: 0.875rem; /* 14px at 16px base */\n --navi-typo-m: 1rem; /* 16px at 16px base (base font size) */\n --navi-typo-l: 1.125rem; /* 18px at 16px base */\n --navi-typo-xl: 1.25rem; /* 20px at 16px base */\n --navi-typo-xxl: 1.5rem; /* 24px at 16px base */\n\n /* Color keywords — mix currentColor toward transparent or black.\n secondary: supporting text, captions, less important labels\n emphasis: reinforce meaning, make content stand out more\n discrete: unobtrusive elements that shouldn't compete for attention\n hint: barely-there color, watermarks, ghost placeholders */\n --navi-color-secondary: color-mix(in srgb, currentColor 80%, transparent);\n --navi-color-emphasis: color-mix(in srgb, currentColor 50%, black);\n --navi-color-discrete: color-mix(in srgb, currentColor 60%, transparent);\n --navi-color-hint: color-mix(in srgb, currentColor 25%, transparent);\n }\n }\n\n /* Hidden appearance */\n input[navi-visually-hidden],\n button[navi-visually-hidden],\n div[navi-visually-hidden] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n /* Important to take full size so that scrollIntoView work as expected */\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(50%);\n appearance: none;\n overflow: hidden;\n\n &[navi-debug] {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n clip-path: none;\n appearance: auto;\n }\n }\n`;\nimport.meta.css = [css, \"@jsenv/navi/src/navi_css_vars.js\"];"
5
+ "../src/layout/responsive.js",
6
+ "../src/navi_css_vars.js",
7
+ ""
11
8
  ],
12
9
  "names": [
13
10
  "__installImportMetaCssBuild__"
14
11
  ],
15
- "mappings": "AAAK,MAAC,yBAAyB,GAAG,CAAC,UAAU,KAAK;AAClD,EAAE,MAAM,qBAAqB,GAAG,6BAA6B;;AAE7D,EAAE,IAAI,UAAU,CAAC,GAAG,KAAK,qBAAqB,EAAE;AAChD,IAAI;AACJ,EAAE;;AAEF,EAAE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE;AACjC,EAAE,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK;AAChC,IAAI,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;AACrE,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;AACjC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC;AACtC,IAAI,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC;AAC9E,EAAE,CAAC;AACH,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK;AACjC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;AAC7C,EAAE,CAAC;AACH,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK;AAC1B,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;AAC7C,IAAI,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM;AACpE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,UAAU;AAC7B,KAAK;AACL,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;AAC7B,EAAE,CAAC;;AAEH,EAAE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAE;AACvC,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE;AAC3C,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,GAAG,GAAG;AACV,MAAM,OAAO,qBAAqB;AAClC,IAAI,CAAC;AACL,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;AACtB,MAAM,IAAI,KAAK,KAAK,SAAS,EAAE;AAC/B,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACpC,UAAU,MAAM,CAAC,GAAG,CAAC;AACrB,UAAU,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC;AACzC,QAAQ;AACR,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACnC,QAAQ,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AACzB,QAAQ,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC3C,MAAM,CAAC,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;AACzD,QAAQ,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;AAC1B,QAAQ,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC3C,MAAM;AACN,IAAI,CAAC;AACL,GAAG,CAAC;AACJ;;AChD+KA,yBAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1N;AACA;;AAEA,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC/C,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACjC,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC;AAC9C,MAAM,wBAAwB,GAAG,aAAa,CAAC,UAAU;AACzD,MAAM,sBAAsB,GAAG,aAAa,CAAC,QAAQ;AACrD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACjC,MAAM,GAAG,YAAY;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,EAAE,wBAAwB,CAAC;AAC7D,gCAAgC,EAAE,sBAAsB,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,kCAAkC,CAAC;;;;"
12
+ "mappings": "AGAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAwB;;AHA5D,AGEL,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDlD,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;;AHA7D,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA;AHDhD,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AHDV,AGEA,CAAC,CHFC,AGEA;;AHAF,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA;AHDjC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDhC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CHFC,AGEA;AHDrE,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHDjC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHDtC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHD9E,AGEA,CAAC,CHFC,AGEA,CHFC,AGEA;AHDH,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDjC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHD7C,AGEA,CAAC,CHFC,AGEA,CHFC,AGEA;AHDH,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHD1B,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHD7C,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDpE,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHD7B,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDL,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHD7B,AGEA,CAAC,CHFC,AGEA,CHFC,AGEA;;AHAH,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA;AHDvC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA;AHD3C,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA;AHDtB,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA;AHDV,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDlC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHDL,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CHFC,AGEA;AHDtB,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA;AHD/B,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CHFC,AGEA;AHDpC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHDrB,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHDzC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDR,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AHDd,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDN,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CHFC,AGEA;AHDnC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHDzB,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHD3C,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA;AHDzD,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHD1B,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA,CAAC,CAAC,CHFC,AGEA,CAAC,CHFC,AGEA,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHD3C,AGEA,CAAC,CAAC,CAAC,CAAC,CAAC,CHFC,AGEA;AHDN,AGEA,CAAC,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHDL,AGEA,CAAC,CAAC,CHFC,AGEA,CHFC,AGEA;AHDJ,AGEA,CAAC;;AAED,AFlDY,CEkDX,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN;AACnD,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,AFlDO;;AEoD5D,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmDxC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmD7C,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmD/C,AFlDA,CEkDC,AFlDA,CEkDC,AFlDA;;AEoDF,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmDhC,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,AFlDO,CEkDN;AACnC,AFlDA,CEkDC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmDnB,AFlDA,CEkDC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA;AEmD3C,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDO,CEkDN,CAAC,CAAC,AFlDO,CEkDN;AACpC,AFlDA,CEkDC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmDpB,AFlDA,CEkDC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA;AEmD5C,AFlDA,CEkDC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,AFlDA;AEmDR,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmDvB,AFlDA,CEkDC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmD9C,AFlDA,CEkDC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA;AEmDhD,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,AFlDA;AEmDH,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA;AEmDvC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,CAAC,AFlDA,CEkDC,CAAC,CAAC,CAAC,CAAC,CAAC,AFlDA,CEkDC,AFlDA;AEmDvC,AFlDA;;AEoDA,ADhFEA,CCgFD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,ADhFvB,CCgFwB,ADhFxB,CCgFyB,CAAC,CAAC,CAAC,CAAC,CAAC,ADhF9B,CCgF+B,ADhF/B,CCgFgC,CAAC,CAAC,CAAC,ADhFnC,CCgFoC,ADhFpC,CCgFqC,ADhFrC,CCgFsC,CAAC;AACzC,ADhFA,CCgFC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,ADhFA,CCgFC,CAAC;AACF,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EL,CC8EM,CAAC,CAAC,AD9ER,CC8ES,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EhB,CC8EiB,AD9EjB,CC8EkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9E9B,CC8E+B,AD9E/B,CC8EgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EvC,CC8EwC,AD9ExC;AC+EP,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9ED;AC+E5B,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EL,CC8EM,AD9EN;AC+E3B,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EZ,CC8Ea,CAAC,CAAC,AD9Ef,CC8EgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9E/B,CC8EgC,AD9EhC,CC8EiC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EtC,CC8EuC,AD9EvC;AC+EP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EN;AC+E/C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EH,CC8EI,AD9EJ;AC+E7B,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA;AC+ErB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAExB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAErD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EnB,CC8EoB,AD9EpB;AC+ErC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/F,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE5E,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAExC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAEjC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE7C,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAErD,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,AD9EA,CC8EC,CAAC,CAAC,CAAC;AACJ,AD9EA,CC8EC,CAAC;;AAEF,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAEpB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,AD9EA,CC8EC,CAAC,CAAC,CAAC;AACJ,AD9EA,CC8EC,CAAC;AACF,AD9EA,CC8EC,AD9EA;AC+ED,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,AD9EA,CC8EC,CAAC,CAAC,AD9EH,CC8EI,AD9EJ,CC8EK,CAAC,CAAC,AD9EP,CC8EQ,CAAC,AD9ET,CC8EU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9E3C,CC8E4C,AD9E5C;AC+Ef,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA;AC+Eb,AD9EA,CC8EC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EA,CC8EC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EJ,CC8EK,AD9EL,CC8EM,CAAC,CAAC,CAAC,CAAC,AD9EV,CC8EW,AD9EX,CC8EY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EtB,CC8EuB,AD9EvB,CC8EwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EnC,CC8EoC,CAAC,AD9ErC,CC8EsC,AD9EtC,CC8EuC,CAAC,AD9ExC,CC8EyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EjE,CC8EkE,AD9ElE,CC8EmE,CAAC,CAAC,CAAC,CAAC,AD9EvE,CC8EwE,AD9ExE,CC8EyE,CAAC,AD9E1E,CC8E2E,AD9E3E,CC8E4E,AD9E5E;AC+EtB,AD9EA,CC8EC,CAAC,AD9EA,CC8EC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EN,CC8EO,AD9EP,CC8EQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EtB,CC8EuB,AD9EvB,CC8EwB,CAAC,CAAC,CAAC,CAAC,AD9E5B,CC8E6B,AD9E7B,CC8E8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9ExC,CC8EyC,AD9EzC,CC8E0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9ErD,CC8EsD,CAAC,AD9EvD,CC8EwD,AD9ExD,CC8EyD,CAAC,AD9E1D,CC8E2D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,AD9EpF,CC8EqF,AD9ErF,CC8EsF,CAAC,CAAC,CAAC,CAAC,AD9E1F,CC8E2F,AD9E3F,CC8E4F,CAAC,AD9E7F,CC8E8F,AD9E9F,CC8E+F,AD9E/F;AC+EJ,AD9EA,CC8EC,AD9EA,CC8EC,AD9EA;;ACgFF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
13
+ "sourcesContent": [
14
+ "const installImportMetaCssBuild = (importMeta) => {\n const IMPORT_META_CSS_BUILD = \"jsenv_import_meta_css_build\";\n\n if (importMeta.css === IMPORT_META_CSS_BUILD) {\n return;\n }\n\n const stylesheetMap = new Map();\n const adopt = (url, value) => {\n const stylesheet = new CSSStyleSheet({ baseUrl: importMeta.url });\n stylesheet.replaceSync(value);\n stylesheetMap.set(url, stylesheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n };\n const update = (url, value) => {\n stylesheetMap.get(url).replaceSync(value);\n };\n const remove = (url) => {\n const stylesheet = stylesheetMap.get(url);\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== stylesheet,\n );\n stylesheetMap.delete(url);\n };\n\n const currentCssSourceMap = new Map();\n Object.defineProperty(importMeta, \"css\", {\n configurable: true,\n get() {\n return IMPORT_META_CSS_BUILD;\n },\n set([value, url]) {\n if (value === undefined) {\n if (stylesheetMap.has(url)) {\n remove(url);\n currentCssSourceMap.delete(url);\n }\n return;\n }\n if (!stylesheetMap.has(url)) {\n adopt(url, value);\n currentCssSourceMap.set(url, value);\n } else if (currentCssSourceMap.get(url) !== value) {\n update(url, value);\n currentCssSourceMap.set(url, value);\n }\n },\n });\n};\n\nexport { installImportMetaCssBuild };\n",
15
+ "import { computed, signal } from \"@preact/signals\";\n\nexport const windowWidthSignal = signal(window.innerWidth);\nexport const windowHeightSignal = signal(window.innerHeight);\n\nwindow.addEventListener(\"resize\", () => {\n windowWidthSignal.value = window.innerWidth;\n windowHeightSignal.value = window.innerHeight;\n});\n\n// Visual viewport dimensions — update when the virtual keyboard opens/closes or\n// when the browser UI (address bar) shows/hides.\n// When visualViewport is not available, derived from window signals so they\n// stay live without any extra listeners.\nconst vv = window.visualViewport;\nexport const visualViewportWidthSignal = vv\n ? signal(vv.width)\n : computed(() => windowWidthSignal.value);\nexport const visualViewportHeightSignal = vv\n ? signal(vv.height)\n : computed(() => windowHeightSignal.value);\nif (vv) {\n const update = () => {\n visualViewportWidthSignal.value = vv.width;\n visualViewportHeightSignal.value = vv.height;\n };\n vv.addEventListener(\"resize\", update);\n vv.addEventListener(\"scroll\", update);\n}\n\n",
16
+ "/**\n * Regroup CSS vars that makes sense to share across all navi components.\n */\nimport { effect } from \"@preact/signals\";\n\nimport {\n visualViewportHeightSignal,\n visualViewportWidthSignal,\n} from \"./layout/responsive.js\";\n\nconst button = document.createElement(\"button\");\nbutton.style.display = \"none\";\ndocument.body.appendChild(button);\nconst computedStyle = getComputedStyle(button);\nconst controlDefaultFontFamily = computedStyle.fontFamily;\nconst controlDefaultFontSize = computedStyle.fontSize;\ndocument.body.removeChild(button);\n\nconst css = /* css */ `\n @layer navi {\n :root {\n /* Overridden at runtime with precise VisualViewport pixel values so that dvw/dvh \n (which don't track the virtual keyboard dimensions) are never used in practice on supported browsers. */\n --navi-vvw: 100dvw;\n --navi-vvh: 100dvh;\n\n --navi-focus-outline-width: 2px;\n --navi-focus-outline-color: light-dark(#4476ff, #3b82f6);\n --navi-loader-color: light-dark(#355fcc, #3b82f6);\n --navi-control-tap-highlight-color: transparent;\n\n --navi-control-font-family: ${controlDefaultFontFamily};\n --navi-control-font-size: ${controlDefaultFontSize};\n --navi-control-border-radius: 2px;\n --navi-control-border-width: 1px;\n --navi-control-border-color: light-dark(#767676, #8e8e93);\n --navi-control-padding-x-default: 2px;\n --navi-control-padding-y-default: 1px;\n /* Global padding defaults — override these to change all button paddings. */\n /* Use --button-padding, --button-padding-x, --button-padding-y for per-button overrides. */\n --navi-button-padding-x-default: 6px;\n --navi-button-padding-y-default: 1px;\n /* For list item we need slightly more padding to be able to see radio/checkbox outline */\n --navi-list-item-padding-x-default: 4px;\n --navi-list-item-padding-y-default: 1px;\n /* default */\n --navi-picker-padding-x-default: var(--navi-control-padding-x-default);\n --navi-picker-padding-y-default: var(--navi-control-padding-y-default);\n\n --navi-selection-border-color: #0078d4;\n --navi-selection-background-color: #eaf1fd;\n /* Accent color — used for call-to-action buttons and selected list items.\n Override this single variable to apply a consistent brand color across\n all components that need to stand out. */\n --navi-accent-color: rgb(3, 30, 60);\n --navi-color-white: white;\n --navi-color-dark: rgb(55, 60, 69);\n\n --navi-info-color-light: #eaf6fc;\n --navi-info-color: #376cc2;\n --navi-success-color-light: #ecf9ef;\n --navi-success-color: #50c464;\n --navi-warning-color-light: #fdf6e3;\n --navi-warning-color: #f19c05;\n --navi-error-color-light: #fcebed;\n --navi-error-color: #eb364b;\n\n --navi-xxs: 0.125em; /* = 2px at 16px base */\n --navi-xs: 0.25em; /* = 4px at 16px base */\n --navi-s: 0.5em; /* = 8px at 16px base */\n --navi-m: 1em; /* = 16px at 16px base (base font size) */\n --navi-l: 1.5em; /* = 24px at 16px base */\n --navi-xl: 2em; /* = 32px at 16px base */\n --navi-xxl: 3em; /* 48px at 16px base */\n\n --navi-typo-xxs: 0.625rem; /* 10px at 16px base */\n --navi-typo-xs: 0.75rem; /* 12px at 16px base */\n --navi-typo-s: 0.875rem; /* 14px at 16px base */\n --navi-typo-m: 1rem; /* 16px at 16px base (base font size) */\n --navi-typo-l: 1.125rem; /* 18px at 16px base */\n --navi-typo-xl: 1.25rem; /* 20px at 16px base */\n --navi-typo-xxl: 1.5rem; /* 24px at 16px base */\n\n /* Color keywords — mix currentColor toward transparent or black.\n secondary: supporting text, captions, less important labels\n emphasis: reinforce meaning, make content stand out more\n discrete: unobtrusive elements that shouldn't compete for attention\n hint: barely-there color, watermarks, ghost placeholders */\n --navi-color-secondary: color-mix(in srgb, currentColor 80%, transparent);\n --navi-color-emphasis: color-mix(in srgb, currentColor 50%, black);\n --navi-color-discrete: color-mix(in srgb, currentColor 60%, transparent);\n --navi-color-hint: color-mix(in srgb, currentColor 25%, transparent);\n }\n }\n\n /* Hidden appearance */\n input[navi-visually-hidden],\n button[navi-visually-hidden],\n div[navi-visually-hidden] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n /* Important to take full size so that scrollIntoView work as expected */\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(50%);\n appearance: none;\n overflow: hidden;\n\n &[navi-debug] {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n clip-path: none;\n appearance: auto;\n }\n }\n`;\nimport.meta.css = css;\n\neffect(() => {\n document.documentElement.style.setProperty(\n \"--navi-vvw\",\n `${visualViewportWidthSignal.value}px`,\n );\n document.documentElement.style.setProperty(\n \"--navi-vvh\",\n `${visualViewportHeightSignal.value}px`,\n );\n});\n",
17
+ "import { signal, computed, effect } from 'ignore:@preact/signals';\n\nconst installImportMetaCssBuild = (importMeta) => {\n const IMPORT_META_CSS_BUILD = \"jsenv_import_meta_css_build\";\n\n if (importMeta.css === IMPORT_META_CSS_BUILD) {\n return;\n }\n\n const stylesheetMap = new Map();\n const adopt = (url, value) => {\n const stylesheet = new CSSStyleSheet({ baseUrl: importMeta.url });\n stylesheet.replaceSync(value);\n stylesheetMap.set(url, stylesheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n };\n const update = (url, value) => {\n stylesheetMap.get(url).replaceSync(value);\n };\n const remove = (url) => {\n const stylesheet = stylesheetMap.get(url);\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== stylesheet,\n );\n stylesheetMap.delete(url);\n };\n\n const currentCssSourceMap = new Map();\n Object.defineProperty(importMeta, \"css\", {\n configurable: true,\n get() {\n return IMPORT_META_CSS_BUILD;\n },\n set([value, url]) {\n if (value === undefined) {\n if (stylesheetMap.has(url)) {\n remove(url);\n currentCssSourceMap.delete(url);\n }\n return;\n }\n if (!stylesheetMap.has(url)) {\n adopt(url, value);\n currentCssSourceMap.set(url, value);\n } else if (currentCssSourceMap.get(url) !== value) {\n update(url, value);\n currentCssSourceMap.set(url, value);\n }\n },\n });\n};\n\nconst windowWidthSignal = signal(window.innerWidth);\nconst windowHeightSignal = signal(window.innerHeight);\n\nwindow.addEventListener(\"resize\", () => {\n windowWidthSignal.value = window.innerWidth;\n windowHeightSignal.value = window.innerHeight;\n});\n\n// Visual viewport dimensions — update when the virtual keyboard opens/closes or\n// when the browser UI (address bar) shows/hides.\n// When visualViewport is not available, derived from window signals so they\n// stay live without any extra listeners.\nconst vv = window.visualViewport;\nconst visualViewportWidthSignal = vv\n ? signal(vv.width)\n : computed(() => windowWidthSignal.value);\nconst visualViewportHeightSignal = vv\n ? signal(vv.height)\n : computed(() => windowHeightSignal.value);\nif (vv) {\n const update = () => {\n visualViewportWidthSignal.value = vv.width;\n visualViewportHeightSignal.value = vv.height;\n };\n vv.addEventListener(\"resize\", update);\n vv.addEventListener(\"scroll\", update);\n}\n\ninstallImportMetaCssBuild(import.meta);/**\n * Regroup CSS vars that makes sense to share across all navi components.\n */\nconst button = document.createElement(\"button\");\nbutton.style.display = \"none\";\ndocument.body.appendChild(button);\nconst computedStyle = getComputedStyle(button);\nconst controlDefaultFontFamily = computedStyle.fontFamily;\nconst controlDefaultFontSize = computedStyle.fontSize;\ndocument.body.removeChild(button);\nconst css = /* css */`\n @layer navi {\n :root {\n /* Overridden at runtime with precise VisualViewport pixel values so that dvw/dvh \n (which don't track the virtual keyboard dimensions) are never used in practice on supported browsers. */\n --navi-vvw: 100dvw;\n --navi-vvh: 100dvh;\n\n --navi-focus-outline-width: 2px;\n --navi-focus-outline-color: light-dark(#4476ff, #3b82f6);\n --navi-loader-color: light-dark(#355fcc, #3b82f6);\n --navi-control-tap-highlight-color: transparent;\n\n --navi-control-font-family: ${controlDefaultFontFamily};\n --navi-control-font-size: ${controlDefaultFontSize};\n --navi-control-border-radius: 2px;\n --navi-control-border-width: 1px;\n --navi-control-border-color: light-dark(#767676, #8e8e93);\n --navi-control-padding-x-default: 2px;\n --navi-control-padding-y-default: 1px;\n /* Global padding defaults — override these to change all button paddings. */\n /* Use --button-padding, --button-padding-x, --button-padding-y for per-button overrides. */\n --navi-button-padding-x-default: 6px;\n --navi-button-padding-y-default: 1px;\n /* For list item we need slightly more padding to be able to see radio/checkbox outline */\n --navi-list-item-padding-x-default: 4px;\n --navi-list-item-padding-y-default: 1px;\n /* default */\n --navi-picker-padding-x-default: var(--navi-control-padding-x-default);\n --navi-picker-padding-y-default: var(--navi-control-padding-y-default);\n\n --navi-selection-border-color: #0078d4;\n --navi-selection-background-color: #eaf1fd;\n /* Accent color — used for call-to-action buttons and selected list items.\n Override this single variable to apply a consistent brand color across\n all components that need to stand out. */\n --navi-accent-color: rgb(3, 30, 60);\n --navi-color-white: white;\n --navi-color-dark: rgb(55, 60, 69);\n\n --navi-info-color-light: #eaf6fc;\n --navi-info-color: #376cc2;\n --navi-success-color-light: #ecf9ef;\n --navi-success-color: #50c464;\n --navi-warning-color-light: #fdf6e3;\n --navi-warning-color: #f19c05;\n --navi-error-color-light: #fcebed;\n --navi-error-color: #eb364b;\n\n --navi-xxs: 0.125em; /* = 2px at 16px base */\n --navi-xs: 0.25em; /* = 4px at 16px base */\n --navi-s: 0.5em; /* = 8px at 16px base */\n --navi-m: 1em; /* = 16px at 16px base (base font size) */\n --navi-l: 1.5em; /* = 24px at 16px base */\n --navi-xl: 2em; /* = 32px at 16px base */\n --navi-xxl: 3em; /* 48px at 16px base */\n\n --navi-typo-xxs: 0.625rem; /* 10px at 16px base */\n --navi-typo-xs: 0.75rem; /* 12px at 16px base */\n --navi-typo-s: 0.875rem; /* 14px at 16px base */\n --navi-typo-m: 1rem; /* 16px at 16px base (base font size) */\n --navi-typo-l: 1.125rem; /* 18px at 16px base */\n --navi-typo-xl: 1.25rem; /* 20px at 16px base */\n --navi-typo-xxl: 1.5rem; /* 24px at 16px base */\n\n /* Color keywords — mix currentColor toward transparent or black.\n secondary: supporting text, captions, less important labels\n emphasis: reinforce meaning, make content stand out more\n discrete: unobtrusive elements that shouldn't compete for attention\n hint: barely-there color, watermarks, ghost placeholders */\n --navi-color-secondary: color-mix(in srgb, currentColor 80%, transparent);\n --navi-color-emphasis: color-mix(in srgb, currentColor 50%, black);\n --navi-color-discrete: color-mix(in srgb, currentColor 60%, transparent);\n --navi-color-hint: color-mix(in srgb, currentColor 25%, transparent);\n }\n }\n\n /* Hidden appearance */\n input[navi-visually-hidden],\n button[navi-visually-hidden],\n div[navi-visually-hidden] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n /* Important to take full size so that scrollIntoView work as expected */\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(50%);\n appearance: none;\n overflow: hidden;\n\n &[navi-debug] {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n clip-path: none;\n appearance: auto;\n }\n }\n`;\nimport.meta.css = [css, \"@jsenv/navi/src/navi_css_vars.js\"];\neffect(() => {\n document.documentElement.style.setProperty(\"--navi-vvw\", `${visualViewportWidthSignal.value}px`);\n document.documentElement.style.setProperty(\"--navi-vvh\", `${visualViewportHeightSignal.value}px`);\n});\n\nexport { installImportMetaCssBuild, windowWidthSignal };\n//# sourceMappingURL=jsenv_navi_side_effects.js.map\n"
18
+ ]
16
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/navi",
3
- "version": "0.27.54",
3
+ "version": "0.27.55",
4
4
  "type": "module",
5
5
  "description": "Library of components including navigation to create frontend applications",
6
6
  "repository": {
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@jsenv/dom": "0.14.7",
32
32
  "@jsenv/humanize": "1.7.8",
33
- "@jsenv/validity": "0.3.0"
33
+ "@jsenv/validity": "0.4.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@jsenv/assert": "4.5.7",