@adobe-commerce/elsie 1.3.0-alpha02 → 1.3.0-alpha04

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe-commerce/elsie",
3
- "version": "1.3.0-alpha02",
3
+ "version": "1.3.0-alpha04",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "description": "Domain Package SDK",
6
6
  "engines": {
@@ -10,10 +10,10 @@
10
10
  /* https://cssguidelin.es/#bem-like-naming */
11
11
 
12
12
  .dropin-modal {
13
- height: 100vh;
14
- width: 100vw;
15
13
  position: fixed;
16
14
  top: 0;
15
+ right: 0;
16
+ bottom: 0;
17
17
  left: 0;
18
18
  z-index: 99999;
19
19
  overflow: auto;
@@ -11,7 +11,7 @@ import { Meta, StoryObj } from '@storybook/preact';
11
11
  import { Modal as component, ModalProps } from './Modal';
12
12
  import { useState } from 'preact/hooks';
13
13
  import { Button } from '../Button';
14
- import { expect, userEvent, within } from '@storybook/test';
14
+ import { expect, userEvent, within, waitFor } from '@storybook/test';
15
15
 
16
16
  const meta: Meta<ModalProps> = {
17
17
  title: 'Components/Modal',
@@ -107,13 +107,21 @@ export const SmallModal: Story = {
107
107
  const canvas = within(canvasElement);
108
108
  await userEvent.click(canvas.getByRole('button'));
109
109
 
110
+ const portalRoot = await waitFor(() => {
111
+ const root = document.querySelector('[data-portal-root]') as HTMLDivElement;
112
+ expect(root).toBeTruthy();
113
+ return root;
114
+ });
115
+
116
+ await expect(portalRoot).toBeVisible();
117
+
110
118
  const modal = document.querySelector(
111
119
  '.dropin-modal__body'
112
120
  ) as HTMLDivElement;
113
121
 
114
122
  await expect(modal).toBeVisible();
115
123
 
116
- await expect(await canvas.findByText('Small modal')).toBeVisible();
124
+ expect(portalRoot.querySelector('h4')?.innerText).toBe('Small modal');
117
125
 
118
126
  const closeButton = document.querySelector(
119
127
  '.dropin-modal__header-close-button'
@@ -148,13 +156,21 @@ export const MediumModal: Story = {
148
156
  const canvas = within(canvasElement);
149
157
  await userEvent.click(canvas.getByRole('button'));
150
158
 
159
+ const portalRoot = await waitFor(() => {
160
+ const root = document.querySelector('[data-portal-root]') as HTMLDivElement;
161
+ expect(root).toBeTruthy();
162
+ return root;
163
+ });
164
+
165
+ await expect(portalRoot).toBeVisible();
166
+
151
167
  const modal = document.querySelector(
152
168
  '.dropin-modal__body'
153
169
  ) as HTMLDivElement;
154
170
 
155
171
  await expect(modal).toBeVisible();
156
172
 
157
- await expect(await canvas.findByText('Medium modal')).toBeVisible();
173
+ expect(portalRoot.querySelector('h3')?.innerText).toBe('Medium modal');
158
174
 
159
175
  const closeButton = document.querySelector(
160
176
  '.dropin-modal__header-close-button'
@@ -187,11 +203,17 @@ export const FullModal: Story = {
187
203
  const canvas = within(canvasElement);
188
204
  await userEvent.click(canvas.getByRole('button'));
189
205
 
206
+ const portalRoot = await waitFor(() => {
207
+ const root = document.querySelector('[data-portal-root]') as HTMLDivElement;
208
+ expect(root).toBeTruthy();
209
+ return root;
210
+ });
211
+
190
212
  const modal = document.querySelector(
191
213
  '.dropin-modal__body'
192
214
  ) as HTMLDivElement;
193
215
 
194
- await expect(modal).toBeVisible();
216
+ await expect(portalRoot).toBeVisible();
195
217
 
196
218
  const closeButton = document.querySelector(
197
219
  '.dropin-modal__header-close-button'
@@ -18,6 +18,7 @@ import {
18
18
  import { Button } from '../Button';
19
19
  import { Close as CloseSVG } from '@adobe-commerce/elsie/icons';
20
20
  import { VNode } from 'preact';
21
+ import { Portal } from '../Portal/Portal';
21
22
 
22
23
  import '@adobe-commerce/elsie/components/Modal/Modal.css';
23
24
 
@@ -106,52 +107,54 @@ export const Modal: FunctionComponent<ModalProps> = ({
106
107
  }, []);
107
108
 
108
109
  return (
109
- <div
110
- className={classes([
111
- 'dropin-modal',
112
- ['dropin-modal--dim', backgroundDim],
113
- ])}
114
- >
110
+ <Portal>
115
111
  <div
116
- {...props}
117
112
  className={classes([
118
- 'dropin-modal__body',
119
- [`dropin-modal__body--${size}`, size],
120
- className,
113
+ 'dropin-modal',
114
+ ['dropin-modal--dim', backgroundDim],
121
115
  ])}
122
116
  >
123
117
  <div
118
+ {...props}
124
119
  className={classes([
125
- 'dropin-modal__header',
126
- ['dropin-modal__header-title', !!title],
120
+ 'dropin-modal__body',
121
+ [`dropin-modal__body--${size}`, size],
122
+ className,
127
123
  ])}
128
124
  >
129
- {title && (
130
- <div className={classes(['dropin-modal__header-title-content'])}>
131
- {title}
132
- </div>
133
- )}
134
-
135
- {showCloseButton && (
136
- <Button
137
- aria-label={translations.modalCloseLabel}
138
- variant="tertiary"
139
- className="dropin-modal__header-close-button"
140
- onClick={handleOnClose}
141
- icon={<CloseSVG />}
142
- />
143
- )}
144
- </div>
145
-
146
- <div
147
- className={classes([
148
- 'dropin-modal__content',
149
- ['dropin-modal__body--centered', centered],
150
- ])}
151
- >
152
- {children}
125
+ <div
126
+ className={classes([
127
+ 'dropin-modal__header',
128
+ ['dropin-modal__header-title', !!title],
129
+ ])}
130
+ >
131
+ {title && (
132
+ <div className={classes(['dropin-modal__header-title-content'])}>
133
+ {title}
134
+ </div>
135
+ )}
136
+
137
+ {showCloseButton && (
138
+ <Button
139
+ aria-label={translations.modalCloseLabel}
140
+ variant="tertiary"
141
+ className="dropin-modal__header-close-button"
142
+ onClick={handleOnClose}
143
+ icon={<CloseSVG />}
144
+ />
145
+ )}
146
+ </div>
147
+
148
+ <div
149
+ className={classes([
150
+ 'dropin-modal__content',
151
+ ['dropin-modal__body--centered', centered],
152
+ ])}
153
+ >
154
+ {children}
155
+ </div>
153
156
  </div>
154
157
  </div>
155
- </div>
158
+ </Portal>
156
159
  );
157
160
  };
@@ -0,0 +1,145 @@
1
+ /********************************************************************
2
+ * Copyright 2024 Adobe
3
+ * All Rights Reserved.
4
+ *
5
+ * NOTICE: Adobe permits you to use, modify, and distribute this
6
+ * file in accordance with the terms of the Adobe license agreement
7
+ * accompanying it.
8
+ *******************************************************************/
9
+
10
+ import { Meta, StoryObj } from '@storybook/preact';
11
+ import { Portal } from './Portal';
12
+ import { Button } from '../Button';
13
+ import { useState } from 'preact/compat';
14
+
15
+ const meta: Meta<typeof Portal> = {
16
+ title: 'Components/Portal',
17
+ component: Portal,
18
+ parameters: {
19
+ layout: 'centered',
20
+ },
21
+ tags: ['autodocs'],
22
+ };
23
+
24
+ export default meta;
25
+ type Story = StoryObj<typeof Portal>;
26
+
27
+ /**
28
+ * ```ts
29
+ * import { Portal } from '@/elsie/components/Portal';
30
+ *
31
+ * <Portal>
32
+ * <div>👋 Howdy, I'm Howdy!</div>
33
+ * </Portal>
34
+ * ```
35
+ */
36
+
37
+ // Portal with dynamic content
38
+ export const DynamicContent: Story = {
39
+ render: () => {
40
+ const [isOpen, setIsOpen] = useState(false);
41
+ const [count, setCount] = useState(0);
42
+
43
+ return (
44
+ <div style={{ border: '2px dashed #ccc', padding: '20px' }}>
45
+ <Button onClick={() => setIsOpen(!isOpen)}>
46
+ {isOpen ? 'Close Portal' : 'Open Portal'}
47
+ </Button>
48
+
49
+ {isOpen && (
50
+ <Portal>
51
+ <div style={{
52
+ position: 'fixed',
53
+ top: '50%',
54
+ left: '50%',
55
+ transform: 'translate(-50%, -50%)',
56
+ background: 'white',
57
+ padding: '20px',
58
+ border: '1px solid #ccc',
59
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)'
60
+ }}>
61
+ <p>Portal content with counter: {count}</p>
62
+ <Button onClick={() => setCount(c => c + 1)}>
63
+ Increment Counter
64
+ </Button>
65
+ <Button
66
+ variant="tertiary"
67
+ onClick={() => setIsOpen(false)}
68
+ style={{ marginLeft: '8px' }}
69
+ >
70
+ Close
71
+ </Button>
72
+ </div>
73
+ </Portal>
74
+ )}
75
+ </div>
76
+ );
77
+ },
78
+ };
79
+
80
+ // Portal with nested portals
81
+ export const NestedPortals: Story = {
82
+ render: () => {
83
+ const [isOuterOpen, setOuterOpen] = useState(false);
84
+ const [isInnerOpen, setInnerOpen] = useState(false);
85
+
86
+ return (
87
+ <div style={{ border: '2px dashed #ccc', padding: '20px' }}>
88
+ <Button onClick={() => setOuterOpen(!isOuterOpen)}>
89
+ {isOuterOpen ? 'Close Outer Portal' : 'Open Outer Portal'}
90
+ </Button>
91
+
92
+ {isOuterOpen && (
93
+ <Portal>
94
+ <div style={{
95
+ position: 'fixed',
96
+ top: '50%',
97
+ left: '50%',
98
+ transform: 'translate(-50%, -50%)',
99
+ background: 'white',
100
+ padding: '20px',
101
+ border: '1px solid #ccc',
102
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)'
103
+ }}>
104
+ <p>Outer Portal Content</p>
105
+ <Button onClick={() => setInnerOpen(!isInnerOpen)}>
106
+ {isInnerOpen ? 'Close Inner Portal' : 'Open Inner Portal'}
107
+ </Button>
108
+
109
+ {isInnerOpen && (
110
+ <Portal>
111
+ <div style={{
112
+ position: 'fixed',
113
+ top: '60%',
114
+ left: '50%',
115
+ transform: 'translate(-50%, -50%)',
116
+ background: 'white',
117
+ padding: '20px',
118
+ border: '1px solid #ccc',
119
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)'
120
+ }}>
121
+ <p>Inner Portal Content</p>
122
+ <Button
123
+ variant="tertiary"
124
+ onClick={() => setInnerOpen(false)}
125
+ >
126
+ Close Inner Portal
127
+ </Button>
128
+ </div>
129
+ </Portal>
130
+ )}
131
+
132
+ <Button
133
+ variant="tertiary"
134
+ onClick={() => setOuterOpen(false)}
135
+ style={{ marginLeft: '8px' }}
136
+ >
137
+ Close Outer Portal
138
+ </Button>
139
+ </div>
140
+ </Portal>
141
+ )}
142
+ </div>
143
+ );
144
+ },
145
+ };
@@ -0,0 +1,43 @@
1
+ /********************************************************************
2
+ * Copyright 2024 Adobe
3
+ * All Rights Reserved.
4
+ *
5
+ * NOTICE: Adobe permits you to use, modify, and distribute this
6
+ * file in accordance with the terms of the Adobe license agreement
7
+ * accompanying it.
8
+ *******************************************************************/
9
+
10
+ import { ComponentChildren, render } from 'preact';
11
+ import { FunctionComponent, useEffect, useRef } from 'preact/compat';
12
+
13
+ interface PortalProps {
14
+ children: ComponentChildren;
15
+ }
16
+
17
+ export const Portal: FunctionComponent<PortalProps> = ({ children }) => {
18
+ const portalRoot = useRef<HTMLDivElement | null>(null);
19
+
20
+ useEffect(() => {
21
+ // Create portal root if it doesn't exist
22
+ if (!portalRoot.current) {
23
+ portalRoot.current = document.createElement('div');
24
+ portalRoot.current.setAttribute('data-portal-root', '');
25
+ portalRoot.current.classList.add('dropin-design');
26
+ document.body.appendChild(portalRoot.current);
27
+ }
28
+
29
+ // Render children into portal root
30
+ render(children, portalRoot.current);
31
+
32
+ // Cleanup
33
+ return () => {
34
+ if (portalRoot.current) {
35
+ render(null, portalRoot.current);
36
+ portalRoot.current.remove();
37
+ portalRoot.current = null;
38
+ }
39
+ };
40
+ }, [children]);
41
+
42
+ return null;
43
+ };
package/src/lib/index.ts CHANGED
@@ -22,3 +22,5 @@ export * from '@adobe-commerce/elsie/lib/vcomponent';
22
22
  export * from '@adobe-commerce/elsie/lib/image-params-keymap';
23
23
  export * from '@adobe-commerce/elsie/lib/is-number';
24
24
  export * from '@adobe-commerce/elsie/lib/deviceUtils';
25
+ export * from '@adobe-commerce/elsie/lib/get-path-value';
26
+ export * from '@adobe-commerce/elsie/lib/get-cookie';
@@ -0,0 +1,23 @@
1
+ console.warn(
2
+ '[importmap not supported] This browser does not support import maps. A fallback shim is now being used to enable module loading.\n',
3
+ 'You may see warnings like: "Relative module specifiers must start with \'./\', \'../\', or \'/\'." — these can be safely ignored.',
4
+ );
5
+
6
+ // enable importmap shim
7
+ document.head.prepend(
8
+ Object.assign(document.createElement('script'), {
9
+ type: 'esms-options',
10
+ innerHTML: JSON.stringify({ shimMode: true }),
11
+ }),
12
+ );
13
+
14
+ document.querySelectorAll('script').forEach((script) => {
15
+ if (script.type === 'importmap') {
16
+ script.setAttribute('type', 'importmap-shim');
17
+ } else if (script.type === 'module') {
18
+ script.setAttribute('type', 'module-shim');
19
+ }
20
+ });
21
+
22
+ // shim
23
+ (function(){const e=typeof document!=="undefined";const noop=()=>{};const t=e?document.querySelector("script[type=esms-options]"):void 0;const r=t?JSON.parse(t.innerHTML):{};Object.assign(r,self.esmsInitOptions||{});let s=!e||!!r.shimMode;const n=globalHook(s&&r.onimport);const i=globalHook(s&&r.resolve);let a=r.fetch?globalHook(r.fetch):fetch;const c=r.meta?globalHook(s&&r.meta):noop;const f=r.mapOverrides;let ne=r.nonce;if(!ne&&e){const e=document.querySelector("script[nonce]");e&&(ne=e.nonce||e.getAttribute("nonce"))}const oe=globalHook(r.onerror||noop);const{revokeBlobURLs:le,noLoadEventRetriggers:ue,globalLoadEventRetrigger:de,enforceIntegrity:pe}=r;function globalHook(e){return typeof e==="string"?self[e]:e}const me=Array.isArray(r.polyfillEnable)?r.polyfillEnable:[];const be=me.includes("css-modules");const he=me.includes("json-modules");const ke=me.includes("wasm-modules");const we=me.includes("source-phase");const ge=r.onpolyfill?globalHook(r.onpolyfill):()=>{console.log("%c^^ Module error above is polyfilled and can be ignored ^^","font-weight:900;color:#391")};const ye=!navigator.userAgentData&&!!navigator.userAgent.match(/Edge\/\d+\.\d+/);const ve=e?document.baseURI:`${location.protocol}//${location.host}${location.pathname.includes("/")?location.pathname.slice(0,location.pathname.lastIndexOf("/")+1):location.pathname}`;const createBlob=(e,t="text/javascript")=>URL.createObjectURL(new Blob([e],{type:t}));let{skip:$e}=r;if(Array.isArray($e)){const e=$e.map((e=>new URL(e,ve).href));$e=t=>e.some((e=>e[e.length-1]==="/"&&t.startsWith(e)||t===e))}else if(typeof $e==="string"){const e=new RegExp($e);$e=t=>e.test(t)}else $e instanceof RegExp&&($e=e=>$e.test(e));const dispatchError=e=>self.dispatchEvent(Object.assign(new Event("error"),{error:e}));const throwError=e=>{(self.reportError||dispatchError)(e),void oe(e)};function fromParent(e){return e?` imported from ${e}`:""}let Se=false;function setImportMapSrcOrLazy(){Se=true}if(!s)if(document.querySelectorAll("script[type=module-shim],script[type=importmap-shim],link[rel=modulepreload-shim]").length)s=true;else{let e=false;for(const t of document.querySelectorAll("script[type=module],script[type=importmap]"))if(e){if(t.type==="importmap"&&e){Se=true;break}}else t.type!=="module"||t.ep||(e=true)}const Oe=/\\/g;function asURL(e){try{if(e.indexOf(":")!==-1)return new URL(e).href}catch(e){}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||asURL(e)||resolveIfNotPlainOrUrl("./"+e,t)}function resolveIfNotPlainOrUrl(e,t){const r=t.indexOf("#"),s=t.indexOf("?");r+s>-2&&(t=t.slice(0,r===-1?s:s===-1||s>r?r:s));e.indexOf("\\")!==-1&&(e=e.replace(Oe,"/"));if(e[0]==="/"&&e[1]==="/")return t.slice(0,t.indexOf(":")+1)+e;if(e[0]==="."&&(e[1]==="/"||e[1]==="."&&(e[2]==="/"||e.length===2&&(e+="/"))||e.length===1&&(e+="/"))||e[0]==="/"){const r=t.slice(0,t.indexOf(":")+1);if(r==="blob:")throw new TypeError(`Failed to resolve module specifier "${e}". Invalid relative url or base scheme isn't hierarchical.`);let s;if(t[r.length+1]==="/")if(r!=="file:"){s=t.slice(r.length+2);s=s.slice(s.indexOf("/")+1)}else s=t.slice(8);else s=t.slice(r.length+(t[r.length]==="/"));if(e[0]==="/")return t.slice(0,t.length-s.length-1)+e;const n=s.slice(0,s.lastIndexOf("/")+1)+e;const i=[];let a=-1;for(let e=0;e<n.length;e++)if(a===-1){if(n[e]==="."){if(n[e+1]==="."&&(n[e+2]==="/"||e+2===n.length)){i.pop();e+=2;continue}if(n[e+1]==="/"||e+1===n.length){e+=1;continue}}while(n[e]==="/")e++;a=e}else if(n[e]==="/"){i.push(n.slice(a,e+1));a=-1}a!==-1&&i.push(n.slice(a));return t.slice(0,t.length-s.length)+i.join("")}}function resolveAndComposeImportMap(e,t,r){const s={imports:Object.assign({},r.imports),scopes:Object.assign({},r.scopes),integrity:Object.assign({},r.integrity)};e.imports&&resolveAndComposePackages(e.imports,s.imports,t,r);if(e.scopes)for(let n in e.scopes){const i=resolveUrl(n,t);resolveAndComposePackages(e.scopes[n],s.scopes[i]||(s.scopes[i]={}),t,r)}e.integrity&&resolveAndComposeIntegrity(e.integrity,s.integrity,t);return s}function getMatch(e,t){if(t[e])return e;let r=e.length;do{const s=e.slice(0,r+1);if(s in t)return s}while((r=e.lastIndexOf("/",r-1))!==-1)}function applyPackages(e,t){const r=getMatch(e,t);if(r){const s=t[r];if(s===null)return;return s+e.slice(r.length)}}function resolveImportMap(e,t,r){let s=r&&getMatch(r,e.scopes);while(s){const r=applyPackages(t,e.scopes[s]);if(r)return r;s=getMatch(s.slice(0,s.lastIndexOf("/")),e.scopes)}return applyPackages(t,e.imports)||t.indexOf(":")!==-1&&t}function resolveAndComposePackages(e,t,r,n){for(let i in e){const a=resolveIfNotPlainOrUrl(i,r)||i;if((!s||!f)&&t[a]&&t[a]!==e[a])throw Error(`Rejected map override "${a}" from ${t[a]} to ${e[a]}.`);let c=e[i];if(typeof c!=="string")continue;const ne=resolveImportMap(n,resolveIfNotPlainOrUrl(c,r)||c,r);ne?t[a]=ne:console.warn(`Mapping "${i}" -> "${e[i]}" does not resolve`)}}function resolveAndComposeIntegrity(e,t,r){for(let n in e){const i=resolveIfNotPlainOrUrl(n,r)||n;if((!s||!f)&&t[i]&&t[i]!==e[i])throw Error(`Rejected map integrity override "${i}" from ${t[i]} to ${e[i]}.`);t[i]=e[n]}}let Ae=!e&&(0,eval)("u=>import(u)");let Le;const Ce=e&&new Promise((e=>{const t=Object.assign(document.createElement("script"),{src:createBlob("self._d=u=>import(u)"),ep:true});t.setAttribute("nonce",ne);t.addEventListener("load",(()=>{if(!(Le=!!(Ae=self._d))){let e;window.addEventListener("error",(t=>e=t));Ae=(t,r)=>new Promise(((s,n)=>{const i=Object.assign(document.createElement("script"),{type:"module",src:createBlob(`import*as m from'${t}';self._esmsi=m`)});e=void 0;i.ep=true;ne&&i.setAttribute("nonce",ne);i.addEventListener("error",cb);i.addEventListener("load",cb);function cb(a){document.head.removeChild(i);if(self._esmsi){s(self._esmsi,ve);self._esmsi=void 0}else{n(!(a instanceof Event)&&a||e&&e.error||new Error(`Error loading ${r&&r.errUrl||t} (${i.src}).`));e=void 0}}document.head.appendChild(i)}))}document.head.removeChild(t);delete self._d;e()}));document.head.appendChild(t)}));let Ue=false;let Ee=false;const xe=e&&HTMLScriptElement.supports;let Pe=xe&&xe.name==="supports"&&xe("importmap");let Me=Le;let Ie=false;let je=false;const Re=[0,97,115,109,1,0,0,0];let Te=Promise.resolve(Ce).then((()=>{if(Le)return e?new Promise((e=>{const t=document.createElement("iframe");t.style.display="none";t.setAttribute("nonce",ne);function cb({data:r}){const s=Array.isArray(r)&&r[0]==="esms";if(s){[,Pe,Me,Ee,Ue,Ie,je]=r;e();document.head.removeChild(t);window.removeEventListener("message",cb,false)}}window.addEventListener("message",cb,false);const r=`<script nonce=${ne||""}>b=(s,type='text/javascript')=>URL.createObjectURL(new Blob([s],{type}));document.head.appendChild(Object.assign(document.createElement('script'),{type:'importmap',nonce:"${ne}",innerText:\`{"imports":{"x":"\${b('')}"}}\`}));Promise.all([${Pe?"true,true":"'x',b('import.meta')"}, ${be?"b(`import\"${b('','text/css')}\"with{type:\"css\"}`)":"false"}, ${he?"b(`import\"${b('{}','text/json')}\"with{type:\"json\"}`)":"false"}, ${ke?`b(\`import"\${b(new Uint8Array(${JSON.stringify(Re)}),'application/wasm')}"\`)`:"false"}, ${ke&&we?`b(\`import source x from "\${b(new Uint8Array(${JSON.stringify(Re)}),'application/wasm')}"\`)`:"false"}].map(x =>typeof x==='string'?import(x).then(()=>true,()=>false):x)).then(a=>parent.postMessage(['esms'].concat(a),'*'))<\/script>`;let s=false,n=false;function doOnload(){if(!s){n=true;return}const e=t.contentDocument;if(e&&e.head.childNodes.length===0){const t=e.createElement("script");ne&&t.setAttribute("nonce",ne);t.innerHTML=r.slice(15+(ne?ne.length:0),-9);e.head.appendChild(t)}}t.onload=doOnload;document.head.appendChild(t);s=true;"srcdoc"in t?t.srcdoc=r:t.contentDocument.write(r);n&&doOnload()})):Promise.all([Pe||Ae(createBlob("import.meta")).then((()=>Me=true),noop),be&&Ae(createBlob(`import"${createBlob("","text/css")}"with{type:"css"}`)).then((()=>Ee=true),noop),he&&Ae(createBlob(`import"${createBlob("{}","text/json")}"with{type:"json"}`)).then((()=>Ue=true),noop),ke&&Ae(createBlob(`import"${createBlob(new Uint8Array(Re),"application/wasm")}"`)).then((()=>Ie=true),noop),ke&&we&&Ae(createBlob(`import source x from"${createBlob(new Uint8Array(Re),"application/wasm")}"`)).then((()=>je=true),noop)])}));let _e,Ne,He,qe=2<<19;const We=1===new Uint8Array(new Uint16Array([1]).buffer)[0]?function(e,t){const r=e.length;let s=0;for(;s<r;)t[s]=e.charCodeAt(s++)}:function(e,t){const r=e.length;let s=0;for(;s<r;){const r=e.charCodeAt(s);t[s++]=(255&r)<<8|r>>>8}},Fe="xportmportlassetaourceromsyncunctionssertvoyiedelecontininstantybreareturdebuggeawaithrwhileforifcatcfinallels";let Je,Be,De;function parse(e,t="@"){Je=e,Be=t;const r=2*Je.length+(2<<18);if(r>qe||!_e){for(;r>qe;)qe*=2;Ne=new ArrayBuffer(qe),We(Fe,new Uint16Array(Ne,16,110)),_e=function(e,t,r){"use asm";var s=new e.Int8Array(r),n=new e.Int16Array(r),i=new e.Int32Array(r),a=new e.Uint8Array(r),c=new e.Uint16Array(r),f=1040;function b(){var e=0,t=0,r=0,a=0,ne=0,oe=0;oe=f;f=f+10240|0;s[804]=1;s[803]=0;n[399]=0;n[400]=0;i[69]=i[2];s[805]=0;i[68]=0;s[802]=0;i[70]=oe+2048;i[71]=oe;s[806]=0;e=(i[3]|0)+-2|0;i[72]=e;t=e+(i[66]<<1)|0;i[73]=t;e:while(1){r=e+2|0;i[72]=r;if(e>>>0>=t>>>0){ne=18;break}t:do{switch(n[r>>1]|0){case 9:case 10:case 11:case 12:case 13:case 32:break;case 101:{if((((n[400]|0)==0?H(r)|0:0)?(m(e+4|0,16,10)|0)==0:0)?(k(),(s[804]|0)==0):0){ne=9;break e}else ne=17;break}case 105:{if(H(r)|0?(m(e+4|0,26,10)|0)==0:0){l();ne=17}else ne=17;break}case 59:{ne=17;break}case 47:switch(n[e+4>>1]|0){case 47:{P();break t}case 42:{y(1);break t}default:{ne=16;break e}}default:{ne=16;break e}}}while(0);if((ne|0)==17){ne=0;i[69]=i[72]}e=i[72]|0;t=i[73]|0}if((ne|0)==9){e=i[72]|0;i[69]=e;ne=19}else if((ne|0)==16){s[804]=0;i[72]=e;ne=19}else if((ne|0)==18)if(!(s[802]|0)){e=r;ne=19}else e=0;do{if((ne|0)==19){e:while(1){t=e+2|0;i[72]=t;if(e>>>0>=(i[73]|0)>>>0){ne=86;break}t:do{switch(n[t>>1]|0){case 9:case 10:case 11:case 12:case 13:case 32:break;case 101:{if(((n[400]|0)==0?H(t)|0:0)?(m(e+4|0,16,10)|0)==0:0){k();ne=85}else ne=85;break}case 105:{if(H(t)|0?(m(e+4|0,26,10)|0)==0:0){l();ne=85}else ne=85;break}case 99:{if((H(t)|0?(m(e+4|0,36,8)|0)==0:0)?V(n[e+12>>1]|0)|0:0){s[806]=1;ne=85}else ne=85;break}case 40:{a=i[70]|0;t=n[400]|0;ne=t&65535;i[a+(ne<<3)>>2]=1;r=i[69]|0;n[400]=t+1<<16>>16;i[a+(ne<<3)+4>>2]=r;ne=85;break}case 41:{t=n[400]|0;if(!(t<<16>>16)){ne=36;break e}ne=t+-1<<16>>16;n[400]=ne;a=n[399]|0;t=a&65535;if(a<<16>>16!=0?(i[(i[70]|0)+((ne&65535)<<3)>>2]|0)==5:0){t=i[(i[71]|0)+(t+-1<<2)>>2]|0;r=t+4|0;if(!(i[r>>2]|0))i[r>>2]=(i[69]|0)+2;i[t+12>>2]=e+4;n[399]=a+-1<<16>>16;ne=85}else ne=85;break}case 123:{ne=i[69]|0;a=i[63]|0;e=ne;do{if((n[ne>>1]|0)==41&(a|0)!=0?(i[a+4>>2]|0)==(ne|0):0){t=i[64]|0;i[63]=t;if(!t){i[59]=0;break}else{i[t+32>>2]=0;break}}}while(0);a=i[70]|0;r=n[400]|0;ne=r&65535;i[a+(ne<<3)>>2]=(s[806]|0)==0?2:6;n[400]=r+1<<16>>16;i[a+(ne<<3)+4>>2]=e;s[806]=0;ne=85;break}case 125:{e=n[400]|0;if(!(e<<16>>16)){ne=49;break e}a=i[70]|0;ne=e+-1<<16>>16;n[400]=ne;if((i[a+((ne&65535)<<3)>>2]|0)==4){h();ne=85}else ne=85;break}case 39:{v(39);ne=85;break}case 34:{v(34);ne=85;break}case 47:switch(n[e+4>>1]|0){case 47:{P();break t}case 42:{y(1);break t}default:{e=i[69]|0;t=n[e>>1]|0;r:do{if(!(U(t)|0)){switch(t<<16>>16){case 41:if(D(i[(i[70]|0)+(c[400]<<3)+4>>2]|0)|0)break r;else{ne=66;break r}case 125:break;default:{ne=66;break r}}r=i[70]|0;a=c[400]|0;if(!(p(i[r+(a<<3)+4>>2]|0)|0)?(i[r+(a<<3)>>2]|0)!=6:0)ne=66}else switch(t<<16>>16){case 46:if(((n[e+-2>>1]|0)+-48&65535)<10){ne=66;break r}else break r;case 43:if((n[e+-2>>1]|0)==43){ne=66;break r}else break r;case 45:if((n[e+-2>>1]|0)==45){ne=66;break r}else break r;default:break r}}while(0);r:do{if((ne|0)==66?(0,!(u(e)|0)):0){switch(t<<16>>16){case 0:break r;case 47:{if(s[805]|0)break r;break}default:{}}ne=i[65]|0;if((ne|0?e>>>0>=(i[ne>>2]|0)>>>0:0)?e>>>0<=(i[ne+4>>2]|0)>>>0:0){g();s[805]=0;ne=85;break t}r=i[3]|0;do{if(e>>>0<=r>>>0)break;e=e+-2|0;i[69]=e;t=n[e>>1]|0}while(!(E(t)|0));if(F(t)|0){do{if(e>>>0<=r>>>0)break;e=e+-2|0;i[69]=e}while(F(n[e>>1]|0)|0);if(j(e)|0){g();s[805]=0;ne=85;break t}}s[805]=1;ne=85;break t}}while(0);g();s[805]=0;ne=85;break t}}case 96:{a=i[70]|0;r=n[400]|0;ne=r&65535;i[a+(ne<<3)+4>>2]=i[69];n[400]=r+1<<16>>16;i[a+(ne<<3)>>2]=3;h();ne=85;break}default:ne=85}}while(0);if((ne|0)==85){ne=0;i[69]=i[72]}e=i[72]|0}if((ne|0)==36){T();e=0;break}else if((ne|0)==49){T();e=0;break}else if((ne|0)==86){e=(s[802]|0)==0?(n[399]|n[400])<<16>>16==0:0;break}}}while(0);f=oe;return e|0}function k(){var e=0,t=0,r=0,a=0,c=0,f=0,ne=0,oe=0,le=0,ue=0,de=0,pe=0,me=0,be=0;oe=i[72]|0;le=i[65]|0;be=oe+12|0;i[72]=be;r=w(1)|0;e=i[72]|0;if(!((e|0)==(be|0)?!(I(r)|0):0))me=3;e:do{if((me|0)==3){t:do{switch(r<<16>>16){case 123:{i[72]=e+2;e=w(1)|0;t=i[72]|0;while(1){if(W(e)|0){v(e);e=(i[72]|0)+2|0;i[72]=e}else{q(e)|0;e=i[72]|0}w(1)|0;e=A(t,e)|0;if(e<<16>>16==44){i[72]=(i[72]|0)+2;e=w(1)|0}if(e<<16>>16==125){me=15;break}be=t;t=i[72]|0;if((t|0)==(be|0)){me=12;break}if(t>>>0>(i[73]|0)>>>0){me=14;break}}if((me|0)==12){T();break e}else if((me|0)==14){T();break e}else if((me|0)==15){s[803]=1;i[72]=(i[72]|0)+2;break t}break}case 42:{i[72]=e+2;w(1)|0;be=i[72]|0;A(be,be)|0;break}default:{s[804]=0;switch(r<<16>>16){case 100:{oe=e+14|0;i[72]=oe;switch((w(1)|0)<<16>>16){case 97:{t=i[72]|0;if((m(t+2|0,66,8)|0)==0?(c=t+10|0,F(n[c>>1]|0)|0):0){i[72]=c;w(0)|0;me=22}break}case 102:{me=22;break}case 99:{t=i[72]|0;if(((m(t+2|0,36,8)|0)==0?(a=t+10|0,be=n[a>>1]|0,V(be)|0|be<<16>>16==123):0)?(i[72]=a,f=w(1)|0,f<<16>>16!=123):0){pe=f;me=31}break}default:{}}r:do{if((me|0)==22?(ne=i[72]|0,(m(ne+2|0,74,14)|0)==0):0){r=ne+16|0;t=n[r>>1]|0;if(!(V(t)|0))switch(t<<16>>16){case 40:case 42:break;default:break r}i[72]=r;t=w(1)|0;if(t<<16>>16==42){i[72]=(i[72]|0)+2;t=w(1)|0}if(t<<16>>16!=40){pe=t;me=31}}}while(0);if((me|0)==31?(ue=i[72]|0,q(pe)|0,de=i[72]|0,de>>>0>ue>>>0):0){O(e,oe,ue,de);i[72]=(i[72]|0)+-2;break e}O(e,oe,0,0);i[72]=e+12;break e}case 97:{i[72]=e+10;w(0)|0;e=i[72]|0;me=35;break}case 102:{me=35;break}case 99:{if((m(e+2|0,36,8)|0)==0?(t=e+10|0,E(n[t>>1]|0)|0):0){i[72]=t;be=w(1)|0;me=i[72]|0;q(be)|0;be=i[72]|0;O(me,be,me,be);i[72]=(i[72]|0)+-2;break e}e=e+4|0;i[72]=e;break}case 108:case 118:break;default:break e}if((me|0)==35){i[72]=e+16;e=w(1)|0;if(e<<16>>16==42){i[72]=(i[72]|0)+2;e=w(1)|0}me=i[72]|0;q(e)|0;be=i[72]|0;O(me,be,me,be);i[72]=(i[72]|0)+-2;break e}i[72]=e+6;s[804]=0;r=w(1)|0;e=i[72]|0;r=(q(r)|0|32)<<16>>16==123;a=i[72]|0;if(r){i[72]=a+2;be=w(1)|0;e=i[72]|0;q(be)|0}r:while(1){t=i[72]|0;if((t|0)==(e|0))break;O(e,t,e,t);t=w(1)|0;if(r)switch(t<<16>>16){case 93:case 125:break e;default:{}}e=i[72]|0;if(t<<16>>16!=44){me=51;break}i[72]=e+2;t=w(1)|0;e=i[72]|0;switch(t<<16>>16){case 91:case 123:{me=51;break r}default:{}}q(t)|0}if((me|0)==51)i[72]=e+-2;if(!r)break e;i[72]=a+-2;break e}}}while(0);be=(w(1)|0)<<16>>16==102;e=i[72]|0;if(be?(m(e+2|0,60,6)|0)==0:0){i[72]=e+8;o(oe,w(1)|0,0);e=(le|0)==0?240:le+16|0;while(1){e=i[e>>2]|0;if(!e)break e;i[e+12>>2]=0;i[e+8>>2]=0;e=e+16|0}}i[72]=e+-2}}while(0);return}function l(){var e=0,t=0,r=0,a=0,c=0,f=0,ne=0;c=i[72]|0;r=c+12|0;i[72]=r;a=w(1)|0;t=i[72]|0;e:do{if(a<<16>>16!=46)if(a<<16>>16==115&t>>>0>r>>>0)if((m(t+2|0,50,10)|0)==0?(e=t+12|0,V(n[e>>1]|0)|0):0)f=14;else{t=6;r=0;f=46}else{e=a;r=0;f=15}else{i[72]=t+2;switch((w(1)|0)<<16>>16){case 109:{e=i[72]|0;if(m(e+2|0,44,6)|0)break e;t=i[69]|0;if(!(G(t)|0)?(n[t>>1]|0)==46:0)break e;d(c,c,e+8|0,2);break e}case 115:{e=i[72]|0;if(m(e+2|0,50,10)|0)break e;t=i[69]|0;if(!(G(t)|0)?(n[t>>1]|0)==46:0)break e;e=e+12|0;f=14;break e}default:break e}}}while(0);if((f|0)==14){i[72]=e;e=w(1)|0;r=1;f=15}e:do{if((f|0)==15)switch(e<<16>>16){case 40:{t=i[70]|0;ne=n[400]|0;a=ne&65535;i[t+(a<<3)>>2]=5;e=i[72]|0;n[400]=ne+1<<16>>16;i[t+(a<<3)+4>>2]=e;if((n[i[69]>>1]|0)==46)break e;i[72]=e+2;t=w(1)|0;d(c,i[72]|0,0,e);if(r){e=i[63]|0;i[e+28>>2]=5}else e=i[63]|0;c=i[71]|0;ne=n[399]|0;n[399]=ne+1<<16>>16;i[c+((ne&65535)<<2)>>2]=e;switch(t<<16>>16){case 39:{v(39);break}case 34:{v(34);break}default:{i[72]=(i[72]|0)+-2;break e}}e=(i[72]|0)+2|0;i[72]=e;switch((w(1)|0)<<16>>16){case 44:{i[72]=(i[72]|0)+2;w(1)|0;c=i[63]|0;i[c+4>>2]=e;ne=i[72]|0;i[c+16>>2]=ne;s[c+24>>0]=1;i[72]=ne+-2;break e}case 41:{n[400]=(n[400]|0)+-1<<16>>16;ne=i[63]|0;i[ne+4>>2]=e;i[ne+12>>2]=(i[72]|0)+2;s[ne+24>>0]=1;n[399]=(n[399]|0)+-1<<16>>16;break e}default:{i[72]=(i[72]|0)+-2;break e}}}case 123:{if(r){t=12;r=1;f=46;break e}e=i[72]|0;if(n[400]|0){i[72]=e+-2;break e}while(1){if(e>>>0>=(i[73]|0)>>>0)break;e=w(1)|0;if(!(W(e)|0)){if(e<<16>>16==125){f=36;break}}else v(e);e=(i[72]|0)+2|0;i[72]=e}if((f|0)==36)i[72]=(i[72]|0)+2;ne=(w(1)|0)<<16>>16==102;e=i[72]|0;if(ne?m(e+2|0,60,6)|0:0){T();break e}i[72]=e+8;e=w(1)|0;if(W(e)|0){o(c,e,0);break e}else{T();break e}}default:{if(r){t=12;r=1;f=46;break e}switch(e<<16>>16){case 42:case 39:case 34:{r=0;f=48;break e}default:{t=6;r=0;f=46;break e}}}}}while(0);if((f|0)==46){e=i[72]|0;if((e|0)==(c+(t<<1)|0))i[72]=e+-2;else f=48}do{if((f|0)==48){if(n[400]|0){i[72]=(i[72]|0)+-2;break}e=i[73]|0;t=i[72]|0;while(1){if(t>>>0>=e>>>0){f=55;break}a=n[t>>1]|0;if(W(a)|0){f=53;break}ne=t+2|0;i[72]=ne;t=ne}if((f|0)==53){o(c,a,r);break}else if((f|0)==55){T();break}}}while(0);return}function u(e){e=e|0;var t=0,r=0;e:do{switch(n[e>>1]|0){case 100:switch(n[e+-2>>1]|0){case 105:{t=$(e+-4|0,98,2)|0;break e}case 108:{t=$(e+-4|0,102,3)|0;break e}default:{t=0;break e}}case 101:switch(n[e+-2>>1]|0){case 115:switch(n[e+-4>>1]|0){case 108:{t=B(e+-6|0,101)|0;break e}case 97:{t=B(e+-6|0,99)|0;break e}default:{t=0;break e}}case 116:{t=$(e+-4|0,108,4)|0;break e}case 117:{t=$(e+-4|0,116,6)|0;break e}default:{t=0;break e}}case 102:{if((n[e+-2>>1]|0)==111){r=e+-4|0;if((r|0)!=(i[3]|0)?(t=n[r>>1]|0,!(E(t)|0)):0)if(t<<16>>16==101)switch(n[e+-6>>1]|0){case 99:{t=$(e+-8|0,128,6)|0;break e}case 112:{t=$(e+-8|0,140,2)|0;break e}default:{t=0;break e}}else t=0;else t=1}else t=0;break}case 107:{t=$(e+-2|0,144,4)|0;break}case 110:{t=e+-2|0;if(B(t,105)|0)t=1;else t=$(t,152,5)|0;break}case 111:{t=B(e+-2|0,100)|0;break}case 114:{t=$(e+-2|0,162,7)|0;break}case 116:{t=$(e+-2|0,176,4)|0;break}case 119:switch(n[e+-2>>1]|0){case 101:{t=B(e+-4|0,110)|0;break e}case 111:{t=$(e+-4|0,184,3)|0;break e}default:{t=0;break e}}default:t=0}}while(0);return t|0}function o(e,t,r){e=e|0;t=t|0;r=r|0;var s=0,a=0;s=(i[72]|0)+2|0;switch(t<<16>>16){case 39:{v(39);a=5;break}case 34:{v(34);a=5;break}default:T()}do{if((a|0)==5){d(e,s,i[72]|0,1);if(r)i[(i[63]|0)+28>>2]=4;i[72]=(i[72]|0)+2;t=w(0)|0;r=t<<16>>16==97;if(r){s=i[72]|0;if(m(s+2|0,88,10)|0)a=13}else{s=i[72]|0;if(!(((t<<16>>16==119?(n[s+2>>1]|0)==105:0)?(n[s+4>>1]|0)==116:0)?(n[s+6>>1]|0)==104:0))a=13}if((a|0)==13){i[72]=s+-2;break}i[72]=s+((r?6:4)<<1);if((w(1)|0)<<16>>16!=123){i[72]=s;break}r=i[72]|0;t=r;e:while(1){i[72]=t+2;t=w(1)|0;switch(t<<16>>16){case 39:{v(39);i[72]=(i[72]|0)+2;t=w(1)|0;break}case 34:{v(34);i[72]=(i[72]|0)+2;t=w(1)|0;break}default:t=q(t)|0}if(t<<16>>16!=58){a=22;break}i[72]=(i[72]|0)+2;switch((w(1)|0)<<16>>16){case 39:{v(39);break}case 34:{v(34);break}default:{a=26;break e}}i[72]=(i[72]|0)+2;switch((w(1)|0)<<16>>16){case 125:{a=31;break e}case 44:break;default:{a=30;break e}}i[72]=(i[72]|0)+2;if((w(1)|0)<<16>>16==125){a=31;break}t=i[72]|0}if((a|0)==22){i[72]=s;break}else if((a|0)==26){i[72]=s;break}else if((a|0)==30){i[72]=s;break}else if((a|0)==31){a=i[63]|0;i[a+16>>2]=r;i[a+12>>2]=(i[72]|0)+2;break}}}while(0);return}function h(){var e=0,t=0,r=0,s=0;t=i[73]|0;r=i[72]|0;e:while(1){e=r+2|0;if(r>>>0>=t>>>0){t=10;break}switch(n[e>>1]|0){case 96:{t=7;break e}case 36:{if((n[r+4>>1]|0)==123){t=6;break e}break}case 92:{e=r+4|0;break}default:{}}r=e}if((t|0)==6){e=r+4|0;i[72]=e;t=i[70]|0;s=n[400]|0;r=s&65535;i[t+(r<<3)>>2]=4;n[400]=s+1<<16>>16;i[t+(r<<3)+4>>2]=e}else if((t|0)==7){i[72]=e;r=i[70]|0;s=(n[400]|0)+-1<<16>>16;n[400]=s;if((i[r+((s&65535)<<3)>>2]|0)!=3)T()}else if((t|0)==10){i[72]=e;T()}return}function w(e){e=e|0;var t=0,r=0,s=0;r=i[72]|0;e:do{t=n[r>>1]|0;t:do{if(t<<16>>16!=47)if(e)if(V(t)|0)break;else break e;else if(F(t)|0)break;else break e;else switch(n[r+2>>1]|0){case 47:{P();break t}case 42:{y(e);break t}default:{t=47;break e}}}while(0);s=i[72]|0;r=s+2|0;i[72]=r}while(s>>>0<(i[73]|0)>>>0);return t|0}function d(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0,c=0;c=i[67]|0;i[67]=c+36;a=i[63]|0;i[((a|0)==0?236:a+32|0)>>2]=c;i[64]=a;i[63]=c;i[c+8>>2]=e;if(2==(n|0)){e=3;a=r}else{a=1==(n|0);e=a?1:2;a=a?r+2|0:0}i[c+12>>2]=a;i[c+28>>2]=e;i[c>>2]=t;i[c+4>>2]=r;i[c+16>>2]=0;i[c+20>>2]=n;t=1==(n|0);s[c+24>>0]=t&1;i[c+32>>2]=0;if(t|2==(n|0))s[803]=1;return}function v(e){e=e|0;var t=0,r=0,s=0,a=0;a=i[73]|0;t=i[72]|0;while(1){s=t+2|0;if(t>>>0>=a>>>0){t=9;break}r=n[s>>1]|0;if(r<<16>>16==e<<16>>16){t=10;break}if(r<<16>>16==92){r=t+4|0;if((n[r>>1]|0)==13){t=t+6|0;t=(n[t>>1]|0)==10?t:r}else t=r}else if(Z(r)|0){t=9;break}else t=s}if((t|0)==9){i[72]=s;T()}else if((t|0)==10)i[72]=s;return}function A(e,t){e=e|0;t=t|0;var r=0,s=0,a=0,c=0;r=i[72]|0;s=n[r>>1]|0;c=(e|0)==(t|0);a=c?0:e;c=c?0:t;if(s<<16>>16==97){i[72]=r+4;r=w(1)|0;e=i[72]|0;if(W(r)|0){v(r);t=(i[72]|0)+2|0;i[72]=t}else{q(r)|0;t=i[72]|0}s=w(1)|0;r=i[72]|0}if((r|0)!=(e|0))O(e,t,a,c);return s|0}function C(){var e=0,t=0,r=0;r=i[73]|0;t=i[72]|0;e:while(1){e=t+2|0;if(t>>>0>=r>>>0){t=6;break}switch(n[e>>1]|0){case 13:case 10:{t=6;break e}case 93:{t=7;break e}case 92:{e=t+4|0;break}default:{}}t=e}if((t|0)==6){i[72]=e;T();e=0}else if((t|0)==7){i[72]=e;e=93}return e|0}function g(){var e=0,t=0,r=0;e:while(1){e=i[72]|0;t=e+2|0;i[72]=t;if(e>>>0>=(i[73]|0)>>>0){r=7;break}switch(n[t>>1]|0){case 13:case 10:{r=7;break e}case 47:break e;case 91:{C()|0;break}case 92:{i[72]=e+4;break}default:{}}}if((r|0)==7)T();return}function p(e){e=e|0;switch(n[e>>1]|0){case 62:{e=(n[e+-2>>1]|0)==61;break}case 41:case 59:{e=1;break}case 104:{e=$(e+-2|0,210,4)|0;break}case 121:{e=$(e+-2|0,218,6)|0;break}case 101:{e=$(e+-2|0,230,3)|0;break}default:e=0}return e|0}function y(e){e=e|0;var t=0,r=0,s=0,a=0,c=0;a=(i[72]|0)+2|0;i[72]=a;r=i[73]|0;while(1){t=a+2|0;if(a>>>0>=r>>>0)break;s=n[t>>1]|0;if(!e?Z(s)|0:0)break;if(s<<16>>16==42?(n[a+4>>1]|0)==47:0){c=8;break}a=t}if((c|0)==8){i[72]=t;t=a+4|0}i[72]=t;return}function m(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;e:do{if(!r)e=0;else{while(1){n=s[e>>0]|0;i=s[t>>0]|0;if(n<<24>>24!=i<<24>>24)break;r=r+-1|0;if(!r){e=0;break e}else{e=e+1|0;t=t+1|0}}e=(n&255)-(i&255)|0}}while(0);return e|0}function I(e){e=e|0;e:do{switch(e<<16>>16){case 38:case 37:case 33:{e=1;break}default:if((e&-8)<<16>>16==40|(e+-58&65535)<6)e=1;else{switch(e<<16>>16){case 91:case 93:case 94:{e=1;break e}default:{}}e=(e+-123&65535)<4}}}while(0);return e|0}function U(e){e=e|0;e:do{switch(e<<16>>16){case 38:case 37:case 33:break;default:if(!((e+-58&65535)<6|(e+-40&65535)<7&e<<16>>16!=41)){switch(e<<16>>16){case 91:case 94:break e;default:{}}return e<<16>>16!=125&(e+-123&65535)<4|0}}}while(0);return 1}function x(e){e=e|0;var t=0;t=n[e>>1]|0;e:do{if((t+-9&65535)>=5){switch(t<<16>>16){case 160:case 32:{t=1;break e}default:{}}if(I(t)|0)return t<<16>>16!=46|(G(e)|0)|0;else t=0}else t=1}while(0);return t|0}function S(e){e=e|0;var t=0,r=0,s=0,a=0;r=f;f=f+16|0;s=r;i[s>>2]=0;i[66]=e;t=i[3]|0;a=t+(e<<1)|0;e=a+2|0;n[a>>1]=0;i[s>>2]=e;i[67]=e;i[59]=0;i[63]=0;i[61]=0;i[60]=0;i[65]=0;i[62]=0;f=r;return t|0}function O(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0,c=0;a=i[67]|0;i[67]=a+20;c=i[65]|0;i[((c|0)==0?240:c+16|0)>>2]=a;i[65]=a;i[a>>2]=e;i[a+4>>2]=t;i[a+8>>2]=r;i[a+12>>2]=n;i[a+16>>2]=0;s[803]=1;return}function $(e,t,r){e=e|0;t=t|0;r=r|0;var s=0,n=0;s=e+(0-r<<1)|0;n=s+2|0;e=i[3]|0;if(n>>>0>=e>>>0?(m(n,t,r<<1)|0)==0:0)if((n|0)==(e|0))e=1;else e=x(s)|0;else e=0;return e|0}function j(e){e=e|0;switch(n[e>>1]|0){case 107:{e=$(e+-2|0,144,4)|0;break}case 101:{if((n[e+-2>>1]|0)==117)e=$(e+-4|0,116,6)|0;else e=0;break}default:e=0}return e|0}function B(e,t){e=e|0;t=t|0;var r=0;r=i[3]|0;if(r>>>0<=e>>>0?(n[e>>1]|0)==t<<16>>16:0)if((r|0)==(e|0))r=1;else r=E(n[e+-2>>1]|0)|0;else r=0;return r|0}function E(e){e=e|0;e:do{if((e+-9&65535)<5)e=1;else{switch(e<<16>>16){case 32:case 160:{e=1;break e}default:{}}e=e<<16>>16!=46&(I(e)|0)}}while(0);return e|0}function P(){var e=0,t=0,r=0;e=i[73]|0;r=i[72]|0;e:while(1){t=r+2|0;if(r>>>0>=e>>>0)break;switch(n[t>>1]|0){case 13:case 10:break e;default:r=t}}i[72]=t;return}function q(e){e=e|0;while(1){if(V(e)|0)break;if(I(e)|0)break;e=(i[72]|0)+2|0;i[72]=e;e=n[e>>1]|0;if(!(e<<16>>16)){e=0;break}}return e|0}function z(){var e=0;e=i[(i[61]|0)+20>>2]|0;switch(e|0){case 1:{e=-1;break}case 2:{e=-2;break}default:e=e-(i[3]|0)>>1}return e|0}function D(e){e=e|0;if(!($(e,190,5)|0)?!($(e,200,3)|0):0)e=$(e,206,2)|0;else e=1;return e|0}function F(e){e=e|0;switch(e<<16>>16){case 160:case 32:case 12:case 11:case 9:{e=1;break}default:e=0}return e|0}function G(e){e=e|0;if((n[e>>1]|0)==46?(n[e+-2>>1]|0)==46:0)e=(n[e+-4>>1]|0)==46;else e=0;return e|0}function H(e){e=e|0;if((i[3]|0)==(e|0))e=1;else e=x(e+-2|0)|0;return e|0}function J(){var e=0;e=i[(i[62]|0)+12>>2]|0;if(!e)e=-1;else e=e-(i[3]|0)>>1;return e|0}function K(){var e=0;e=i[(i[61]|0)+12>>2]|0;if(!e)e=-1;else e=e-(i[3]|0)>>1;return e|0}function L(){var e=0;e=i[(i[62]|0)+8>>2]|0;if(!e)e=-1;else e=e-(i[3]|0)>>1;return e|0}function M(){var e=0;e=i[(i[61]|0)+16>>2]|0;if(!e)e=-1;else e=e-(i[3]|0)>>1;return e|0}function N(){var e=0;e=i[(i[61]|0)+4>>2]|0;if(!e)e=-1;else e=e-(i[3]|0)>>1;return e|0}function Q(){var e=0;e=i[61]|0;e=i[((e|0)==0?236:e+32|0)>>2]|0;i[61]=e;return(e|0)!=0|0}function R(){var e=0;e=i[62]|0;e=i[((e|0)==0?240:e+16|0)>>2]|0;i[62]=e;return(e|0)!=0|0}function T(){s[802]=1;i[68]=(i[72]|0)-(i[3]|0)>>1;i[72]=(i[73]|0)+2;return}function V(e){e=e|0;return(e|128)<<16>>16==160|(e+-9&65535)<5|0}function W(e){e=e|0;return e<<16>>16==39|e<<16>>16==34|0}function X(){return(i[(i[61]|0)+8>>2]|0)-(i[3]|0)>>1|0}function Y(){return(i[(i[62]|0)+4>>2]|0)-(i[3]|0)>>1|0}function Z(e){e=e|0;return e<<16>>16==13|e<<16>>16==10|0}function _(){return(i[i[61]>>2]|0)-(i[3]|0)>>1|0}function ee(){return(i[i[62]>>2]|0)-(i[3]|0)>>1|0}function ae(){return a[(i[61]|0)+24>>0]|0|0}function re(e){e=e|0;i[3]=e;return}function ie(){return i[(i[61]|0)+28>>2]|0}function se(){return(s[803]|0)!=0|0}function fe(){return(s[804]|0)!=0|0}function te(){return i[68]|0}function ce(e){e=e|0;f=e+992+15&-16;return 992}return{su:ce,ai:M,e:te,ee:Y,ele:J,els:L,es:ee,f:fe,id:z,ie:N,ip:ae,is:_,it:ie,ms:se,p:b,re:R,ri:Q,sa:S,se:K,ses:re,ss:X}}("undefined"!=typeof self?self:global,{},Ne),He=_e.su(qe-(2<<17))}const s=Je.length+1;_e.ses(He),_e.sa(s-1),We(Je,new Uint16Array(Ne,He,s)),_e.p()||(De=_e.e(),o());const n=[],i=[];for(;_e.ri();){const e=_e.is(),t=_e.ie(),r=_e.ai(),s=_e.id(),i=_e.ss(),a=_e.se(),c=_e.it();let f;_e.ip()&&(f=b(-1===s?e:e+1,Je.charCodeAt(-1===s?e-1:e))),n.push({t:c,n:f,s:e,e:t,ss:i,se:a,d:s,a:r})}for(;_e.re();){const e=_e.es(),t=_e.ee(),r=_e.els(),s=_e.ele(),n=Je.charCodeAt(e),a=r>=0?Je.charCodeAt(r):-1;i.push({s:e,e:t,ls:r,le:s,n:34===n||39===n?b(e+1,n):Je.slice(e,t),ln:r<0?void 0:34===a||39===a?b(r+1,a):Je.slice(r,s)})}return[n,i,!!_e.f(),!!_e.ms()]}function b(e,t){De=e;let r="",s=De;for(;;){De>=Je.length&&o();const e=Je.charCodeAt(De);if(e===t)break;92===e?(r+=Je.slice(s,De),r+=k(),s=De):(8232===e||8233===e||u(e)&&o(),++De)}return r+=Je.slice(s,De++),r}function k(){let e=Je.charCodeAt(++De);switch(++De,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(l(2));case 117:return function(){const e=Je.charCodeAt(De);let t;123===e?(++De,t=l(Je.indexOf("}",De)-De),++De,t>1114111&&o()):t=l(4);return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}();case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===Je.charCodeAt(De)&&++De;case 10:return"";case 56:case 57:o();default:if(e>=48&&e<=55){let t=Je.substr(De-1,3).match(/^[0-7]+/)[0],r=parseInt(t,8);return r>255&&(t=t.slice(0,-1),r=parseInt(t,8)),De+=t.length-1,e=Je.charCodeAt(De),"0"===t&&56!==e&&57!==e||o(),String.fromCharCode(r)}return u(e)?"":String.fromCharCode(e)}}function l(e){const t=De;let r=0,s=0;for(let t=0;t<e;++t,++De){let e,n=Je.charCodeAt(De);if(95!==n){if(n>=97)e=n-97+10;else if(n>=65)e=n-65+10;else{if(!(n>=48&&n<=57))break;e=n-48}if(e>=16)break;s=n,r=16*r+e}else 95!==s&&0!==t||o(),s=n}return 95!==s&&De-t===e||o(),r}function u(e){return 13===e||10===e}function o(){throw Object.assign(Error(`Parse error ${Be}:${Je.slice(0,De).split("\n").length}:${De-Je.lastIndexOf("\n",De-1)}`),{idx:De})}async function _resolve(e,t){const r=resolveIfNotPlainOrUrl(e,t)||asURL(e);return{r:resolveImportMap(Ke,r||e,t)||throwUnresolved(e,t),b:!r&&!asURL(e)}}const Ve=i?async(e,t)=>{let r=i(e,t,defaultResolve);r&&r.then&&(r=await r);return r?{r:r,b:!resolveIfNotPlainOrUrl(e,t)&&!asURL(e)}:_resolve(e,t)}:_resolve;async function importHandler(t,...r){let i=r[r.length-1];typeof i!=="string"&&(i=ve);await Qe;n&&await n(t,typeof r[1]!=="string"?r[1]:{},i);if(et||s||!Ze){e&&processScriptsAndPreloads(true);s||(et=false)}await Xe;return(await Ve(t,i)).r}async function importShim(...e){return topLevelLoad(await importHandler(...e),{credentials:"same-origin"})}we&&(importShim.source=async function importShimSource(...e){const t=await importHandler(...e);const r=getOrCreateLoad(t,{credentials:"same-origin"},null,null);tt=void 0;if(Ye&&!s&&r.n&&nativelyLoaded){ge();Ye=false}await r.f;return importShim._s[r.r]});self.importShim=importShim;function defaultResolve(e,t){return resolveImportMap(Ke,resolveIfNotPlainOrUrl(e,t)||e,t)||throwUnresolved(e,t)}function throwUnresolved(e,t){throw Error(`Unable to resolve specifier '${e}'${fromParent(t)}`)}const resolveSync=(e,t=ve)=>{t=`${t}`;const r=i&&i(e,t,defaultResolve);return r&&!r.then?r:defaultResolve(e,t)};function metaResolve(e,t=this.url){return resolveSync(e,t)}importShim.resolve=resolveSync;importShim.getImportMap=()=>JSON.parse(JSON.stringify(Ke));importShim.addImportMap=e=>{if(!s)throw new Error("Unsupported in polyfill mode.");Ke=resolveAndComposeImportMap(e,ve,Ke)};const ze=importShim._r={};const Ge=importShim._s={};async function loadAll(e,t){t[e.u]=1;await e.L;await Promise.all(e.d.map((({l:e,s:r})=>{if(!e.b&&!t[e.u])return r?e.f:loadAll(e,t)})));e.n||(e.n=e.d.some((e=>e.l.n)))}let Ke={imports:{},scopes:{},integrity:{}};let Ze;const Qe=Te.then((()=>{Ze=r.polyfillEnable!==true&&Le&&Me&&Pe&&(!he||Ue)&&(!be||Ee)&&(!ke||Ie)&&(!we||je)&&!Se;if(we&&typeof WebAssembly!=="undefined"&&!Object.getPrototypeOf(WebAssembly.Module).name){const t=Symbol();const brand=e=>Object.defineProperty(e,t,{writable:false,configurable:false,value:"WebAssembly.Module"});class AbstractModuleSource{get[Symbol.toStringTag](){if(this[t])return this[t];throw new TypeError("Not an AbstractModuleSource")}}const{Module:n,compile:i,compileStreaming:a}=WebAssembly;WebAssembly.Module=Object.setPrototypeOf(Object.assign((function Module(...e){return brand(new n(...e))}),n),AbstractModuleSource);WebAssembly.Module.prototype=Object.setPrototypeOf(n.prototype,AbstractModuleSource.prototype);WebAssembly.compile=function compile(...e){return i(...e).then(brand)};WebAssembly.compileStreaming=function compileStreaming(...e){return a(...e).then(brand)}}if(e){if(!Pe){const c=HTMLScriptElement.supports||(e=>e==="classic"||e==="module");HTMLScriptElement.supports=e=>e==="importmap"||c(e)}if(s||!Ze){new MutationObserver((e=>{for(const t of e)if(t.type==="childList")for(const e of t.addedNodes)if(e.tagName==="SCRIPT"){e.type===(s?"module-shim":"module")&&processScript(e,true);e.type===(s?"importmap-shim":"importmap")&&processImportMap(e,true)}else e.tagName==="LINK"&&e.rel===(s?"modulepreload-shim":"modulepreload")&&processPreload(e)})).observe(document,{childList:true,subtree:true});processScriptsAndPreloads();if(document.readyState==="complete")readyStateCompleteCheck();else{async function readyListener(){await Qe;processScriptsAndPreloads();if(document.readyState==="complete"){readyStateCompleteCheck();document.removeEventListener("readystatechange",readyListener)}}document.addEventListener("readystatechange",readyListener)}}}}));let Xe=Qe;let Ye=true;let et=true;async function topLevelLoad(e,t,r,i,a){s||(et=false);await Qe;await Xe;n&&await n(e,typeof t!=="string"?t:{},"");if(!s&&Ze){if(i)return null;await a;return Ae(r?createBlob(r):e,{errUrl:e||r})}const c=getOrCreateLoad(e,t,null,r);linkLoad(c,t);const f={};await loadAll(c,f);tt=void 0;resolveDeps(c,f);await a;if(r&&!s&&!c.n){if(i)return;le&&revokeObjectURLs(Object.keys(f));return await Ae(createBlob(r),{errUrl:r})}if(Ye&&!s&&c.n&&i){ge();Ye=false}const ne=await Ae(s||c.n||!i?c.b:c.u,{errUrl:c.u});c.s&&(await Ae(c.s)).u$_(ne);le&&revokeObjectURLs(Object.keys(f));return ne}function revokeObjectURLs(e){let t=0;const r=e.length;const s=self.requestIdleCallback?self.requestIdleCallback:self.requestAnimationFrame;s(cleanup);function cleanup(){const n=t*100;if(!(n>r)){for(const t of e.slice(n,n+100)){const e=ze[t];e&&URL.revokeObjectURL(e.b)}t++;s(cleanup)}}}function urlJsString(e){return`'${e.replace(/'/g,"\\'")}'`}let tt;function resolveDeps(e,t){if(e.b||!t[e.u])return;t[e.u]=0;for(const{l:r,s:s}of e.d)s||resolveDeps(r,t);const[r,s]=e.a;const n=e.S;let i=ye&&tt?`import '${tt}';`:"";let a=0,f=0,ne=[];function pushStringTo(t){while(ne[ne.length-1]<t){const t=ne.pop();i+=`${n.slice(a,t)}, ${urlJsString(e.r)}`;a=t}i+=n.slice(a,t);a=t}for(const{s:t,ss:s,se:oe,d:le,t:ue}of r)if(ue===4){let{l:r}=e.d[f++];pushStringTo(s);i+="import ";a=s+14;pushStringTo(t-1);i+=`/*${n.slice(t-1,oe)}*/'${createBlob(`export default importShim._s[${urlJsString(r.r)}]`)}'`;a=oe}else if(le===-1){let{l:r}=e.d[f++],s=r.b,c=!s;c&&((s=r.s)||(s=r.s=createBlob(`export function u$_(m){${r.a[1].map((({s:e,e:t},s)=>{const n=r.S[e]==='"'||r.S[e]==="'";return`e$_${s}=m${n?"[":"."}${r.S.slice(e,t)}${n?"]":""}`})).join(",")}}${r.a[1].length?`let ${r.a[1].map(((e,t)=>`e$_${t}`)).join(",")};`:""}export {${r.a[1].map((({s:e,e:t},s)=>`e$_${s} as ${r.S.slice(e,t)}`)).join(",")}}\n//# sourceURL=${r.r}?cycle`)));pushStringTo(t-1);i+=`/*${n.slice(t-1,oe)}*/'${s}'`;if(!c&&r.s){i+=`;import*as m$_${f} from'${r.b}';import{u$_ as u$_${f}}from'${r.s}';u$_${f}(m$_${f})`;r.s=void 0}a=oe}else if(le===-2){e.m={url:e.r,resolve:metaResolve};c(e.m,e.u);pushStringTo(t);i+=`importShim._r[${urlJsString(e.u)}].m`;a=oe}else{pushStringTo(s+6);i+=`Shim${ue===5?".source":""}(`;ne.push(oe-1);a=t}!e.s||r.length!==0&&r[r.length-1].d!==-1||(i+=`\n;import{u$_}from'${e.s}';try{u$_({${s.filter((e=>e.ln)).map((({s:e,e:t,ln:r})=>`${n.slice(e,t)}:${r}`)).join(",")}})}catch(_){};\n`);function pushSourceURL(t,r){const s=r+t.length;const c=n.indexOf("\n",s);const f=c!==-1?c:n.length;pushStringTo(s);i+=new URL(n.slice(s,f),e.r).href;a=f}let oe=n.lastIndexOf(rt);let le=n.lastIndexOf(st);oe<a&&(oe=-1);le<a&&(le=-1);oe!==-1&&(le===-1||le>oe)&&pushSourceURL(rt,oe);if(le!==-1){pushSourceURL(st,le);oe!==-1&&oe>le&&pushSourceURL(rt,oe)}pushStringTo(n.length);oe===-1&&(i+=rt+e.r);e.b=tt=createBlob(i);e.S=void 0}const rt="\n//# sourceURL=";const st="\n//# sourceMappingURL=";const nt=/^(text|application)\/(x-)?javascript(;|$)/;const it=/^(application)\/wasm(;|$)/;const at=/^(text|application)\/json(;|$)/;const ot=/^(text|application)\/css(;|$)/;const ct=/url\(\s*(?:(["'])((?:\\.|[^\n\\"'])+)\1|((?:\\.|[^\s,"'()\\])+))\s*\)/g;let lt=[];let ft=0;function pushFetchPool(){if(++ft>100)return new Promise((e=>lt.push(e)))}function popFetchPool(){ft--;lt.length&&lt.shift()()}async function doFetch(e,t,r){if(pe&&!t.integrity)throw Error(`No integrity for ${e}${fromParent(r)}.`);const s=pushFetchPool();s&&await s;try{var n=await a(e,t)}catch(t){t.message=`Unable to fetch ${e}${fromParent(r)} - see network log for details.\n`+t.message;throw t}finally{popFetchPool()}if(!n.ok){const e=new TypeError(`${n.status} ${n.statusText} ${n.url}${fromParent(r)}`);e.response=n;throw e}return n}async function fetchModule(e,t,r){const s=Ke.integrity[e];const n=await doFetch(e,s&&!t.integrity?Object.assign({},t,{integrity:s}):t,r);const i=n.url;const a=n.headers.get("content-type");if(nt.test(a))return{r:i,s:await n.text(),sp:null,t:"js"};if(it.test(a)){const e=await(Ge[i]||(Ge[i]=WebAssembly.compileStreaming(n)));Ge[i]=e;let t="",r=0,s="";for(const n of WebAssembly.Module.imports(e)){const e=urlJsString(n.module);t+=`import * as impt${r} from ${e};\n`;s+=`${e}:impt${r++},`}r=0;t+=`const instance = await WebAssembly.instantiate(importShim._s[${urlJsString(i)}], {${s}});\n`;for(const r of WebAssembly.Module.exports(e))t+=`export const ${r.name} = instance.exports['${r.name}'];\n`;return{r:i,s:t,t:"wasm"}}if(at.test(a))return{r:i,s:`export default ${await n.text()}`,sp:null,t:"json"};if(ot.test(a))return{r:i,s:`var s=new CSSStyleSheet();s.replaceSync(${JSON.stringify((await n.text()).replace(ct,((t,r="",s,n)=>`url(${r}${resolveUrl(s||n,e)}${r})`)))});export default s;`,ss:null,t:"css"};throw Error(`Unsupported Content-Type "${a}" loading ${e}${fromParent(r)}. Modules must be served with a valid MIME type like application/javascript.`)}function getOrCreateLoad(e,t,r,n){if(n&&ze[e]){let t=0;while(ze[e+ ++t]);e+=t}let i=ze[e];if(i)return i;ze[e]=i={u:e,r:n?e:void 0,f:void 0,S:n,L:void 0,a:void 0,d:void 0,b:void 0,s:void 0,n:false,t:null,m:null};i.f=(async()=>{if(!i.S){let n;({r:i.r,s:i.S,t:n}=await(bt[e]||fetchModule(e,t,r)));if(n&&!s){if(n==="css"&&!be||n==="json"&&!he||n==="wasm"&&!ke)throw featErr(`${n}-modules`);(n==="css"&&!Ee||n==="json"&&!Ue||n==="wasm"&&!Ie)&&(i.n=true)}}try{i.a=parse(i.S,i.u)}catch(e){throwError(e);i.a=[[],[],false]}return i})();return i}const featErr=e=>Error(`${e} feature must be enabled via <script type="esms-options">{ "polyfillEnable": ["${e}"] }<\/script>`);function linkLoad(e,t){e.L||(e.L=e.f.then((async()=>{let r=t;e.d=(await Promise.all(e.a[0].map((async({n:s,d:n,t:i})=>{const a=i>=4;if(a&&!we)throw featErr("source-phase");(n>=0&&!Le||n===-2&&!Me||a&&!je)&&(e.n=true);if(n!==-1||!s)return;const{r:c,b:f}=await Ve(s,e.r||e.u);!f||Pe&&!Se||(e.n=true);if(n!==-1)return;if($e&&$e(c)&&!a)return{l:{b:c},s:false};r.integrity&&(r=Object.assign({},r,{integrity:void 0}));const ne={l:getOrCreateLoad(c,r,e.r,null),s:a};ne.s||linkLoad(ne.l,t);return ne})))).filter((e=>e))})))}function processScriptsAndPreloads(e=false){if(!e)for(const e of document.querySelectorAll(s?"link[rel=modulepreload-shim]":"link[rel=modulepreload]"))processPreload(e);for(const e of document.querySelectorAll(s?"script[type=importmap-shim]":"script[type=importmap]"))processImportMap(e);if(!e)for(const e of document.querySelectorAll(s?"script[type=module-shim]":"script[type=module]"))processScript(e)}function getFetchOpts(e){const t={};e.integrity&&(t.integrity=e.integrity);e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy);e.fetchPriority&&(t.priority=e.fetchPriority);e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin";return t}let ut=Promise.resolve();let dt=1;function domContentLoadedCheck(){--dt!==0||ue||!s&&Ze||document.dispatchEvent(new Event("DOMContentLoaded"))}let pt=1;function loadCheck(){--pt!==0||!de||ue||!s&&Ze||window.dispatchEvent(new Event("load"))}if(e){document.addEventListener("DOMContentLoaded",(async()=>{await Qe;domContentLoadedCheck()}));window.addEventListener("load",(async()=>{await Qe;loadCheck()}))}let mt=1;function readyStateCompleteCheck(){--mt!==0||ue||!s&&Ze||document.dispatchEvent(new Event("readystatechange"))}const hasNext=e=>e.nextSibling||e.parentNode&&hasNext(e.parentNode);const epCheck=(e,t)=>e.ep||!t&&(!e.src&&!e.innerHTML||!hasNext(e))||e.getAttribute("noshim")!==null||!(e.ep=true);function processImportMap(e,t=mt>0){if(!epCheck(e,t)){if(e.src){if(!s)return;setImportMapSrcOrLazy()}if(et){Xe=Xe.then((async()=>{Ke=resolveAndComposeImportMap(e.src?await(await doFetch(e.src,getFetchOpts(e))).json():JSON.parse(e.innerHTML),e.src||ve,Ke)})).catch((t=>{console.log(t);t instanceof SyntaxError&&(t=new Error(`Unable to parse import map ${t.message} in: ${e.src||e.innerHTML}`));throwError(t)}));s||(et=false)}}}function processScript(e,t=mt>0){if(epCheck(e,t))return;const r=e.getAttribute("async")===null&&mt>0;const n=dt>0;const i=pt>0;i&&pt++;r&&mt++;n&&dt++;const a=topLevelLoad(e.src||ve,getFetchOpts(e),!e.src&&e.innerHTML,!s,r&&ut).catch(throwError);ue||a.then((()=>e.dispatchEvent(new Event("load"))));r&&(ut=a.then(readyStateCompleteCheck));n&&a.then(domContentLoadedCheck);i&&a.then(loadCheck)}const bt={};function processPreload(e){if(!e.ep){e.ep=true;bt[e.href]||(bt[e.href]=fetchModule(e.href,getFetchOpts(e)))}}})();