@inkeep/open-knowledge 0.88.0 → 0.88.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/skills/project/references/conflict-resolution.md +5 -1
- package/dist/cli.mjs +77 -77
- package/dist/constants-J_2c-D3U.mjs +1 -0
- package/dist/dist-BSRU0yxj.mjs +1 -0
- package/dist/dist-Dcmwb25g.mjs +2231 -0
- package/dist/index.mjs +183 -183
- package/dist/init-C91Labje.mjs +1 -0
- package/dist/{init-BFRpuF0Z.mjs → init-DmY5yyav.mjs} +61 -61
- package/dist/{launch-json-removal-BfVm86jq.mjs → launch-json-removal-BhCxyDgy.mjs} +1 -1
- package/dist/{lib-CLRUBb2o.mjs → lib-CxwDRGVJ.mjs} +3 -3
- package/dist/{loader-C-U8IQ2E.mjs → loader-BQnZkdE-.mjs} +1 -1
- package/dist/loader-C1uKGeXQ.mjs +1 -0
- package/dist/{md-manager-BGnqyqi1-CAY3I0ul.mjs → md-manager-BGnqyqi1-QGJ-q9Qx.mjs} +2 -2
- package/dist/{open-browser-DYDl2MPM.mjs → open-browser-Dh_3itA4.mjs} +1 -1
- package/dist/parse-worker.mjs +1 -1
- package/dist/preview-BLzm1gNw.mjs +1 -0
- package/dist/{preview-3Hsys4mQ.mjs → preview-BmbvsohB.mjs} +1 -1
- package/dist/public/assets/{AccountSection-Df9opXYb.js → AccountSection-CBx20rOt.js} +1 -1
- package/dist/public/assets/{ActivityModeContent-BqNsXfT4.js → ActivityModeContent-xTdhODwb.js} +1 -1
- package/dist/public/assets/{AddPropertiesButton-COJAHiNO.js → AddPropertiesButton-BS5sfWmg.js} +2 -2
- package/dist/public/assets/{AgentConnectionsSection-CbKU194h.js → AgentConnectionsSection-C43l2mJy.js} +1 -1
- package/dist/public/assets/{AgentDiffPane-Bxsscd4F.js → AgentDiffPane-WtCKfNKM.js} +1 -1
- package/dist/public/assets/{AttachmentsSection-DIHxUmql.js → AttachmentsSection-DFya3yNP.js} +1 -1
- package/dist/public/assets/{AuthModal-DsmG3Tvf.js → AuthModal-C6TUfJLf.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-YSigWxek.js → CodeMirrorPropInput-Cpqe9F2H.js} +1 -1
- package/dist/public/assets/{ContentRulesSection-W8YrIYgB.js → ContentRulesSection-LyNZMcPU.js} +1 -1
- package/dist/public/assets/{DiffViewBoundary-C58eMqyu.js → DiffViewBoundary-j9Bn81JI.js} +1 -1
- package/dist/public/assets/{DocumentContext-Dhs9Bgpy.js → DocumentContext-CxRsF0t3.js} +1 -1
- package/dist/public/assets/{EditorModeToggle-CyO097Zh.js → EditorModeToggle-CnKlWOie.js} +1 -1
- package/dist/public/assets/{ExcalidrawDocEditor-6_WxAYZn.js → ExcalidrawDocEditor-DFJHJmtM.js} +1 -1
- package/dist/public/assets/FeedbackForm-DJFCZkBc.js +1 -0
- package/dist/public/assets/{GraphPanel-DOx9UNvO.js → GraphPanel-DuJ2YWw4.js} +1 -1
- package/dist/public/assets/{ImportSkillDialog-BmbpyG9X.js → ImportSkillDialog-BnOQ_ju0.js} +1 -1
- package/dist/public/assets/{LinkPreviewsSection-D43dGSt1.js → LinkPreviewsSection-OOvYTWJU.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-B1A5Al4i.js → LintConfigEditor-CtSietcm.js} +1 -1
- package/dist/public/assets/{LintingSection-5SVYzsWm.js → LintingSection-CIr2a4tS.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-BABTWRcL.js +1 -0
- package/dist/public/assets/{ManagedArtifactProperties-BuefhPEE.js → ManagedArtifactProperties-Na40pjPs.js} +1 -1
- package/dist/public/assets/{MermaidDocEditor-4gAbORTO.js → MermaidDocEditor-BUMm9Iwk.js} +1 -1
- package/dist/public/assets/{NetworkAccessSection-CpHDvqgy.js → NetworkAccessSection-DajjaZXs.js} +1 -1
- package/dist/public/assets/{ProjectTemplatesSection-BgNT0K8r.js → ProjectTemplatesSection-BpE9Lmvi.js} +1 -1
- package/dist/public/assets/{PropertyDisplayRow-CetTVIgB.js → PropertyDisplayRow-C-uYXWiI.js} +1 -1
- package/dist/public/assets/{PublishToGitHubDialog-BI5hqYxN.js → PublishToGitHubDialog-Dpaiv1Kj.js} +1 -1
- package/dist/public/assets/{RegisteredAgentIcon-BsD-s4ln.js → RegisteredAgentIcon-D-MeVkiO.js} +1 -1
- package/dist/public/assets/{SchemaConfigEditor-V1-vXIzF.js → SchemaConfigEditor-AJWYxOwG.js} +1 -1
- package/dist/public/assets/{SearchSection-lMgT00iG.js → SearchSection-DGqeGTeg.js} +1 -1
- package/dist/public/assets/{SessionsHost-BNcTj5fv.js → SessionsHost-BhcS2B8R.js} +2 -2
- package/dist/public/assets/{SettingsDialogBody-JxdL2CXl.js → SettingsDialogBody-G-FBFq9K.js} +2 -2
- package/dist/public/assets/{ShareReceiveMissDialog-DxCINO9Q.js → ShareReceiveMissDialog-D4jCgpt9.js} +1 -1
- package/dist/public/assets/{SkillCostValue-CfttVYIg.js → SkillCostValue-BeGV1AHZ.js} +1 -1
- package/dist/public/assets/{SkillForkDialog-Bh1ENNhm.js → SkillForkDialog-BJ1PNDyY.js} +1 -1
- package/dist/public/assets/{SkillInstallMenu-BNOJ1gOq.js → SkillInstallMenu-DoFpn_i9.js} +1 -1
- package/dist/public/assets/{SkillOriginInline-CbftHWN_.js → SkillOriginInline-jAGOTBhd.js} +1 -1
- package/dist/public/assets/{SkillPluginBundleDialog-BZidbHAz.js → SkillPluginBundleDialog-COmssCF-.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-D7_BcqhS.js → SkillToolbarControls-BAdBtwlv.js} +1 -1
- package/dist/public/assets/{SkillsManagerSection-8kamzhJv.js → SkillsManagerSection-DBG_uiBY.js} +1 -1
- package/dist/public/assets/{SlidesPluginSection-DGY8OW-e.js → SlidesPluginSection-o1AAv2gw.js} +1 -1
- package/dist/public/assets/{SlidesToolbarControls-iMBibqX8.js → SlidesToolbarControls-CI8t13V0.js} +1 -1
- package/dist/public/assets/{SourceEditor-D1DTKvNj.js → SourceEditor-PuTEPurq.js} +1 -1
- package/dist/public/assets/{SpellingSettings-ucYYz478.js → SpellingSettings-C0gidatW.js} +1 -1
- package/dist/public/assets/{SyncSection-CWLMt61q.js → SyncSection-DBG-g73Q.js} +1 -1
- package/dist/public/assets/{SyncStatusBadge-D4XfyHvU.js → SyncStatusBadge-BOQqzGQf.js} +1 -1
- package/dist/public/assets/{TemplateRow-3gYh359C.js → TemplateRow-CDGoaqY2.js} +1 -1
- package/dist/public/assets/{TerminalLaunchContext-8-tVdZR6.js → TerminalLaunchContext-QHAEcBor.js} +1 -1
- package/dist/public/assets/{TerminalPanel-Bl1RiE6k.js → TerminalPanel-9hEgdMJq.js} +1 -1
- package/dist/public/assets/{TerminalSection-is-FaOji.js → TerminalSection-D7BgWf9p.js} +1 -1
- package/dist/public/assets/{TerminalWindowApp-DCmVnc91.js → TerminalWindowApp-YJV1cprU.js} +1 -1
- package/dist/public/assets/{TextDocEditor-CU9E3apE.js → TextDocEditor-DZRuCjqW.js} +1 -1
- package/dist/public/assets/{ThemePluginSection-DJWSYu1B.js → ThemePluginSection-CnljF-zY.js} +1 -1
- package/dist/public/assets/{ThreadView-8S31lclo.js → ThreadView-ifWyWlde.js} +1 -1
- package/dist/public/assets/{TimelineDiffPane-9Q0GIo8J.js → TimelineDiffPane-B1-nYdp0.js} +1 -1
- package/dist/public/assets/{_envelope-eL1L23Tr-B0_VTKOS.js → _envelope-BjFOILGI-BHu_Fgux.js} +1 -1
- package/dist/public/assets/{agent-connections-qusR8JdV.js → agent-connections-2s8pWp2V.js} +1 -1
- package/dist/public/assets/{agent-registry-E4-YX-C7.js → agent-registry-B5GJuQIb.js} +1 -1
- package/dist/public/assets/{bridge-BC8zoeJp.js → bridge-uRUTEbTH.js} +1 -1
- package/dist/public/assets/{catalog-BLHq__9W.js → catalog-CPyYGl1U.js} +1 -1
- package/dist/public/assets/{client-version-CoZXEZeY.js → client-version-DdaKu-EC.js} +1 -1
- package/dist/public/assets/{comment-chips-nIzHBg7Z.js → comment-chips-CelQzR0D.js} +1 -1
- package/dist/public/assets/{config-provider-Bxrf0VFY.js → config-provider-CCKmhkNf.js} +1 -1
- package/dist/public/assets/config-schema-TP14Ln7J.js +1 -0
- package/dist/public/assets/{css-color-to-hex-BxZMOPR2.js → css-color-to-hex-BqyOnwSQ.js} +1 -1
- package/dist/public/assets/{doc-undo-manager-B7shHUXa.js → doc-undo-manager-B8dIdSPP.js} +1 -1
- package/dist/public/assets/field-controls-BBwpwI6T.js +1 -0
- package/dist/public/assets/{field-controls-VYlM-zuI.js → field-controls-C_cFYlPg.js} +1 -1
- package/dist/public/assets/{handoff-DfyrwqdH.js → handoff-dsJx3fmu.js} +1 -1
- package/dist/public/assets/{ime-composition-82-FXhge.js → ime-composition-BdK2XKJN.js} +1 -1
- package/dist/public/assets/{index-Dn014Uc_.js → index-D6QRd24r.js} +7 -7
- package/dist/public/assets/{lint-config-client-44sBu7BY.js → lint-config-client-B9TDClQk.js} +1 -1
- package/dist/public/assets/{lint-plugins-CcZ6qDxp.js → lint-plugins-CFRKtX1P.js} +1 -1
- package/dist/public/assets/{markdown-lint-DuEyV_QZ.js → markdown-lint-hq7LEFYG.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-eM3Qv7kg.js → markdownlint-rule-browser-BT_QJrPv.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-mZ6RA3P5.js → pending-receive-nav-store-B3eFqrN0.js} +1 -1
- package/dist/public/assets/{preferred-session-events-DHiO3Auf.js → preferred-session-events-BB6WGaX5.js} +1 -1
- package/dist/public/assets/{progress-CY0lyFVC.js → progress-vTDT3BN9.js} +1 -1
- package/dist/public/assets/{saved-themes-client-BKoVNUUS.js → saved-themes-client-CyrzqPhC.js} +1 -1
- package/dist/public/assets/{schema-section-QBDszEOo.js → schema-section-DUx17rqG.js} +1 -1
- package/dist/public/assets/{schemas-api-Bfr5hz6Y.js → schemas-api-SZDu_YyA.js} +1 -1
- package/dist/public/assets/{selection-context-DG5K4cJb.js → selection-context-D41UPhfK.js} +1 -1
- package/dist/public/assets/{skills-api-K7ohwTHC.js → skills-api-DOR7jsOr.js} +1 -1
- package/dist/public/assets/{src-CW4ggZDd.js → src-tUR-f_46.js} +1 -1
- package/dist/public/assets/storage-scope-CCzi5i_K.js +1 -0
- package/dist/public/assets/{tag-pill-input-CuM3KvPL.js → tag-pill-input-B2VRyJ6a.js} +1 -1
- package/dist/public/assets/{telemetry-impl-Iss1II_b.js → telemetry-impl-VTNE1WyD.js} +1 -1
- package/dist/public/assets/{telemetry-startup-BoZ03oES.js → telemetry-startup-CubQ69x2.js} +1 -1
- package/dist/public/assets/terminal-cli-display-BAuHoUP9.js +1 -0
- package/dist/public/assets/{terminal-command-events-WwmIH6_2.js → terminal-command-events-CxfMZsn9.js} +1 -1
- package/dist/public/assets/{terminal-launch-events-BZhihNCW.js → terminal-launch-events-zMqQcfPZ.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-DsQJ99H5.js → typing-burst-detector-ZCJlhyzI.js} +1 -1
- package/dist/public/assets/{use-activity-panel-kXobfF-I.js → use-activity-panel-usWxv2Jb.js} +1 -1
- package/dist/public/assets/{use-apply-config-color-theme-CX_Lat5F.js → use-apply-config-color-theme-B2-UX2_r.js} +1 -1
- package/dist/public/assets/{use-conflicts-8HzsEqZ0.js → use-conflicts-BynxNVIR.js} +1 -1
- package/dist/public/assets/{use-live-xterm-theme-TpVKyL9M.js → use-live-xterm-theme-LQGQWK3o.js} +1 -1
- package/dist/public/assets/{use-open-skill-nl3yM9Tn.js → use-open-skill-DkI9xqC5.js} +1 -1
- package/dist/public/assets/{use-semantic-search-status-t6poTntV.js → use-semantic-search-status-ChCXifhi.js} +1 -1
- package/dist/public/assets/{use-skill-origin-Bn6DLUoJ.js → use-skill-origin-BnCsWoWi.js} +1 -1
- package/dist/public/assets/{use-skill-targets-BGy2OH1p.js → use-skill-targets-BUjtaAEb.js} +1 -1
- package/dist/public/assets/{use-skills-zxVtcQ4J.js → use-skills-Dwg_D8aJ.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-BUq2QceX.js → use-terminal-enabled-DFGR9dVE.js} +1 -1
- package/dist/public/assets/{use-timeline-entry-diff-Etq8AxNh.js → use-timeline-entry-diff-BIkd4hmY.js} +1 -1
- package/dist/public/assets/{use-workspace-C24MYxZb.js → use-workspace-CfDXcTRo.js} +1 -1
- package/dist/public/index.html +51 -51
- package/dist/{registry-probes-DhxnLEWK.mjs → registry-probes-Cef-Pb6A.mjs} +10 -10
- package/dist/{removal-file-path-DE9Ph5Jy.mjs → removal-file-path-aw74M53z.mjs} +1 -1
- package/dist/{repair-launch-json-CeLf37MW.mjs → repair-launch-json-B8J_kVu8.mjs} +1 -1
- package/dist/{repair-mcp-configs-DZa24eFR.mjs → repair-mcp-configs-BcaWNIs5.mjs} +1 -1
- package/dist/src-8zw4fVGF.mjs +1 -0
- package/dist/src-DkeQDeWc.mjs +16 -0
- package/dist/start-67rpN-q-.mjs +1 -0
- package/dist/start-IGluF4th.mjs +5 -0
- package/package.json +4 -4
- package/dist/constants-cJMG3_pP.mjs +0 -1
- package/dist/dist-B2Ob9aIQ.mjs +0 -1
- package/dist/dist-DHzxlDC1.mjs +0 -2230
- package/dist/init-BqTZwEdT.mjs +0 -1
- package/dist/loader-Cj5KBBUv.mjs +0 -1
- package/dist/preview-BfLHcmrO.mjs +0 -1
- package/dist/public/assets/FeedbackForm-B6FqvR6O.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-Bk91H2yx.js +0 -1
- package/dist/public/assets/config-schema-XNMCu6AJ.js +0 -1
- package/dist/public/assets/field-controls-mTFxITM4.js +0 -1
- package/dist/public/assets/storage-scope-BMJUnURI.js +0 -1
- package/dist/public/assets/terminal-cli-display-CnNZPRHq.js +0 -1
- package/dist/src-CbCJ3kkW.mjs +0 -16
- package/dist/src-DiIPiMP3.mjs +0 -1
- package/dist/start-BLHeOum4.mjs +0 -1
- package/dist/start-BnGFOCpu.mjs +0 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,t}from"./rolldown-runtime-tZXQYakl.mjs";import{n}from"./wrapper-BF8oRx3G.mjs";import{Blob as r,Buffer as i}from"buffer";import{TextDecoder as a,TextEncoder as o}from"util";import s,{webcrypto as c}from"crypto";import l from"zlib";import u from"stream";import d from"fs";import f from"child_process";import{PerformanceEntry as ee,PerformanceObserver as te}from"node:perf_hooks";import ne from"path";import re from"http";import ie from"https";import{isIP as ae}from"net";import{URL as oe,URLSearchParams as se}from"url";import{ReadableStream as ce}from"stream/web";import le,{Script as ue}from"vm";const de=Symbol(`abort`),fe=Symbol(`activeElement`),pe=Symbol(`asyncTaskManager`),me=Symbol(`bodyBuffer`),he=Symbol(`buffer`),ge=Symbol(`cachedResponse`),_e=Symbol(`callbacks`),ve=Symbol(`checked`),ye=Symbol(`childNodes`),be=Symbol(`children`),xe=Symbol(`classList`),Se=Symbol(`connectedToNode`),Ce=Symbol(`disconnectedFromNode`),we=Symbol(`connectedToDocument`),Te=Symbol(`disconnectedFromDocument`),Ee=Symbol(`contentLength`),De=Symbol(`contentType`),Oe=Symbol(`cssText`),ke=Symbol(`currentScript`),Ae=Symbol(`currentTarget`),je=Symbol(`data`),Me=Symbol(`defaultView`),Ne=Symbol(`destroy`),Pe=Symbol(`dirtyness`),p=Symbol(`end`),Fe=Symbol(`entries`),Ie=Symbol(`evaluateScript`),Le=Symbol(`exceptionObserver`),Re=Symbol(`formNode`),ze=Symbol(`internalId`),m=Symbol(`height`),Be=Symbol(`immediatePropagationStopped`),Ve=Symbol(`indeterminate`),He=Symbol(`isFirstWrite`),Ue=Symbol(`isFirstWriteAfterOpen`),We=Symbol(`isInPassiveEventListener`),Ge=Symbol(`isValue`),Ke=Symbol(`listenerOptions`),qe=Symbol(`listeners`),Je=Symbol(`itemsByName`),Ye=Symbol(`nextActiveElement`),Xe=Symbol(`observeMutations`),Ze=Symbol(`mutationListeners`),h=Symbol(`ownerDocument`),Qe=Symbol(`ownerElement`),$e=Symbol(`propagationStopped`),et=Symbol(`readyStateManager`),tt=Symbol(`referrer`),nt=Symbol(`registry`),rt=Symbol(`relList`),it=Symbol(`resetSelection`),at=Symbol(`rootNode`),ot=Symbol(`selectNode`),st=Symbol(`selectedness`),ct=Symbol(`selection`),lt=Symbol(`setupVMContext`),ut=Symbol(`shadowRoot`),g=Symbol(`start`),dt=Symbol(`style`),ft=Symbol(`target`),pt=Symbol(`textAreaNode`),mt=Symbol(`unobserveMutations`),ht=Symbol(`reportMutation`),gt=Symbol(`updateSelectedness`),_t=Symbol(`url`),_=Symbol(`value`),v=Symbol(`width`),y=Symbol(`window`),vt=Symbol(`windowResizeListener`),yt=Symbol(`mutationObservers`),bt=Symbol(`openerFrame`),xt=Symbol(`openerWindow`),St=Symbol(`pointerCaptures`),Ct=Symbol(`popup`),b=Symbol(`isConnected`),x=Symbol(`parentNode`),S=Symbol(`nodeType`),C=Symbol(`tagName`),wt=Symbol(`prefix`),Tt=Symbol(`scrollHeight`),Et=Symbol(`scrollWidth`),Dt=Symbol(`scrollTop`),Ot=Symbol(`scrollLeft`),kt=Symbol(`attributes`),At=Symbol(`attributesProxy`),w=Symbol(`namespaceURI`),jt=Symbol(`accessKey`),Mt=Symbol(`offsetHeight`),Nt=Symbol(`offsetWidth`),Pt=Symbol(`offsetLeft`),Ft=Symbol(`offsetTop`),It=Symbol(`clientHeight`),Lt=Symbol(`clientWidth`),Rt=Symbol(`clientLeft`),zt=Symbol(`clientTop`),T=Symbol(`name`),Bt=Symbol(`specified`),Vt=Symbol(`adoptedStyleSheets`),Ht=Symbol(`implementation`),Ut=Symbol(`readyState`),Wt=Symbol(`publicId`),Gt=Symbol(`systemId`),Kt=Symbol(`validationMessage`),qt=Symbol(`validity`),Jt=Symbol(`returnValue`),Yt=Symbol(`elements`),Xt=Symbol(`complete`),Zt=Symbol(`naturalHeight`),Qt=Symbol(`naturalWidth`),$t=Symbol(`loading`),E=Symbol(`x`),D=Symbol(`y`),en=Symbol(`files`),tn=Symbol(`sheet`),nn=Symbol(`volume`),rn=Symbol(`paused`),an=Symbol(`currentTime`),on=Symbol(`playbackRate`),sn=Symbol(`defaultPlaybackRate`),cn=Symbol(`muted`),ln=Symbol(`defaultMuted`),un=Symbol(`preservesPitch`),dn=Symbol(`buffered`),fn=Symbol(`duration`),pn=Symbol(`error`),mn=Symbol(`ended`),hn=Symbol(`networkState`),gn=Symbol(`textTracks`),_n=Symbol(`seeking`),vn=Symbol(`seekable`),yn=Symbol(`played`),bn=Symbol(`options`),xn=Symbol(`content`),Sn=Symbol(`mode`),Cn=Symbol(`host`),wn=Symbol(`setURL`),O=Symbol(`localName`),Tn=Symbol(`classRegistry`),En=Symbol(`nodeStream`),Dn=Symbol(`location`),On=Symbol(`history`),kn=Symbol(`navigator`),An=Symbol(`screen`),jn=Symbol(`sessionStorage`),Mn=Symbol(`localStorage`),Nn=Symbol(`sandbox`),Pn=Symbol(`cloneNode`),Fn=Symbol(`appendChild`),In=Symbol(`removeChild`),Ln=Symbol(`insertBefore`),Rn=Symbol(`replaceChild`),zn=Symbol(`tracks`),Bn=Symbol(`constraints`),Vn=Symbol(`capabilities`),Hn=Symbol(`settings`),Un=Symbol(`removeNamedItem`),k=Symbol(`items`),Wn=Symbol(`selectedOptions`),Gn=Symbol(`styleNode`),Kn=Symbol(`updateSheet`),qn=Symbol(`clearCache`),Jn=Symbol(`onSetAttribute`),Yn=Symbol(`onRemoveAttribute`),A=Symbol(`nodeArray`),Xn=Symbol(`elementArray`),j=Symbol(`cache`),Zn=Symbol(`affectsCache`),Qn=Symbol(`forms`),$n=Symbol(`affectsComputedStyleCache`),er=Symbol(`query`),tr=Symbol(`computedStyle`),nr=Symbol(`getFormControlItems`),rr=Symbol(`getFormControlNamedItem`),ir=Symbol(`dataset`),ar=Symbol(`itemsByNamespaceURI`),or=Symbol(`proxy`),sr=Symbol(`setNamedItem`),cr=Symbol(`getTokenList`),lr=Symbol(`attributeName`),ur=Symbol(`selectedIndex`),dr=Symbol(`self`),fr=Symbol(`parent`),pr=Symbol(`top`),mr=Symbol(`areas`),hr=Symbol(`defaultValue`),gr=Symbol(`elementIdMap`),_r=Symbol(`clonable`),vr=Symbol(`delegatesFocus`),yr=Symbol(`serializable`),br=Symbol(`slotAssignment`),xr=Symbol(`assignedNodes`),Sr=Symbol(`assignedToSlot`),Cr=Symbol(`cells`),wr=Symbol(`rows`),Tr=Symbol(`headers`),Er=Symbol(`tBodies`),Dr=Symbol(`track`),Or=Symbol(`controlsList`),kr=Symbol(`mediaKeys`),Ar=Symbol(`remote`),jr=Symbol(`sinkId`),Mr=Symbol(`srcObject`),Nr=Symbol(`cues`),Pr=Symbol(`activeCues`),Fr=Symbol(`kind`),Ir=Symbol(`label`),Lr=Symbol(`language`),Rr=Symbol(`id`),M=Symbol(`illegalConstructor`),zr=Symbol(`state`),Br=Symbol(`canvas`),Vr=Symbol(`popoverTargetElement`),Hr=Symbol(`composed`),Ur=Symbol(`bubbles`),Wr=Symbol(`cancelable`),Gr=Symbol(`defaultPrevented`),Kr=Symbol(`eventPhase`),qr=Symbol(`timeStamp`),Jr=Symbol(`type`),Yr=Symbol(`detail`),Xr=Symbol(`destroyed`),Zr=Symbol(`aborted`),Qr=Symbol(`browserFrames`),$r=Symbol(`windowInternalId`),N=Symbol(`getItemList`),ei=Symbol(`requiredExtensions`),ti=Symbol(`systemLanguage`),ni=Symbol(`transform`),ri=Symbol(`baseVal`),ii=Symbol(`animVal`),ai=Symbol(`pathLength`),oi=Symbol(`viewBox`),si=Symbol(`markerUnits`),ci=Symbol(`markerWidth`),li=Symbol(`markerHeight`),ui=Symbol(`values`),di=Symbol(`orientType`),fi=Symbol(`orientAngle`),pi=Symbol(`refX`),mi=Symbol(`refY`),P=Symbol(`readOnly`),hi=Symbol(`preserveAspectRatio`),gi=Symbol(`animatedPoints`),_i=Symbol(`points`),vi=Symbol(`rx`),yi=Symbol(`ry`),bi=Symbol(`cx`),xi=Symbol(`cy`),Si=Symbol(`r`),Ci=Symbol(`clipPathUnits`),wi=Symbol(`maskUnits`),Ti=Symbol(`maskContentUnits`),Ei=Symbol(`filterUnits`),Di=Symbol(`primitiveUnits`),Oi=Symbol(`href`),ki=Symbol(`x1`),Ai=Symbol(`y1`),ji=Symbol(`x2`),Mi=Symbol(`y2`),Ni=Symbol(`gradientUnits`),Pi=Symbol(`gradientTransform`),Fi=Symbol(`spreadMethod`),Ii=Symbol(`patternUnits`),Li=Symbol(`patternContentUnits`),Ri=Symbol(`patternTransform`),zi=Symbol(`fx`),Bi=Symbol(`fy`),Vi=Symbol(`offset`),Hi=Symbol(`disabled`),Ui=Symbol(`textLength`),Wi=Symbol(`lengthAdjust`),F=Symbol(`getAttribute`),I=Symbol(`setAttribute`),Gi=Symbol(`z`),Ki=Symbol(`w`),qi=Symbol(`toArray`),Ji=Symbol(`fromString`),Yi=Symbol(`fromArray`),Xi=Symbol(`m11`),Zi=Symbol(`m12`),Qi=Symbol(`m13`),$i=Symbol(`m14`),ea=Symbol(`m21`),ta=Symbol(`m22`),na=Symbol(`m23`),ra=Symbol(`m24`),ia=Symbol(`m31`),aa=Symbol(`m32`),oa=Symbol(`m33`),sa=Symbol(`m34`),ca=Symbol(`m41`),la=Symbol(`m42`),ua=Symbol(`m43`),da=Symbol(`m44`),fa=Symbol(`setMatrixValue`),pa=Symbol(`translateSelf`),ma=Symbol(`rotateSelf`),ha=Symbol(`rotateAxisAngleSelf`),ga=Symbol(`scaleSelf`),_a=Symbol(`scale3dSelf`),va=Symbol(`scaleNonUniformSelf`),ya=Symbol(`skewXSelf`),ba=Symbol(`skewYSelf`),xa=Symbol(`multiplySelf`),Sa=Symbol(`matrix`),Ca=Symbol(`getDOMMatrix`),wa=Symbol(`setDOMMatrix`),L=Symbol(`attributeValue`),Ta=Symbol(`startOffset`),Ea=Symbol(`method`),Da=Symbol(`spacing`),R=Symbol(`in1`),Oa=Symbol(`in2`),z=Symbol(`result`),ka=Symbol(`bias`),Aa=Symbol(`divisor`),ja=Symbol(`edgeMode`),Ma=Symbol(`kernelMatrix`),Na=Symbol(`kernelUnitLengthX`),Pa=Symbol(`kernelUnitLengthY`),Fa=Symbol(`orderX`),Ia=Symbol(`orderY`),La=Symbol(`preserveAlpha`),Ra=Symbol(`targetX`),za=Symbol(`targetY`),Ba=Symbol(`diffuseConstant`),Va=Symbol(`surfaceScale`),Ha=Symbol(`scale`),Ua=Symbol(`xChannelSelector`),Wa=Symbol(`yChannelSelector`),Ga=Symbol(`azimuth`),Ka=Symbol(`elevation`),qa=Symbol(`dx`),Ja=Symbol(`dy`),Ya=Symbol(`stdDeviationX`),Xa=Symbol(`stdDeviationY`),Za=Symbol(`tableValues`),Qa=Symbol(`slope`),$a=Symbol(`intercept`),eo=Symbol(`amplitude`),to=Symbol(`exponent`),no=Symbol(`crossOrigin`),ro=Symbol(`operator`),io=Symbol(`radiusX`),ao=Symbol(`radiusY`),oo=Symbol(`specularConstant`),so=Symbol(`specularExponent`),co=Symbol(`pointsAtX`),lo=Symbol(`pointsAtY`),uo=Symbol(`pointsAtZ`),fo=Symbol(`limitingConeAngle`),po=Symbol(`baseFrequencyX`),mo=Symbol(`baseFrequencyY`),ho=Symbol(`numOctaves`),go=Symbol(`seed`),_o=Symbol(`stitchTiles`),vo=Symbol(`rotateFromVectorSelf`),yo=Symbol(`flipXSelf`),bo=Symbol(`flipYSelf`),xo=Symbol(`invertSelf`),So=Symbol(`getLength`),Co=Symbol(`currentScale`),wo=Symbol(`rotate`),To=Symbol(`bindMethods`),Eo=Symbol(`xmlProcessingInstruction`),Do=Symbol(`filterNode`),Oo=Symbol(`customElementReactionStack`),ko=Symbol(`dispatching`),Ao=Symbol(`modules`),jo=Symbol(`preloads`),Mo=Symbol(`body`),No=Symbol(`redirect`),Po=Symbol(`referrerPolicy`),Fo=Symbol(`signal`),Io=Symbol(`bodyUsed`),Lo=Symbol(`credentials`),Ro=Symbol(`blocking`),zo=Symbol(`moduleImportMap`),Bo=Symbol(`dispatchError`),Vo=Symbol(`supports`),Ho=Symbol(`reason`),B=Symbol(`propertyEventListeners`),Uo=Symbol(`cssRules`),Wo=Symbol(`parentRule`),Go=Symbol(`parentStyleSheet`),Ko=Symbol(`conditionText`),qo=Symbol(`keyText`),Jo=Symbol(`media`),Yo=Symbol(`styleMap`),Xo=Symbol(`selectorText`),Zo=Symbol(`cssParser`),Qo=Symbol(`cssRule`),$o=Symbol(`rulePrefix`),es=Symbol(`virtualServerFile`),ts=Symbol(`frames`),ns=Symbol(`disableEvaluation`),rs=Symbol(`validateJavaScriptExecutionEnvironment`),is=Symbol(`openWebSockets`),as=Symbol(`webSocket`),os=Symbol(`moduleCache`),ss=Symbol(`context`),cs=Symbol(`querySelectorCache`);var ls;(function(e){e.strict=`Strict`,e.lax=`Lax`,e.none=`None`})(ls||={});var us=ls,ds={key:null,originURL:null,value:null,domain:``,path:``,expires:null,httpOnly:!1,secure:!1,sameSite:us.lax},fs=class{static hasExpired(e){return e.expires&&e.expires.getTime()<Date.now()}},ps=class{static cookieMatchesURL(e,t){let n=t.hostname===`localhost`||t.hostname?.endsWith(`.localhost`);return(!e.secure||t.protocol===`https:`||n)&&(!e.domain||t.hostname?.endsWith(e.domain))&&(!e.path||t.pathname?.startsWith(e.path))&&(e.sameSite===us.none&&e.secure||e.originURL?.hostname===t.hostname)}},ms=class{#e=[];addCookies(e){let t=new Map,n=e=>`${e.key}-${e.originURL.hostname}-${e.path}-${typeof e.value}`;for(let e=0,r=this.#e.length;e<r;e++)t.set(n(this.#e[e]),e);for(let r of e){let e=Object.assign({},ds,r);if(e&&e.key&&e.originURL){let r=t.get(n(e));r!==void 0&&this.#e.splice(r,1),fs.hasExpired(e)||(t.set(n(e),this.#e.length),this.#e.push(e))}}}getCookies(e=null,t=!1){let n=[];for(let r of this.#e)!fs.hasExpired(r)&&(!t||!r.httpOnly)&&(!e||ps.cookieMatchesURL(r,e))&&n.push(r);return n}clearCookies(){this.#e=[]}},hs;(function(e){e.fresh=`fresh`,e.stale=`stale`})(hs||={});var gs=hs,_s;(function(e){e.invalidStateError=`InvalidStateError`,e.indexSizeError=`IndexSizeError`,e.syntaxError=`SyntaxError`,e.hierarchyRequestError=`HierarchyRequestError`,e.notSupportedError=`NotSupportedError`,e.wrongDocumentError=`WrongDocumentError`,e.invalidNodeTypeError=`InvalidNodeTypeError`,e.invalidCharacterError=`InvalidCharacterError`,e.notFoundError=`NotFoundError`,e.securityError=`SecurityError`,e.networkError=`NetworkError`,e.domException=`DOMException`,e.invalidAccessError=`InvalidAccessError`,e.unknownError=`UnknownError`,e.abortError=`AbortError`,e.timeoutError=`TimeoutError`,e.encodingError=`EncodingError`,e.uriMismatchError=`URIMismatchError`,e.inUseAttributeError=`InUseAttributeError`,e.namespaceError=`NamespaceError`})(_s||={});var V=_s,vs=class extends Error{constructor(e,t=null){super(e),this.name=t||V.domException}},ys=class e{[Fe]={};constructor(t){if(t){if(t instanceof e)this[Fe]=JSON.parse(JSON.stringify(t[Fe]));else if(Array.isArray(t))for(let e of t){if(e.length!==2)throw new vs(`Failed to construct "Headers": The provided init is not a valid array.`,V.invalidStateError);this.append(e[0],e[1])}else for(let e of Object.keys(t))this.set(e,t[e])}}append(e,t){let n=e.toLowerCase();this[Fe][n]?this[Fe][n].value.push(t):this[Fe][n]={name:e,value:[t]}}delete(e){delete this[Fe][e.toLowerCase()]}get(e){return this[Fe][e.toLowerCase()]?.value.join(`, `)??null}set(e,t){this[Fe][e.toLowerCase()]={name:e,value:[t]}}getSetCookie(){let e=this[Fe][`set-cookie`];return e?e.value:[]}has(e){return!!this[Fe][e.toLowerCase()]}forEach(e,t){let n=t??this[y];for(let t of Object.values(this[Fe]))e.call(n,t.value.join(`, `),t.name,this)}*keys(){for(let e of Object.values(this[Fe]))yield e.name}*values(){for(let e of Object.values(this[Fe]))yield e.value.join(`, `)}*entries(){for(let e of Object.values(this[Fe]))yield[e.name,e.value.join(`, `)]}*[Symbol.iterator](){for(let e of Object.values(this[Fe]))yield[e.name,e.value.join(`, `)]}},bs=class{#e=new Set;#t=new Set;#n;constructor(e){this.#n=e}async load(e){if(!e)throw Error(`Failed to execute 'load' on 'ResponseCacheFileSystem': Directory is not specified.`);let t=ne.resolve(e),n=[];try{n=await d.promises.readdir(t)}catch{return}let r=[],i=this.#n;for(let e of n)e.endsWith(`.json`)&&r.push(d.promises.readFile(ne.join(t,e),`utf8`).then(n=>{let r=JSON.parse(n);if(r.response&&r.request&&!r.virtual)return r.response.headers=new ys(r.response.headers),r.request.headers=new ys(r.request.headers),d.promises.readFile(ne.join(t,e.split(`.`)[0]+`.data`)).then(e=>{r.response.body=e;let t=i.get(r.response.url);t||(t=[],i.set(r.response.url,t)),t.push(r)}).catch(()=>{let e=i.get(r.response.url);e||(e=[],i.set(r.response.url,e)),e.push(r)})}).catch(()=>{}));await Promise.all(r)}async save(e){if(!e)throw Error(`Failed to execute 'store' on 'ResponseCacheFileSystem': Directory is not specified.`);if(!this.#n.size)return;let t=ne.resolve(e);if(!this.#e.has(t)){this.#e.add(t);try{await d.promises.mkdir(t,{recursive:!0})}catch{}}let n=this.#n,r=[];for(let e of n.values())for(let n of e)if(!n.virtual){let e={},i={};for(let[t,r]of n.response.headers.entries())e[t]=r;for(let[e,t]of n.request.headers.entries())i[e]=t;let a={...n,response:{...n.response,headers:e,body:null},request:{...n.request,headers:i}},o=JSON.stringify(a,null,3),c=s.createHash(`md5`).update(o).digest(`hex`);this.#t.has(c)||(this.#t.add(c),r.push(d.promises.writeFile(ne.join(t,`${c}.json`),o)),n.response.body&&r.push(d.promises.writeFile(ne.join(t,`${c}.data`),n.response.body)))}await Promise.all(r)}};const xs=[`Cache-Control`,`Last-Modified`,`Vary`,`ETag`];var Ss=class{fileSystem;#e=new Map;constructor(){this.fileSystem=new bs(this.#e)}get(e){if(e.headers.get(`Cache-Control`)?.includes(`no-cache`))return null;let t=e.url,n=this.#e.get(t);if(n)for(let t=0,r=n.length;t<r;t++){let r=n[t],i=r.request.method===e.method;if(i)for(let t of Object.keys(r.vary)){let n=e.headers.get(t);if(n!==null&&r.vary[t]!==n){i=!1;break}}if(i){if(r.expires&&r.expires<Date.now()){if(r.lastModified)r.state=gs.stale;else if(!r.etag)return n.splice(t,1),null}return r}}return null}add(e,t){if(e.method!==`GET`&&e.method!==`HEAD`||e.headers.get(`Cache-Control`)?.includes(`no-cache`))return null;let n=e.url,r=this.get(e);if(t.status===304){if(!r)throw Error(`ResponseCache: Cached response not found.`);for(let e of xs)t.headers.has(e)&&r.response.headers.set(e,t.headers.get(e));r.cacheUpdateTime=Date.now(),r.state=gs.fresh}else{if(r){let e=this.#e.get(n);if(e){let t=e.indexOf(r);t!==-1&&e.splice(t,1)}}r={response:{status:t.status,statusText:t.statusText,url:t.url,headers:new ys(t.headers),waitingForBody:t.waitingForBody,body:t.body??null},request:{headers:e.headers,method:e.method},vary:{},expires:null,etag:null,cacheUpdateTime:Date.now(),lastModified:null,mustRevalidate:!1,staleWhileRevalidate:!1,state:gs.fresh,virtual:t.virtual??!1};let i=this.#e.get(n);i||(i=[],this.#e.set(n,i)),i.push(r)}if(t.headers.has(`Cache-Control`)){let e=t.headers.get(`Age`);for(let i of t.headers.get(`Cache-Control`).split(`,`)){let[t,a]=i.trim().split(`=`);switch(t){case`max-age`:r.expires=Date.now()+parseFloat(a)*1e3-(e?parseFloat(e)*1e3:0);break;case`no-cache`:case`no-store`:let t=this.#e.get(n);if(t){let e=t.indexOf(r);e!==-1&&t.splice(e,1)}return null;case`must-revalidate`:r.mustRevalidate=!0;break;case`stale-while-revalidate`:r.staleWhileRevalidate=!0}}}if(t.headers.has(`Last-Modified`)&&(r.lastModified=Date.parse(t.headers.get(`Last-Modified`))),t.headers.has(`Vary`))for(let n of t.headers.get(`Vary`).split(`,`)){let t=n.trim(),i=e.headers.get(t);i&&(r.vary[t]=i)}if(t.headers.has(`ETag`)&&(r.etag=t.headers.get(`ETag`)),!r.expires){let e=t.headers.get(`Expires`);e&&(r.expires=Date.parse(e))}if(!r.etag&&(!r.expires||r.expires<Date.now())){let e=this.#e.get(n);if(e){let t=e.indexOf(r);t!==-1&&e.splice(t,1)}return null}return r}clear(e){if(e){if(e.toTime)for(let t of e.url?[e.url]:this.#e.keys()){let n=this.#e.get(t);if(n)for(let t=0,r=n.length;t<r;t++)n[t].cacheUpdateTime<e.toTime&&(n.splice(t,1),t--,r--)}else e.url&&this.#e.delete(e.url)}else this.#e.clear()}},Cs;(function(e){e[e.log=0]=`log`,e[e.info=1]=`info`,e[e.warn=2]=`warn`,e[e.error=3]=`error`})(Cs||={});var ws=Cs,Ts;(function(e){e[e.elementNode=1]=`elementNode`,e[e.attributeNode=2]=`attributeNode`,e[e.textNode=3]=`textNode`,e[e.cdataSectionNode=4]=`cdataSectionNode`,e[e.commentNode=8]=`commentNode`,e[e.documentNode=9]=`documentNode`,e[e.documentTypeNode=10]=`documentTypeNode`,e[e.documentFragmentNode=11]=`documentFragmentNode`,e[e.processingInstructionNode=7]=`processingInstructionNode`})(Ts||={});var H=Ts,Es;(function(e){e[e.none=0]=`none`,e[e.capturing=1]=`capturing`,e[e.atTarget=2]=`atTarget`,e[e.bubbling=3]=`bubbling`})(Es||={});var Ds=Es,U=class e{static NONE=Ds.none;static CAPTURING_PHASE=Ds.capturing;static AT_TARGET=Ds.atTarget;static BUBBLING_PHASE=Ds.bubbling;NONE=e.NONE;CAPTURING_PHASE=e.CAPTURING_PHASE;AT_TARGET=e.AT_TARGET;BUBBLING_PHASE=e.BUBBLING_PHASE;[Hr]=!1;[Ur]=!1;[Wr]=!1;[Gr]=!1;[Kr]=Ds.none;[qr]=performance.now();[Jr];[ko]=!1;[Be]=!1;[$e]=!1;[ft]=null;[Ae]=null;[We]=!1;constructor(e,t=null){this[Jr]=e,this[Ur]=t?.bubbles??!1,this[Wr]=t?.cancelable??!1,this[Hr]=t?.composed??!1}get composed(){return this[Hr]}get bubbles(){return this[Ur]}get cancelable(){return this[Wr]}get defaultPrevented(){return this[Gr]}get eventPhase(){return this[Kr]}get timeStamp(){return this[qr]}get type(){return this[Jr]}get target(){return this[ft]}get currentTarget(){return this[Ae]}get cancelBubble(){return this[$e]}composedPath(){if(!this[ft])return[];let e=[],t=this[ft];for(;t;)if(e.push(t),t.parentNode)t=t.parentNode;else if(this[Hr]&&t[S]===H.documentFragmentNode&&t.host)t=t.host;else if(t[S]===H.documentNode&&this[Jr]!==`load`)t=t[y];else break;return e}initEvent(e,t=!1,n=!1){this[Jr]=e,this[Ur]=t,this[Wr]=n,this[$e]=!1,this[Be]=!1,this[Gr]=!1}preventDefault(){!this[We]&&this.cancelable&&(this[Gr]=!0)}stopImmediatePropagation(){this[Be]=!0}stopPropagation(){this[$e]=!0}},Os;(function(e){e.log=`log`,e.table=`table`,e.trace=`trace`,e.dir=`dir`,e.dirxml=`dirxml`,e.group=`group`,e.groupCollapsed=`groupCollapsed`,e.debug=`debug`,e.timeLog=`timeLog`,e.info=`info`,e.count=`count`,e.timeEnd=`timeEnd`,e.warn=`warn`,e.countReset=`countReset`,e.error=`error`,e.assert=`assert`})(Os||={});var ks=Os,As=class{static toString(e){if(this.isLogEntryCollapsed(e))return``;let t=this.getLogEntryGroupTabbing(e),n=t;for(let r of e.message)if(n+=n!==``&&n!==t?` `:``,typeof r==`object`&&(r===null||r.constructor.name===`Object`||Array.isArray(r)))try{n+=JSON.stringify(r)}catch{n+=Error(`Failed to JSON stringify object in log entry.`).stack.replace(/\n at/gm,`
|
|
1
|
+
import{o as e,t}from"./rolldown-runtime-tZXQYakl.mjs";import{n}from"./wrapper-BF8oRx3G.mjs";import{Blob as r,Buffer as i}from"buffer";import{TextDecoder as a,TextEncoder as o}from"util";import s,{webcrypto as c}from"crypto";import l from"fs";import u from"stream";import d from"zlib";import f from"child_process";import{PerformanceEntry as ee,PerformanceObserver as te}from"node:perf_hooks";import ne from"path";import re from"http";import ie from"https";import{isIP as ae}from"net";import{URL as oe,URLSearchParams as se}from"url";import{ReadableStream as ce}from"stream/web";import le,{Script as ue}from"vm";const de=Symbol(`abort`),fe=Symbol(`activeElement`),pe=Symbol(`asyncTaskManager`),me=Symbol(`bodyBuffer`),he=Symbol(`buffer`),ge=Symbol(`cachedResponse`),_e=Symbol(`callbacks`),ve=Symbol(`checked`),ye=Symbol(`childNodes`),be=Symbol(`children`),xe=Symbol(`classList`),Se=Symbol(`connectedToNode`),Ce=Symbol(`disconnectedFromNode`),we=Symbol(`connectedToDocument`),Te=Symbol(`disconnectedFromDocument`),Ee=Symbol(`contentLength`),De=Symbol(`contentType`),Oe=Symbol(`cssText`),ke=Symbol(`currentScript`),Ae=Symbol(`currentTarget`),je=Symbol(`data`),Me=Symbol(`defaultView`),Ne=Symbol(`destroy`),Pe=Symbol(`dirtyness`),p=Symbol(`end`),Fe=Symbol(`entries`),Ie=Symbol(`evaluateScript`),Le=Symbol(`exceptionObserver`),Re=Symbol(`formNode`),ze=Symbol(`internalId`),m=Symbol(`height`),Be=Symbol(`immediatePropagationStopped`),Ve=Symbol(`indeterminate`),He=Symbol(`isFirstWrite`),Ue=Symbol(`isFirstWriteAfterOpen`),We=Symbol(`isInPassiveEventListener`),Ge=Symbol(`isValue`),Ke=Symbol(`listenerOptions`),qe=Symbol(`listeners`),Je=Symbol(`itemsByName`),Ye=Symbol(`nextActiveElement`),Xe=Symbol(`observeMutations`),Ze=Symbol(`mutationListeners`),h=Symbol(`ownerDocument`),Qe=Symbol(`ownerElement`),$e=Symbol(`propagationStopped`),et=Symbol(`readyStateManager`),tt=Symbol(`referrer`),nt=Symbol(`registry`),rt=Symbol(`relList`),it=Symbol(`resetSelection`),at=Symbol(`rootNode`),ot=Symbol(`selectNode`),st=Symbol(`selectedness`),ct=Symbol(`selection`),lt=Symbol(`setupVMContext`),ut=Symbol(`shadowRoot`),g=Symbol(`start`),dt=Symbol(`style`),ft=Symbol(`target`),pt=Symbol(`textAreaNode`),mt=Symbol(`unobserveMutations`),ht=Symbol(`reportMutation`),gt=Symbol(`updateSelectedness`),_t=Symbol(`url`),_=Symbol(`value`),v=Symbol(`width`),y=Symbol(`window`),vt=Symbol(`windowResizeListener`),yt=Symbol(`mutationObservers`),bt=Symbol(`openerFrame`),xt=Symbol(`openerWindow`),St=Symbol(`pointerCaptures`),Ct=Symbol(`popup`),b=Symbol(`isConnected`),x=Symbol(`parentNode`),S=Symbol(`nodeType`),C=Symbol(`tagName`),wt=Symbol(`prefix`),Tt=Symbol(`scrollHeight`),Et=Symbol(`scrollWidth`),Dt=Symbol(`scrollTop`),Ot=Symbol(`scrollLeft`),kt=Symbol(`attributes`),At=Symbol(`attributesProxy`),w=Symbol(`namespaceURI`),jt=Symbol(`accessKey`),Mt=Symbol(`offsetHeight`),Nt=Symbol(`offsetWidth`),Pt=Symbol(`offsetLeft`),Ft=Symbol(`offsetTop`),It=Symbol(`clientHeight`),Lt=Symbol(`clientWidth`),Rt=Symbol(`clientLeft`),zt=Symbol(`clientTop`),T=Symbol(`name`),Bt=Symbol(`specified`),Vt=Symbol(`adoptedStyleSheets`),Ht=Symbol(`implementation`),Ut=Symbol(`readyState`),Wt=Symbol(`publicId`),Gt=Symbol(`systemId`),Kt=Symbol(`validationMessage`),qt=Symbol(`validity`),Jt=Symbol(`returnValue`),Yt=Symbol(`elements`),Xt=Symbol(`complete`),Zt=Symbol(`naturalHeight`),Qt=Symbol(`naturalWidth`),$t=Symbol(`loading`),E=Symbol(`x`),D=Symbol(`y`),en=Symbol(`files`),tn=Symbol(`sheet`),nn=Symbol(`volume`),rn=Symbol(`paused`),an=Symbol(`currentTime`),on=Symbol(`playbackRate`),sn=Symbol(`defaultPlaybackRate`),cn=Symbol(`muted`),ln=Symbol(`defaultMuted`),un=Symbol(`preservesPitch`),dn=Symbol(`buffered`),fn=Symbol(`duration`),pn=Symbol(`error`),mn=Symbol(`ended`),hn=Symbol(`networkState`),gn=Symbol(`textTracks`),_n=Symbol(`seeking`),vn=Symbol(`seekable`),yn=Symbol(`played`),bn=Symbol(`options`),xn=Symbol(`content`),Sn=Symbol(`mode`),Cn=Symbol(`host`),wn=Symbol(`setURL`),O=Symbol(`localName`),Tn=Symbol(`classRegistry`),En=Symbol(`nodeStream`),Dn=Symbol(`location`),On=Symbol(`history`),kn=Symbol(`navigator`),An=Symbol(`screen`),jn=Symbol(`sessionStorage`),Mn=Symbol(`localStorage`),Nn=Symbol(`sandbox`),Pn=Symbol(`cloneNode`),Fn=Symbol(`appendChild`),In=Symbol(`removeChild`),Ln=Symbol(`insertBefore`),Rn=Symbol(`replaceChild`),zn=Symbol(`tracks`),Bn=Symbol(`constraints`),Vn=Symbol(`capabilities`),Hn=Symbol(`settings`),Un=Symbol(`removeNamedItem`),k=Symbol(`items`),Wn=Symbol(`selectedOptions`),Gn=Symbol(`styleNode`),Kn=Symbol(`updateSheet`),qn=Symbol(`clearCache`),Jn=Symbol(`onSetAttribute`),Yn=Symbol(`onRemoveAttribute`),A=Symbol(`nodeArray`),Xn=Symbol(`elementArray`),j=Symbol(`cache`),Zn=Symbol(`affectsCache`),Qn=Symbol(`forms`),$n=Symbol(`affectsComputedStyleCache`),er=Symbol(`query`),tr=Symbol(`computedStyle`),nr=Symbol(`getFormControlItems`),rr=Symbol(`getFormControlNamedItem`),ir=Symbol(`dataset`),ar=Symbol(`itemsByNamespaceURI`),or=Symbol(`proxy`),sr=Symbol(`setNamedItem`),cr=Symbol(`getTokenList`),lr=Symbol(`attributeName`),ur=Symbol(`selectedIndex`),dr=Symbol(`self`),fr=Symbol(`parent`),pr=Symbol(`top`),mr=Symbol(`areas`),hr=Symbol(`defaultValue`),gr=Symbol(`elementIdMap`),_r=Symbol(`clonable`),vr=Symbol(`delegatesFocus`),yr=Symbol(`serializable`),br=Symbol(`slotAssignment`),xr=Symbol(`assignedNodes`),Sr=Symbol(`assignedToSlot`),Cr=Symbol(`cells`),wr=Symbol(`rows`),Tr=Symbol(`headers`),Er=Symbol(`tBodies`),Dr=Symbol(`track`),Or=Symbol(`controlsList`),kr=Symbol(`mediaKeys`),Ar=Symbol(`remote`),jr=Symbol(`sinkId`),Mr=Symbol(`srcObject`),Nr=Symbol(`cues`),Pr=Symbol(`activeCues`),Fr=Symbol(`kind`),Ir=Symbol(`label`),Lr=Symbol(`language`),Rr=Symbol(`id`),M=Symbol(`illegalConstructor`),zr=Symbol(`state`),Br=Symbol(`canvas`),Vr=Symbol(`popoverTargetElement`),Hr=Symbol(`composed`),Ur=Symbol(`bubbles`),Wr=Symbol(`cancelable`),Gr=Symbol(`defaultPrevented`),Kr=Symbol(`eventPhase`),qr=Symbol(`timeStamp`),Jr=Symbol(`type`),Yr=Symbol(`detail`),Xr=Symbol(`destroyed`),Zr=Symbol(`aborted`),Qr=Symbol(`browserFrames`),$r=Symbol(`windowInternalId`),N=Symbol(`getItemList`),ei=Symbol(`requiredExtensions`),ti=Symbol(`systemLanguage`),ni=Symbol(`transform`),ri=Symbol(`baseVal`),ii=Symbol(`animVal`),ai=Symbol(`pathLength`),oi=Symbol(`viewBox`),si=Symbol(`markerUnits`),ci=Symbol(`markerWidth`),li=Symbol(`markerHeight`),ui=Symbol(`values`),di=Symbol(`orientType`),fi=Symbol(`orientAngle`),pi=Symbol(`refX`),mi=Symbol(`refY`),P=Symbol(`readOnly`),hi=Symbol(`preserveAspectRatio`),gi=Symbol(`animatedPoints`),_i=Symbol(`points`),vi=Symbol(`rx`),yi=Symbol(`ry`),bi=Symbol(`cx`),xi=Symbol(`cy`),Si=Symbol(`r`),Ci=Symbol(`clipPathUnits`),wi=Symbol(`maskUnits`),Ti=Symbol(`maskContentUnits`),Ei=Symbol(`filterUnits`),Di=Symbol(`primitiveUnits`),Oi=Symbol(`href`),ki=Symbol(`x1`),Ai=Symbol(`y1`),ji=Symbol(`x2`),Mi=Symbol(`y2`),Ni=Symbol(`gradientUnits`),Pi=Symbol(`gradientTransform`),Fi=Symbol(`spreadMethod`),Ii=Symbol(`patternUnits`),Li=Symbol(`patternContentUnits`),Ri=Symbol(`patternTransform`),zi=Symbol(`fx`),Bi=Symbol(`fy`),Vi=Symbol(`offset`),Hi=Symbol(`disabled`),Ui=Symbol(`textLength`),Wi=Symbol(`lengthAdjust`),F=Symbol(`getAttribute`),I=Symbol(`setAttribute`),Gi=Symbol(`z`),Ki=Symbol(`w`),qi=Symbol(`toArray`),Ji=Symbol(`fromString`),Yi=Symbol(`fromArray`),Xi=Symbol(`m11`),Zi=Symbol(`m12`),Qi=Symbol(`m13`),$i=Symbol(`m14`),ea=Symbol(`m21`),ta=Symbol(`m22`),na=Symbol(`m23`),ra=Symbol(`m24`),ia=Symbol(`m31`),aa=Symbol(`m32`),oa=Symbol(`m33`),sa=Symbol(`m34`),ca=Symbol(`m41`),la=Symbol(`m42`),ua=Symbol(`m43`),da=Symbol(`m44`),fa=Symbol(`setMatrixValue`),pa=Symbol(`translateSelf`),ma=Symbol(`rotateSelf`),ha=Symbol(`rotateAxisAngleSelf`),ga=Symbol(`scaleSelf`),_a=Symbol(`scale3dSelf`),va=Symbol(`scaleNonUniformSelf`),ya=Symbol(`skewXSelf`),ba=Symbol(`skewYSelf`),xa=Symbol(`multiplySelf`),Sa=Symbol(`matrix`),Ca=Symbol(`getDOMMatrix`),wa=Symbol(`setDOMMatrix`),L=Symbol(`attributeValue`),Ta=Symbol(`startOffset`),Ea=Symbol(`method`),Da=Symbol(`spacing`),R=Symbol(`in1`),Oa=Symbol(`in2`),z=Symbol(`result`),ka=Symbol(`bias`),Aa=Symbol(`divisor`),ja=Symbol(`edgeMode`),Ma=Symbol(`kernelMatrix`),Na=Symbol(`kernelUnitLengthX`),Pa=Symbol(`kernelUnitLengthY`),Fa=Symbol(`orderX`),Ia=Symbol(`orderY`),La=Symbol(`preserveAlpha`),Ra=Symbol(`targetX`),za=Symbol(`targetY`),Ba=Symbol(`diffuseConstant`),Va=Symbol(`surfaceScale`),Ha=Symbol(`scale`),Ua=Symbol(`xChannelSelector`),Wa=Symbol(`yChannelSelector`),Ga=Symbol(`azimuth`),Ka=Symbol(`elevation`),qa=Symbol(`dx`),Ja=Symbol(`dy`),Ya=Symbol(`stdDeviationX`),Xa=Symbol(`stdDeviationY`),Za=Symbol(`tableValues`),Qa=Symbol(`slope`),$a=Symbol(`intercept`),eo=Symbol(`amplitude`),to=Symbol(`exponent`),no=Symbol(`crossOrigin`),ro=Symbol(`operator`),io=Symbol(`radiusX`),ao=Symbol(`radiusY`),oo=Symbol(`specularConstant`),so=Symbol(`specularExponent`),co=Symbol(`pointsAtX`),lo=Symbol(`pointsAtY`),uo=Symbol(`pointsAtZ`),fo=Symbol(`limitingConeAngle`),po=Symbol(`baseFrequencyX`),mo=Symbol(`baseFrequencyY`),ho=Symbol(`numOctaves`),go=Symbol(`seed`),_o=Symbol(`stitchTiles`),vo=Symbol(`rotateFromVectorSelf`),yo=Symbol(`flipXSelf`),bo=Symbol(`flipYSelf`),xo=Symbol(`invertSelf`),So=Symbol(`getLength`),Co=Symbol(`currentScale`),wo=Symbol(`rotate`),To=Symbol(`bindMethods`),Eo=Symbol(`xmlProcessingInstruction`),Do=Symbol(`filterNode`),Oo=Symbol(`customElementReactionStack`),ko=Symbol(`dispatching`),Ao=Symbol(`modules`),jo=Symbol(`preloads`),Mo=Symbol(`body`),No=Symbol(`redirect`),Po=Symbol(`referrerPolicy`),Fo=Symbol(`signal`),Io=Symbol(`bodyUsed`),Lo=Symbol(`credentials`),Ro=Symbol(`blocking`),zo=Symbol(`moduleImportMap`),Bo=Symbol(`dispatchError`),Vo=Symbol(`supports`),Ho=Symbol(`reason`),B=Symbol(`propertyEventListeners`),Uo=Symbol(`cssRules`),Wo=Symbol(`parentRule`),Go=Symbol(`parentStyleSheet`),Ko=Symbol(`conditionText`),qo=Symbol(`keyText`),Jo=Symbol(`media`),Yo=Symbol(`styleMap`),Xo=Symbol(`selectorText`),Zo=Symbol(`cssParser`),Qo=Symbol(`cssRule`),$o=Symbol(`rulePrefix`),es=Symbol(`virtualServerFile`),ts=Symbol(`frames`),ns=Symbol(`disableEvaluation`),rs=Symbol(`validateJavaScriptExecutionEnvironment`),is=Symbol(`openWebSockets`),as=Symbol(`webSocket`),os=Symbol(`moduleCache`),ss=Symbol(`context`),cs=Symbol(`querySelectorCache`);var ls;(function(e){e.strict=`Strict`,e.lax=`Lax`,e.none=`None`})(ls||={});var us=ls,ds={key:null,originURL:null,value:null,domain:``,path:``,expires:null,httpOnly:!1,secure:!1,sameSite:us.lax},fs=class{static hasExpired(e){return e.expires&&e.expires.getTime()<Date.now()}},ps=class{static cookieMatchesURL(e,t){let n=t.hostname===`localhost`||t.hostname?.endsWith(`.localhost`);return(!e.secure||t.protocol===`https:`||n)&&(!e.domain||t.hostname?.endsWith(e.domain))&&(!e.path||t.pathname?.startsWith(e.path))&&(e.sameSite===us.none&&e.secure||e.originURL?.hostname===t.hostname)}},ms=class{#e=[];addCookies(e){let t=new Map,n=e=>`${e.key}-${e.originURL.hostname}-${e.path}-${typeof e.value}`;for(let e=0,r=this.#e.length;e<r;e++)t.set(n(this.#e[e]),e);for(let r of e){let e=Object.assign({},ds,r);if(e&&e.key&&e.originURL){let r=t.get(n(e));r!==void 0&&this.#e.splice(r,1),fs.hasExpired(e)||(t.set(n(e),this.#e.length),this.#e.push(e))}}}getCookies(e=null,t=!1){let n=[];for(let r of this.#e)!fs.hasExpired(r)&&(!t||!r.httpOnly)&&(!e||ps.cookieMatchesURL(r,e))&&n.push(r);return n}clearCookies(){this.#e=[]}},hs;(function(e){e.fresh=`fresh`,e.stale=`stale`})(hs||={});var gs=hs,_s;(function(e){e.invalidStateError=`InvalidStateError`,e.indexSizeError=`IndexSizeError`,e.syntaxError=`SyntaxError`,e.hierarchyRequestError=`HierarchyRequestError`,e.notSupportedError=`NotSupportedError`,e.wrongDocumentError=`WrongDocumentError`,e.invalidNodeTypeError=`InvalidNodeTypeError`,e.invalidCharacterError=`InvalidCharacterError`,e.notFoundError=`NotFoundError`,e.securityError=`SecurityError`,e.networkError=`NetworkError`,e.domException=`DOMException`,e.invalidAccessError=`InvalidAccessError`,e.unknownError=`UnknownError`,e.abortError=`AbortError`,e.timeoutError=`TimeoutError`,e.encodingError=`EncodingError`,e.uriMismatchError=`URIMismatchError`,e.inUseAttributeError=`InUseAttributeError`,e.namespaceError=`NamespaceError`})(_s||={});var V=_s,vs=class extends Error{constructor(e,t=null){super(e),this.name=t||V.domException}},ys=class e{[Fe]={};constructor(t){if(t){if(t instanceof e)this[Fe]=JSON.parse(JSON.stringify(t[Fe]));else if(Array.isArray(t))for(let e of t){if(e.length!==2)throw new vs(`Failed to construct "Headers": The provided init is not a valid array.`,V.invalidStateError);this.append(e[0],e[1])}else for(let e of Object.keys(t))this.set(e,t[e])}}append(e,t){let n=e.toLowerCase();this[Fe][n]?this[Fe][n].value.push(t):this[Fe][n]={name:e,value:[t]}}delete(e){delete this[Fe][e.toLowerCase()]}get(e){return this[Fe][e.toLowerCase()]?.value.join(`, `)??null}set(e,t){this[Fe][e.toLowerCase()]={name:e,value:[t]}}getSetCookie(){let e=this[Fe][`set-cookie`];return e?e.value:[]}has(e){return!!this[Fe][e.toLowerCase()]}forEach(e,t){let n=t??this[y];for(let t of Object.values(this[Fe]))e.call(n,t.value.join(`, `),t.name,this)}*keys(){for(let e of Object.values(this[Fe]))yield e.name}*values(){for(let e of Object.values(this[Fe]))yield e.value.join(`, `)}*entries(){for(let e of Object.values(this[Fe]))yield[e.name,e.value.join(`, `)]}*[Symbol.iterator](){for(let e of Object.values(this[Fe]))yield[e.name,e.value.join(`, `)]}},bs=class{#e=new Set;#t=new Set;#n;constructor(e){this.#n=e}async load(e){if(!e)throw Error(`Failed to execute 'load' on 'ResponseCacheFileSystem': Directory is not specified.`);let t=ne.resolve(e),n=[];try{n=await l.promises.readdir(t)}catch{return}let r=[],i=this.#n;for(let e of n)e.endsWith(`.json`)&&r.push(l.promises.readFile(ne.join(t,e),`utf8`).then(n=>{let r=JSON.parse(n);if(r.response&&r.request&&!r.virtual)return r.response.headers=new ys(r.response.headers),r.request.headers=new ys(r.request.headers),l.promises.readFile(ne.join(t,e.split(`.`)[0]+`.data`)).then(e=>{r.response.body=e;let t=i.get(r.response.url);t||(t=[],i.set(r.response.url,t)),t.push(r)}).catch(()=>{let e=i.get(r.response.url);e||(e=[],i.set(r.response.url,e)),e.push(r)})}).catch(()=>{}));await Promise.all(r)}async save(e){if(!e)throw Error(`Failed to execute 'store' on 'ResponseCacheFileSystem': Directory is not specified.`);if(!this.#n.size)return;let t=ne.resolve(e);if(!this.#e.has(t)){this.#e.add(t);try{await l.promises.mkdir(t,{recursive:!0})}catch{}}let n=this.#n,r=[];for(let e of n.values())for(let n of e)if(!n.virtual){let e={},i={};for(let[t,r]of n.response.headers.entries())e[t]=r;for(let[e,t]of n.request.headers.entries())i[e]=t;let a={...n,response:{...n.response,headers:e,body:null},request:{...n.request,headers:i}},o=JSON.stringify(a,null,3),c=s.createHash(`md5`).update(o).digest(`hex`);this.#t.has(c)||(this.#t.add(c),r.push(l.promises.writeFile(ne.join(t,`${c}.json`),o)),n.response.body&&r.push(l.promises.writeFile(ne.join(t,`${c}.data`),n.response.body)))}await Promise.all(r)}};const xs=[`Cache-Control`,`Last-Modified`,`Vary`,`ETag`];var Ss=class{fileSystem;#e=new Map;constructor(){this.fileSystem=new bs(this.#e)}get(e){if(e.headers.get(`Cache-Control`)?.includes(`no-cache`))return null;let t=e.url,n=this.#e.get(t);if(n)for(let t=0,r=n.length;t<r;t++){let r=n[t],i=r.request.method===e.method;if(i)for(let t of Object.keys(r.vary)){let n=e.headers.get(t);if(n!==null&&r.vary[t]!==n){i=!1;break}}if(i){if(r.expires&&r.expires<Date.now()){if(r.lastModified)r.state=gs.stale;else if(!r.etag)return n.splice(t,1),null}return r}}return null}add(e,t){if(e.method!==`GET`&&e.method!==`HEAD`||e.headers.get(`Cache-Control`)?.includes(`no-cache`))return null;let n=e.url,r=this.get(e);if(t.status===304){if(!r)throw Error(`ResponseCache: Cached response not found.`);for(let e of xs)t.headers.has(e)&&r.response.headers.set(e,t.headers.get(e));r.cacheUpdateTime=Date.now(),r.state=gs.fresh}else{if(r){let e=this.#e.get(n);if(e){let t=e.indexOf(r);t!==-1&&e.splice(t,1)}}r={response:{status:t.status,statusText:t.statusText,url:t.url,headers:new ys(t.headers),waitingForBody:t.waitingForBody,body:t.body??null},request:{headers:e.headers,method:e.method},vary:{},expires:null,etag:null,cacheUpdateTime:Date.now(),lastModified:null,mustRevalidate:!1,staleWhileRevalidate:!1,state:gs.fresh,virtual:t.virtual??!1};let i=this.#e.get(n);i||(i=[],this.#e.set(n,i)),i.push(r)}if(t.headers.has(`Cache-Control`)){let e=t.headers.get(`Age`);for(let i of t.headers.get(`Cache-Control`).split(`,`)){let[t,a]=i.trim().split(`=`);switch(t){case`max-age`:r.expires=Date.now()+parseFloat(a)*1e3-(e?parseFloat(e)*1e3:0);break;case`no-cache`:case`no-store`:let t=this.#e.get(n);if(t){let e=t.indexOf(r);e!==-1&&t.splice(e,1)}return null;case`must-revalidate`:r.mustRevalidate=!0;break;case`stale-while-revalidate`:r.staleWhileRevalidate=!0}}}if(t.headers.has(`Last-Modified`)&&(r.lastModified=Date.parse(t.headers.get(`Last-Modified`))),t.headers.has(`Vary`))for(let n of t.headers.get(`Vary`).split(`,`)){let t=n.trim(),i=e.headers.get(t);i&&(r.vary[t]=i)}if(t.headers.has(`ETag`)&&(r.etag=t.headers.get(`ETag`)),!r.expires){let e=t.headers.get(`Expires`);e&&(r.expires=Date.parse(e))}if(!r.etag&&(!r.expires||r.expires<Date.now())){let e=this.#e.get(n);if(e){let t=e.indexOf(r);t!==-1&&e.splice(t,1)}return null}return r}clear(e){if(e){if(e.toTime)for(let t of e.url?[e.url]:this.#e.keys()){let n=this.#e.get(t);if(n)for(let t=0,r=n.length;t<r;t++)n[t].cacheUpdateTime<e.toTime&&(n.splice(t,1),t--,r--)}else e.url&&this.#e.delete(e.url)}else this.#e.clear()}},Cs;(function(e){e[e.log=0]=`log`,e[e.info=1]=`info`,e[e.warn=2]=`warn`,e[e.error=3]=`error`})(Cs||={});var ws=Cs,Ts;(function(e){e[e.elementNode=1]=`elementNode`,e[e.attributeNode=2]=`attributeNode`,e[e.textNode=3]=`textNode`,e[e.cdataSectionNode=4]=`cdataSectionNode`,e[e.commentNode=8]=`commentNode`,e[e.documentNode=9]=`documentNode`,e[e.documentTypeNode=10]=`documentTypeNode`,e[e.documentFragmentNode=11]=`documentFragmentNode`,e[e.processingInstructionNode=7]=`processingInstructionNode`})(Ts||={});var H=Ts,Es;(function(e){e[e.none=0]=`none`,e[e.capturing=1]=`capturing`,e[e.atTarget=2]=`atTarget`,e[e.bubbling=3]=`bubbling`})(Es||={});var Ds=Es,U=class e{static NONE=Ds.none;static CAPTURING_PHASE=Ds.capturing;static AT_TARGET=Ds.atTarget;static BUBBLING_PHASE=Ds.bubbling;NONE=e.NONE;CAPTURING_PHASE=e.CAPTURING_PHASE;AT_TARGET=e.AT_TARGET;BUBBLING_PHASE=e.BUBBLING_PHASE;[Hr]=!1;[Ur]=!1;[Wr]=!1;[Gr]=!1;[Kr]=Ds.none;[qr]=performance.now();[Jr];[ko]=!1;[Be]=!1;[$e]=!1;[ft]=null;[Ae]=null;[We]=!1;constructor(e,t=null){this[Jr]=e,this[Ur]=t?.bubbles??!1,this[Wr]=t?.cancelable??!1,this[Hr]=t?.composed??!1}get composed(){return this[Hr]}get bubbles(){return this[Ur]}get cancelable(){return this[Wr]}get defaultPrevented(){return this[Gr]}get eventPhase(){return this[Kr]}get timeStamp(){return this[qr]}get type(){return this[Jr]}get target(){return this[ft]}get currentTarget(){return this[Ae]}get cancelBubble(){return this[$e]}composedPath(){if(!this[ft])return[];let e=[],t=this[ft];for(;t;)if(e.push(t),t.parentNode)t=t.parentNode;else if(this[Hr]&&t[S]===H.documentFragmentNode&&t.host)t=t.host;else if(t[S]===H.documentNode&&this[Jr]!==`load`)t=t[y];else break;return e}initEvent(e,t=!1,n=!1){this[Jr]=e,this[Ur]=t,this[Wr]=n,this[$e]=!1,this[Be]=!1,this[Gr]=!1}preventDefault(){!this[We]&&this.cancelable&&(this[Gr]=!0)}stopImmediatePropagation(){this[Be]=!0}stopPropagation(){this[$e]=!0}},Os;(function(e){e.log=`log`,e.table=`table`,e.trace=`trace`,e.dir=`dir`,e.dirxml=`dirxml`,e.group=`group`,e.groupCollapsed=`groupCollapsed`,e.debug=`debug`,e.timeLog=`timeLog`,e.info=`info`,e.count=`count`,e.timeEnd=`timeEnd`,e.warn=`warn`,e.countReset=`countReset`,e.error=`error`,e.assert=`assert`})(Os||={});var ks=Os,As=class{static toString(e){if(this.isLogEntryCollapsed(e))return``;let t=this.getLogEntryGroupTabbing(e),n=t;for(let r of e.message)if(n+=n!==``&&n!==t?` `:``,typeof r==`object`&&(r===null||r.constructor.name===`Object`||Array.isArray(r)))try{n+=JSON.stringify(r)}catch{n+=Error(`Failed to JSON stringify object in log entry.`).stack.replace(/\n at/gm,`
|
|
2
2
|
`+t+`at`)}else typeof r==`object`&&r.message&&r.stack?n+=r.stack.replace(/\n at/gm,`
|
|
3
3
|
`+t+`at`):n+=this.getLogEntryIcon(e)+String(r);return n+`
|
|
4
4
|
`}static getLogEntryIcon(e){switch(e.type){case ks.group:return`▼ `;case ks.groupCollapsed:return`▶ `}return``}static getLogEntryGroupTabbing(e){let t=``,n=e.type===ks.group||e.type===ks.groupCollapsed?e.group?.parent:e.group;for(;n;)t+=` `,n=n.parent;return t}static isLogEntryCollapsed(e){let t=e.type===ks.group||e.type===ks.groupCollapsed?e.group?.parent:e.group;for(;t;){if(t.collapsed)return!0;t=t.parent}return!1}},js=class{#e=[];#t={print:[],clear:[]};#n=!1;get closed(){return this.#n}print(e){this.#n||(this.#e.push(e),this.dispatchEvent(new U(`print`)))}clear(){this.#n||(this.#e=[],this.dispatchEvent(new U(`clear`)))}close(){this.#n||=(this.#e=[],this.#t={print:[],clear:[]},!0)}addEventListener(e,t){if(!this.#n){if(!this.#t[e])throw Error(`Event type "${e}" is not supported.`);this.#t[e].push(t)}}removeEventListener(e,t){if(this.#n)return;if(!this.#t[e])throw Error(`Event type "${e}" is not supported.`);let n=this.#t[e].indexOf(t);n!==-1&&this.#t[e].splice(n,1)}dispatchEvent(e){if(!this.#n)switch(e.type){case`print`:case`clear`:for(let t of this.#t[e.type])t(e);break;default:throw Error(`Event type "${e.type}" is not supported.`)}}read(){let e=this.#e;return this.#e=[],e}readAsString(e=ws.log){let t=this.read(),n=``;for(let r of t)r.level>=e&&(n+=As.toString(r));return n}},Ms=class extends Error{constructor(e){super(e),this.name=`AsyncTaskManagerDebugError`}};const Ns={setTimeout:globalThis.setTimeout.bind(globalThis),clearTimeout:globalThis.clearTimeout.bind(globalThis),clearImmediate:globalThis.clearImmediate.bind(globalThis)};var Ps=class{static taskID=0;runningTasks={};runningTaskCount=0;runningTimers=[];runningImmediates=[];debugTrace=new Map;waitUntilCompleteTimer=null;waitUntilCompleteResolvers=[];destroyed=!1;#e=null;#t;constructor(e){this.#t=e}waitUntilComplete(){return new Promise((e,t)=>{this.waitUntilCompleteResolvers.push({resolve:e,reject:t}),this.resolveWhenComplete()})}abort(){return this.destroyed?new Promise((e,t)=>{this.waitUntilCompleteResolvers.push({resolve:e,reject:t}),this.resolveWhenComplete()}):this.abortAll(!1)}destroy(){return this.destroyed?new Promise((e,t)=>{this.waitUntilCompleteResolvers.push({resolve:e,reject:t}),this.resolveWhenComplete()}):this.abortAll(!0)}startTimer(e){if(this.destroyed){Ns.clearTimeout(e);return}this.waitUntilCompleteTimer&&=(Ns.clearTimeout(this.waitUntilCompleteTimer),null),this.runningTimers.push(e),this.#t.page.context.browser.settings.debug.traceWaitUntilComplete>0&&this.debugTrace.set(e,new Ms().stack)}endTimer(e){if(this.destroyed){Ns.clearTimeout(e);return}let t=this.runningTimers.indexOf(e);t!==-1&&(this.runningTimers.splice(t,1),this.resolveWhenComplete()),this.#t.page.context.browser.settings.debug.traceWaitUntilComplete>0&&this.debugTrace.delete(e)}startImmediate(e){if(this.destroyed){Ns.clearImmediate(e);return}this.waitUntilCompleteTimer&&=(Ns.clearTimeout(this.waitUntilCompleteTimer),null),this.runningImmediates.push(e),this.#t.page?.context?.browser?.settings?.debug?.traceWaitUntilComplete>0&&this.debugTrace.set(e,new Ms().stack)}endImmediate(e){if(this.destroyed){Ns.clearImmediate(e);return}let t=this.runningImmediates.indexOf(e);t!==-1&&(this.runningImmediates.splice(t,1),this.resolveWhenComplete()),this.#t.page.context.browser.settings.debug.traceWaitUntilComplete>0&&this.debugTrace.delete(e)}startTask(e){if(this.destroyed)throw e&&e(this.destroyed),new this.#t.window.Error(`Failed to execute 'startTask()' on 'AsyncTaskManager': The asynchronous task manager has been destroyed. This error can be thrown if scripts continue to run while a browser frame is closed.`);this.waitUntilCompleteTimer&&=(Ns.clearTimeout(this.waitUntilCompleteTimer),null);let t=this.newTaskID();return this.runningTasks[t]=e||(()=>{}),this.runningTaskCount++,this.#t.page.context.browser.settings.debug.traceWaitUntilComplete>0&&this.debugTrace.set(t,new Ms().stack),t}endTask(e){this.destroyed||(this.runningTasks[e]&&(delete this.runningTasks[e],this.runningTaskCount--,this.resolveWhenComplete()),this.#t.page.context.browser.settings.debug.traceWaitUntilComplete>0&&this.debugTrace.delete(e))}getTaskCount(){return this.runningTaskCount}newTaskID(){return this.constructor.taskID++,this.constructor.taskID}resolveWhenComplete(){this.applyDebugging(),!(this.runningTaskCount||this.runningTimers.length||this.runningImmediates.length)&&(this.waitUntilCompleteTimer&&=(Ns.clearTimeout(this.waitUntilCompleteTimer),null),this.waitUntilCompleteTimer=Ns.setTimeout(()=>{if(this.waitUntilCompleteTimer=null,!this.runningTaskCount&&!this.runningTimers.length&&!this.runningImmediates.length){this.#e&&Ns.clearTimeout(this.#e);let e=this.waitUntilCompleteResolvers;this.waitUntilCompleteResolvers=[];for(let t of e)t.resolve();this.destroyed=!1}else this.applyDebugging()},1))}applyDebugging(){let e=this.#t.page.context.browser.settings.debug;!e?.traceWaitUntilComplete||e.traceWaitUntilComplete<1||(this.#e||=Ns.setTimeout(()=>{this.#e=null;let e=`The maximum time was reached for "waitUntilComplete()".\n\n${this.debugTrace.size} task${this.debugTrace.size===1?``:`s`} did not end in time.\n\nThe following traces were recorded:\n\n`,t=1;for(let[n,r]of this.debugTrace.entries())e+=`${typeof n==`number`?`Task`:`Timer`} #${t}\n‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾${r.replace(/AsyncTaskManagerDebugError:{0,1}/,``).replace(/\s+at /gm,`
|
|
@@ -65,7 +65,7 @@ M0qoTfdjpSg5Jwgd75taWt4bxGJWeflSSv8z5R0BAoGAWL8c527AbeBvx2tOYKkD
|
|
|
65
65
|
gl5OpEjeliU7Mus0BVS858g=
|
|
66
66
|
-----END PRIVATE KEY-----`};const Wu=`<html><head><title>Happy DOM Virtual Server - 404 Not Found</title></head><body><h1>Happy DOM Virtual Server - 404 Not Found</h1></body></html>`;var Gu=class{static getFilepath(e,t){let n=new J(e).getSettings();if(!n||!n.fetch.virtualServers&&!n.module.resolveNodeModules)return null;if(n.fetch.virtualServers)for(let r of n.fetch.virtualServers){let n=null;if(typeof r.url==`string`){let i=new URL(r.url[r.url.length-1]===`/`?r.url.slice(0,-1):r.url,e.location.origin===`null`?void 0:e.location.origin);t.startsWith(i.href)&&(n=i)}else if(r.url instanceof RegExp){let i=t.match(r.url);i&&(n=new URL(i[0][i[0].length-1]===`/`?i[0].slice(0,-1):i[0],e.location.origin))}if(n){let e=t.slice(n.href.length).split(`?`)[0].split(`#`)[0];return ne.join(ne.resolve(r.directory),e.replaceAll(`/`,ne.sep))}}if(n.module.resolveNodeModules){let r=n.module.resolveNodeModules.url,i=new URL(r[r.length-1]===`/`?r.slice(0,-1):r,e.location.origin);if(t.startsWith(i.href)){let e=t.slice(i.href.length).split(`?`)[0].split(`#`)[0];return ne.join(ne.resolve(n.module.resolveNodeModules.directory),e.replaceAll(`/`,ne.sep))}}return null}static getNotFoundResponse(e){return new e.Response(Wu,{status:404,statusText:`Not Found`,headers:{"Content-Type":`text/html`}})}static getNotFoundSyncResponse(e,t){return{status:404,statusText:`Not Found`,ok:!1,url:t,redirected:!1,headers:new e.Headers({"Content-Type":`text/html`}),body:Buffer.from(Wu),[es]:null}}},Ku=class{static getKey(e){return JSON.stringify({url:e.url,destination:e.destination,mode:e.mode,credentialsMode:e.credentialsMode})}};const qu=i.from(`0\r
|
|
67
67
|
\r
|
|
68
|
-
`);var Ju=class e{reject=null;resolve=null;listeners={onSignalAbort:this.onSignalAbort.bind(this)};isChunkedTransfer=!1;isProperLastChunkReceived=!1;previousChunk=null;nodeRequest=null;nodeResponse=null;response=null;responseHeaders=null;interceptor;requestHeaders;request;redirectCount=0;disableCache;disableSameOriginPolicy;disablePreload;#e;#t;#n=null;constructor(e){this.#e=e.browserFrame,this.#t=e.window,this.#n=e.unfilteredHeaders??null,this.request=typeof e.url==`string`||e.url instanceof oe?new e.window.Request(e.url,e.init):e.url,e.contentType&&(this.request[De]=e.contentType),this.redirectCount=e.redirectCount??0,this.disableCache=e.disableCache??!1,this.disableSameOriginPolicy=e.disableSameOriginPolicy??this.#e.page.context.browser.settings.fetch.disableSameOriginPolicy??!1,this.interceptor=this.#e.page.context.browser.settings.fetch.interceptor,this.requestHeaders=this.#e.page.context.browser.settings.fetch.requestHeaders,this.disablePreload=e.disablePreload??!1}async send(){if(!(this.request instanceof Lu)||!(this.request[_t]instanceof oe))throw new this.#t.DOMException(`Unknown request object. Request object must be an instance of Request.`,V.invalidStateError);if(vu.prepareRequest(new oe(this.#t.location.href),this.request),this.requestHeaders){for(let e of this.requestHeaders)if(!e.url||(typeof e.url==`string`?e.url.startsWith(this.request.url):this.request.url.match(e.url)))for(let[t,n]of Object.entries(e.headers))this.request.headers.set(t,n)}if(this.interceptor?.beforeAsyncRequest){let e=this.#e[pe].startTask(),t=await this.interceptor.beforeAsyncRequest({request:this.request,window:this.#t});if(this.#e[pe].endTask(e),t instanceof zu)return t}if(Nu.validateSchema(this.request),this.request.signal[Zr])throw this.request.signal[Ho]===void 0?new this.#t.DOMException(`signal is aborted without reason`,V.abortError):this.request.signal[Ho];if(this.request[_t].protocol===`data:`){let e=yu.parse(this.request.url);this.response=new this.#t.Response(e.buffer,{headers:{"Content-Type":e.type}});let t=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:this.response,request:this.request}):void 0;return t instanceof zu?t:this.response}if(this.request[_t].protocol===`http:`&&this.#t.location.protocol===`https:`)throw new this.#t.DOMException(`Mixed Content: The page at '${this.#t.location.href}' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint '${this.request.url}'. This request has been blocked; the content must be served over HTTPS.`,V.securityError);if(!this.disableCache){let e=await this.getCachedResponse();if(e)return e}if(!this.disablePreload){let e=Ku.getKey({url:this.request.url,destination:`fetch`,mode:this.request.mode,credentialsMode:this.request.credentials}),t=this.#t.document[jo].get(e);if(t){if(this.#t.document[jo].delete(e),t.response)return t.response;let n=this.#e[pe].startTask(),r=await t.onResponseAvailable();return this.#e[pe].endTask(n),r}}let e=await this.getVirtualServerResponse();if(e)return e;if(!this.disableSameOriginPolicy&&!await this.compliesWithCrossOriginPolicy())throw this.#e.page.console.warn(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`),new this.#t.DOMException(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`,V.networkError);return await this.sendRequest()}async getCachedResponse(){if(this.disableCache)return null;let t=this.#e.page.context.responseCache.get(this.request);if(!t||t.response.waitingForBody)return null;if(t.state===gs.stale){let n=new this.#t.Headers(t.request.headers);if(t.etag)n.set(`If-None-Match`,t.etag);else{if(!t.lastModified)return null;n.set(`If-Modified-Since`,new Date(t.lastModified).toUTCString())}let r=new e({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{headers:n,method:t.request.method},disableCache:!0,disableSameOriginPolicy:!0});if(t.etag||!t.staleWhileRevalidate){let e=await r.send(),n=e.status===304?null:await e.buffer();if(t=this.#e.page.context.responseCache.add(this.request,{...e,body:n,waitingForBody:!1}),e.status!==304){let r=new this.#t.Response(n,{status:e.status,statusText:e.statusText,headers:e.headers});return r.url=e.url,r[ge]=t,r}}else r.send().then(e=>{e.buffer().then(t=>{this.#e.page.context.responseCache.add(this.request,{...e,body:t,waitingForBody:!1})})})}if(!t||t.response.waitingForBody)return null;let n=new this.#t.Response(t.response.body,{status:t.response.status,statusText:t.response.statusText,headers:t.response.headers});return n.url=t.response.url,n[ge]=t,n}async getVirtualServerResponse(){let e=Gu.getFilepath(this.#t,this.request.url);if(!e)return null;let t=this.#e[pe].startTask();if(this.request.method!==`GET`){this.#e.page.console.error(`${this.request.method} ${this.request.url} 404 (Not Found)`);let e=Gu.getNotFoundResponse(this.#t),n=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:await e,request:this.request}):void 0;return this.#e[pe].endTask(t),n instanceof zu?n:e}let n;try{e=(await d.promises.stat(e)).isDirectory()?ne.join(e,`index.html`):e,n=await d.promises.readFile(e)}catch{this.#e.page.console.error(`${this.request.method} ${this.request.url} 404 (Not Found)`);let e=Gu.getNotFoundResponse(this.#t),n=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:await e,request:this.request}):void 0;return this.#e[pe].endTask(t),n instanceof zu?n:e}let r=new this.#t.ReadableStream({start:e=>{this.#t.queueMicrotask(()=>{e.enqueue(n),e.close()})}}),i=new this.#t.Response(r);i[he]=n,i[es]=e,i.url=this.request.url;let a=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:await i,request:this.request}):void 0;this.#e[pe].endTask(t);let o=a instanceof zu?a:i,s={...o,body:n,waitingForBody:!1,virtual:!0};return i[ge]=this.#e.page.context.responseCache.add(this.request,s),o}async compliesWithCrossOriginPolicy(){if(this.disableSameOriginPolicy||!bu.isCORS(this.#t.location.href,this.request[_t]))return!0;let t=this.#e.page.context.preflightResponseCache.get(this.request);if(t)return!(t.allowOrigin!==`*`&&t.allowOrigin!==this.#t.location.origin||t.allowMethods.length!==0&&!t.allowMethods.includes(this.request.method));let n=[];for(let[e]of this.request.headers)n.push(e.toLowerCase());let r=new this.#t.Headers({"Access-Control-Request-Method":this.request.method,Origin:this.#t.location.origin});n.length>0&&r.set(`Access-Control-Request-Headers`,n.slice().sort().join(`,`));let i=await new e({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{method:`OPTIONS`},disableCache:!0,disableSameOriginPolicy:!0,unfilteredHeaders:r}).send();if(!i.ok)return!1;let a=i.headers.get(`Access-Control-Allow-Origin`);if(!a||a!==`*`&&a!==this.#t.location.origin)return!1;let o=[];if(i.headers.has(`Access-Control-Allow-Methods`)){let e=i.headers.get(`Access-Control-Allow-Methods`);if(e!==`*`)for(let t of e.split(`,`))o.push(t.trim().toUpperCase())}return!(o.length!==0&&!o.includes(this.request.method))}sendRequest(){return new Promise((e,t)=>{let n=this.#e[pe].startTask(()=>this.onAsyncTaskManagerAbort());if(this.resolve)throw new this.#t.Error(`Fetch already sent.`);this.resolve=async t=>{!this.disableCache&&t instanceof zu&&this.#e.page&&this.#e.page.context&&(t[ge]=this.#e.page.context.responseCache.add(this.request,{...t,headers:this.responseHeaders,body:t[he],waitingForBody:!t[he]&&!!t.body}));let r=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:await t,request:this.request}):void 0;this.#e[pe].endTask(n);let i=r instanceof zu?r:t;i instanceof zu&&!i.ok&&this.#e.page.console.error(`${this.request.method} ${this.request.url} ${i.status} (${i.statusText})`),e(i)},this.reject=e=>{this.#e[pe].endTask(n),t(e)},this.request.signal.addEventListener(`abort`,this.listeners.onSignalAbort);let r=(this.request[_t].protocol===`https:`?ie:re).request;this.nodeRequest=r(this.request[_t].href,{method:this.request.method,headers:Iu.getRequestHeaders({browserFrame:this.#e,window:this.#t,request:this.request,baseHeaders:this.#n}),agent:!1,rejectUnauthorized:!this.#e.page.context.browser.settings.fetch.disableStrictSSL,key:this.request[_t].protocol===`https:`?Uu.key:void 0,cert:this.request[_t].protocol===`https:`?Uu.cert:void 0}),this.nodeRequest.on(`error`,this.onError.bind(this)),this.nodeRequest.on(`socket`,this.onSocket.bind(this)),this.nodeRequest.on(`response`,this.onResponse.bind(this)),this.request.body===null?this.nodeRequest.end():u.pipeline(this.request.body,this.nodeRequest,e=>{e&&this.onError(e)})})}onSocket(e){let t=()=>{if(this.isChunkedTransfer&&!this.isProperLastChunkReceived){let e=new this.#t.DOMException(`Premature close.`,V.networkError);this.request[pn]=e,this.response&&(this.response[pn]=e,this.response.body&&!this.response.body.locked&&this.response.body.cancel(e))}},n=e=>{this.isProperLastChunkReceived=i.compare(e.slice(-5),qu)===0,!this.isProperLastChunkReceived&&this.previousChunk&&(this.isProperLastChunkReceived=i.compare(this.previousChunk.slice(-3),qu.slice(0,3))===0&&i.compare(e.slice(-2),qu.slice(3))===0),this.previousChunk=e};e.prependListener(`close`,t),e.on(`data`,n),this.nodeRequest.on(`close`,()=>{e.removeListener(`close`,t),e.removeListener(`data`,n)})}onSignalAbort(e){this.finalizeRequest(),this.abort(e.target?.reason)}onError(e){this.finalizeRequest(),this.#e.page.console.error(e),this.reject(new this.#t.DOMException(`Failed to execute "fetch()" on "Window" with URL "${this.request.url}": ${e.message}`,V.networkError))}onAsyncTaskManagerAbort(){let e=new this.#t.DOMException(`The operation was aborted.`,V.abortError);this.request[Zr]=!0,this.request[pn]=e,this.response&&(this.response[Zr]=!0,this.response[pn]=e),this.listeners.onSignalAbort&&this.request.signal.removeEventListener(`abort`,this.listeners.onSignalAbort),this.nodeRequest&&!this.nodeRequest.destroyed&&this.nodeRequest.destroy(e),this.nodeResponse&&!this.nodeResponse.destroyed&&this.nodeResponse.destroy(e),this.response&&this.response.body&&(this.response.body.locked||this.response.body.cancel(e))}onResponse(e){if(this.isChunkedTransfer=e.headers[`transfer-encoding`]===`chunked`&&!e.headers[`content-length`],this.nodeRequest.setTimeout(0),this.responseHeaders=Hu.parseResponseHeaders({browserFrame:this.#e,requestURL:this.request[_t],rawHeaders:e.rawHeaders}),this.handleRedirectResponse(e,this.responseHeaders))return;e.once(`end`,()=>this.request.signal.removeEventListener(`abort`,this.listeners.onSignalAbort));let t=u.pipeline(e,new u.PassThrough,e=>{}),n={status:e.statusCode,statusText:e.statusMessage,headers:this.responseHeaders},r=this.responseHeaders.get(`Content-Encoding`);if(this.request.method===`HEAD`||r===null||e.statusCode===204||e.statusCode===304){this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response);return}if(r===`gzip`||r===`x-gzip`){let e={flush:l.constants.Z_SYNC_FLUSH,finishFlush:l.constants.Z_SYNC_FLUSH};t=u.pipeline(t,l.createGunzip(e),e=>{}),this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response);return}if(r===`deflate`||r===`x-deflate`){let r=u.pipeline(e,new u.PassThrough,e=>{});r.on(`data`,e=>{t=(e[0]&15)==8?u.pipeline(t,l.createInflate(),e=>{}):u.pipeline(t,l.createInflateRaw(),e=>{}),this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response)}),r.on(`end`,()=>{this.response||(this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response))});return}if(r===`br`){t=u.pipeline(t,l.createBrotliDecompress(),e=>{}),this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response);return}this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response)}handleRedirectResponse(t,n){if(!Vu.isRedirect(t.statusCode))return!1;switch(this.request.redirect){case`error`:return this.finalizeRequest(),this.reject(new this.#t.DOMException(`URI requested responds with a redirect, redirect mode is set to "error": ${this.request.url}`,V.abortError)),!0;case`manual`:return!1;case`follow`:let r=n.get(`Location`),i=t.statusCode===303||(t.statusCode===301||t.statusCode===302)&&this.request.method===`POST`,a=null;if(r!==null)try{a=new oe(r,this.request.url)}catch{return this.finalizeRequest(),this.reject(new this.#t.DOMException(`URI requested responds with an invalid redirect URL: ${r}`,V.uriMismatchError)),!0}if(a===null)return!1;if(Vu.isMaxRedirectsReached(this.redirectCount))return this.finalizeRequest(),this.reject(new this.#t.DOMException(`Maximum redirects reached at: ${this.request.url}`,V.networkError)),!0;let o=new this.#t.Headers(this.request.headers),s={method:this.request.method,signal:this.request.signal,referrer:this.request.referrer,referrerPolicy:this.request.referrerPolicy,credentials:this.request.credentials,headers:o,body:this.request[me]};if((this.request.credentials===`omit`||this.request.credentials===`same-origin`&&bu.isCORS(this.#t.location.href,a))&&(o.delete(`cookie`),o.delete(`cookie2`)),this.request.signal[Zr])return this.abort(this.request.signal[Ho]),!0;i&&(s.method=`GET`,s.body=void 0,o.delete(`Content-Length`),o.delete(`Content-Type`));let c=vu.getReferrerPolicyFromHeader(o);c&&(s.referrerPolicy=c);let l=new e({browserFrame:this.#e,window:this.#t,url:a,init:s,redirectCount:this.redirectCount+1,disableSameOriginPolicy:this.disableSameOriginPolicy,contentType:i?null:this.request[De]});return this.finalizeRequest(),l.send().then(e=>this.resolve(e)).catch(e=>this.reject(e)),!0;default:return this.finalizeRequest(),this.reject(new this.#t.DOMException(`Redirect option '${this.request.redirect}' is not a valid value of TRequestRedirect`)),!0}}finalizeRequest(){this.request.signal.removeEventListener(`abort`,this.listeners.onSignalAbort),this.nodeRequest?.destroy()}abort(e){let t=new this.#t.DOMException(`The operation was aborted.`+(e?` `+e.toString():``),V.abortError);this.request[Zr]=!0,this.request[pn]=t,this.response&&(this.response[Zr]=!0,this.response[pn]=t),this.nodeRequest&&!this.nodeRequest.destroyed&&this.nodeRequest.destroy(t),this.nodeResponse&&!this.nodeResponse.destroyed&&this.nodeResponse.destroy(t),this.response&&this.response.body&&(this.response.body.locked||this.response.body.cancel(t)),this.reject&&this.reject(e===void 0?t:e)}},Yu;(function(e){e.auto=`auto`,e.manual=`manual`})(Yu||={});var Xu=Yu,Zu=class{static getRelativeURL(e,t){if(t=t?String(t):`about:blank`,t.startsWith(`about:`)||t.startsWith(`javascript:`))return new oe(t);try{return new oe(t,e.window[Dn].href)}catch{return new oe(`about:blank`)}}},Qu=class{#e;#t;constructor(e,t){if(!e)throw TypeError(`Illegal constructor`);this.#e=e,this.#t=t}get length(){return this.#e?.[On].items.length||0}get state(){return this.#e?.[On].currentItem.state||null}get scrollRestoration(){return this.#e?.[On].currentItem.scrollRestoration||Xu.auto}set scrollRestoration(e){switch(e){case Xu.auto:case Xu.manual:let t=this.#e?.[On].currentItem;t&&(t.scrollRestoration=e)}}back(){this.#t.closed||this.#e?.goBack()}forward(){this.#t.closed||this.#e?.goForward()}go(e){this.#t.closed||this.#e?.goSteps(e)}pushState(e,t,n){if(!this.#e||this.#t.closed)return;let r=this.#e?.[On];if(!r)return;if(arguments.length<2)throw new this.#t.TypeError(`Failed to execute 'pushState' on 'History': 2 arguments required, but only ${arguments.length} present.`);let i=this.#t[Dn],a=n?Zu.getRelativeURL(this.#e,n):i;if(n&&a.origin!==i.origin)throw new this.#t.DOMException(`Failed to execute 'pushState' on 'History': A history state object with URL '${n.toString()}' cannot be created in a document with origin '${i.origin}' and URL '${i.href}'.`,V.securityError);r.currentItem.popState=!0,r.push({title:this.#t.document.title,href:a.href,state:e,popState:!0,scrollRestoration:r.currentItem.scrollRestoration,method:r.currentItem.method||`GET`,formData:r.currentItem.formData||null}),i[wn](this.#e,r.currentItem.href)}replaceState(e,t,n){if(!this.#e||this.#t.closed)return;let r=this.#e?.[On];if(!r)return;if(arguments.length<2)throw new this.#t.TypeError(`Failed to execute 'pushState' on 'History': 2 arguments required, but only ${arguments.length} present.`);let i=this.#t[Dn],a=n?Zu.getRelativeURL(this.#e,n):i;if(n&&a.origin!==i.origin)throw new this.#t.DOMException(`Failed to execute 'pushState' on 'History': A history state object with URL '${n.toString()}' cannot be created in a document with origin '${i.origin}' and URL '${i.href}'.`,V.securityError);r.replace({title:this.#t.document.title,href:a.href,state:e,popState:r.currentItem.popState,scrollRestoration:r.currentItem.scrollRestoration,method:r.currentItem.method,formData:r.currentItem.formData}),n&&i[wn](this.#e,r.currentItem.href)}[Ne](){this.#e=null}},$u=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t||{}}observe(e){}disconnect(){}unobserve(e){}takeRecords(){return[]}},ed=class{boundingClientRect=null;intersectionRatio=0;intersectionRect=null;isIntersecting=!1;rootBounds=null;target=null;time=0;constructor(e){Object.assign(this,e)}},td=class{[Symbol.toStringTag]=`Location`;#e;#t;#n=null;#r=[];constructor(e,t){if(!e)throw TypeError(`Illegal constructor`);this.#e=e,this.#t=new URL(t)}get hash(){return this.#t.hash}set hash(e){let t=this.#e?.[On];if(!t||!this.#e)return;let n=new URL(this.#t.href),r=this.#t.hash;n.hash=e,n.hash!==r&&(t.currentItem.popState=!0,t.push({title:``,href:n.href,state:t.currentItem.state,popState:!0,scrollRestoration:Xu.manual,method:t.currentItem.method,formData:t.currentItem.formData||null}),this[wn](this.#e,n.href))}get host(){return this.#t.host}set host(e){let t=new URL(this.#t.href);t.host=e,this.href=t.href}get hostname(){return this.#t.hostname}set hostname(e){let t=new URL(this.#t.href);t.hostname=e,this.href=t.href}get href(){return this.#t.href}set href(e){this.#e&&this.#e.goto(e).catch(e=>{if(this.#e?.page?.console)this.#e.page.console.error(e);else throw e})}get origin(){return this.#t.origin}get pathname(){return this.#t.pathname}set pathname(e){let t=new URL(this.#t.href);t.pathname=e,this.href=t.href}get port(){return this.#t.port}set port(e){let t=new URL(this.#t.href);t.port=e,this.href=t.href}get protocol(){return this.#t.protocol}set protocol(e){let t=new URL(this.#t.href);t.protocol=e,this.href=t.href}get search(){return this.#t.search}set search(e){let t=new URL(this.#t.href);t.search=e,this.href=t.href}replace(e){this.href=String(e)}assign(e){this.href=String(e)}reload(){this.#e&&this.#e.goto(this.href).catch(e=>{if(this.#e?.page.console)this.#e.page.console.error(e);else throw e})}[wn](e,t){if(!this.#e)return;if(this.#e!==e)throw Error(`Failed to set URL. Browser frame mismatch.`);let n=this.#t.href,r=this.#t.hash;if(this.#t.href=t,this.#t.hash!==r){let e=this.#t.href;this.#r.push(new iu(`hashchange`,{oldURL:n,newURL:e})),this.#e?.window?.document?.[qn](),this.#n&&this.#e.window?.clearTimeout(this.#n),this.#n=this.#e.window?.setTimeout(()=>{let e=this.#r;this.#r=[];for(let t of e)this.#e?.window?.dispatchEvent(t)})}}[Ne](){this.#n&&this.#e?.window?.clearTimeout(this.#n),this.#e=null}toString(){return this.#t.toString()}},nd=class{type;target;addedNodes;removedNodes;previousSibling;nextSibling;attributeName;attributeNamespace;oldValue;constructor(e){this.type=e.type,this.target=e.target,this.addedNodes=e.addedNodes||[],this.removedNodes=e.removedNodes||[],this.previousSibling=e.previousSibling||null,this.nextSibling=e.nextSibling||null,this.attributeName=e.attributeName||null,this.attributeNamespace=e.attributeNamespace||null,this.oldValue=e.oldValue||null}},rd=class{description;enabledPlugin;suffixes;type;constructor(e,t,n,r){this.description=e,this.enabledPlugin=t,this.suffixes=n,this.type=r}toString(){return`[object MimeType]`}},id=class{length;constructor(e){for(let t=0,n=e.length;t<n;t++)this[t]=e[t],this[e[t].type]=e[t];this.length=e.length}item(e){return this[e]||null}namedItem(e){return this[e]||null}toString(){return`[object MimeTypeArray]`}},ad=class{length;constructor(e){for(let t=0,n=e.length;t<n;t++)this[t]=e[t],this[e[t].name]=e[t];this.length=e.length}item(e){return this[e]||null}namedItem(e){return this[e]||null}refresh(){}toString(){return`[object PluginArray]`}},od;(function(e){e.geolocation=`geolocation`,e.notifications=`notifications`,e.push=`push`,e.midi=`midi`,e.camera=`camera`,e.microphone=`microphone`,e.backgroundFetch=`background-fetch`,e.backgroundSync=`background-sync`,e.persistentStorage=`persistent-storage`,e.ambientLightSensor=`ambient-light-sensor`,e.accelerometer=`accelerometer`,e.gyroscope=`gyroscope`,e.magnetometer=`magnetometer`,e.screenWakeLock=`screen-wake-lock`,e.nfc=`nfc`,e.displayCapture=`display-capture`,e.accessibilityEvents=`accessibility-events`,e.clipboardRead=`clipboard-read`,e.clipboardWrite=`clipboard-write`,e.paymentHandler=`payment-handler`,e.idleDetection=`idle-detection`,e.periodicBackgroundSync=`periodic-background-sync`,e.systemWakeLock=`system-wake-lock`,e.storageAccess=`storage-access`,e.windowManagement=`window-management`,e.windowPlacement=`window-placement`,e.localFonts=`local-fonts`,e.topLevelStorageAccess=`top-level-storage-access`})(od||={});var sd=od,cd=class{#e={};#t;constructor(e){e?.document,this.#t=e}async query(e){let t=e?.name;if(t&&this.#e[t])return this.#e[t];if(!Object.values(sd).includes(t))throw Error(`Failed to execute 'query' on 'Permissions': Failed to read the 'name' property from 'PermissionDescriptor': The provided value '${t}' is not a valid enum value of type PermissionName.`);return this.#e[t]=new this.#t.PermissionStatus(`granted`),this.#e[t]}},ld=class{#e;#t;#n;constructor(e){if(!e)throw TypeError(`Invalid constructor`);this.#e=e,this.#t=new Bs(e),this.#n=new cd(e)}get cookieEnabled(){return!0}get credentials(){return null}get geolocation(){return null}get language(){return`en-US`}get languages(){return[`en-US`,`en`]}get locks(){return null}get maxTouchPoints(){return new J(this.#e).getSettings()?.navigator.maxTouchPoints||0}get hardwareConcurrency(){return 8}get appCodeName(){return`Mozilla`}get appName(){return`Netscape`}get appVersion(){let e=this.userAgent,t=e.indexOf(`/`);return t>-1?e.substring(t+1):``}get platform(){let e=this.userAgent,t=e.indexOf(`(`),n=e.indexOf(`)`);return t>-1&&n>-1?e.substring(t+1,n):``}get product(){return`Gecko`}get productSub(){return`20100101`}get vendor(){return``}get vendorSub(){return``}get userAgent(){return new J(this.#e).getSettings()?.navigator.userAgent||``}get onLine(){return!0}get permissions(){return this.#n}get clipboard(){return this.#t}get webdriver(){return!0}get doNotTrack(){return`unspecified`}get mimeTypes(){return new id([])}get plugins(){return new ad([])}sendBeacon(e,t){return this.#e.fetch(e,{method:`POST`,body:t}),!0}toString(){return`[object Navigator]`}},ud=class{length=0;description;filename;name;constructor(e,t,n,r){this.description=t,this.filename=n,this.name=r;for(let t=0,n=e.length;t<n;t++)this[t]=e[t],this[e[t].type]=e[t];this.length=e.length}item(e){return this[e]||null}namedItem(e){return this[e]||null}toString(){return`[object Plugin]`}},dd;(function(e){e[e.disconnect=1]=`disconnect`,e[e.preceding=2]=`preceding`,e[e.following=4]=`following`,e[e.contains=8]=`contains`,e[e.containedBy=16]=`containedBy`,e[e.implementationSpecific=32]=`implementationSpecific`})(dd||={});var fd=dd,Y=class e{static isTextNode(e){return e?.[S]===H.textNode}static isInclusiveAncestor(e,t,n=!1){if(e===null||t===null)return!1;if(e===t)return!0;if(!e[A].length||n&&t[b]!==e[b])return!1;if(n&&e===t[h]&&t[b])return!0;let r=t[x];for(;r;){if(e===r)return!0;if(e[x]===r[x])return!1;r=r[x]?r[x]:n&&r.host?r.host:null}return!1}static isFollowing(e,t){if(e===t)return!1;let n=t;for(;n;)if(n=this.following(n),n===e)return!0;return!1}static getNodeLength(e){switch(e[S]){case H.documentTypeNode:return 0;case H.textNode:case H.processingInstructionNode:case H.commentNode:return e.data.length;default:return e[A].length}}static following(e,t){let n=e.firstChild;if(n)return n;let r=e;for(;r;){if(r===t)return null;let e=r.nextSibling;if(e)return e;r=r[x]}return null}static nextDescendantNode(e){for(;e&&!e.nextSibling;)e=e[x];return e?e.nextSibling:null}static attributeListsEqual(e,t){let n=Array.from(e[kt][k].values()),r=Array.from(t[kt][k].values());for(let e of n){let t=!1;for(let n of r)if(e[w]===n[w]&&e.localName===n.localName&&e[_]===n[_]){t=!0;break}if(!t)return!1}return!0}static isEqualNode(t,n){if(t[S]!==n[S])return!1;switch(t[S]){case H.documentTypeNode:let e=t,r=n;if(e.name!==r.name||e.publicId!==r.publicId||e.systemId!==r.systemId)return!1;break;case H.elementNode:let i=t,a=n;if(i[w]!==a[w]||i[wt]!==a[wt]||i[O]!==a[O]||i[kt][k].size!==a[kt][k].size)return!1;break;case H.attributeNode:let o=t,s=n;if(o[w]!==s[w]||o.localName!==s.localName||o[_]!==s[_])return!1;break;case H.processingInstructionNode:let c=t,l=n;if(c.target!==l.target||c.data!==l.data)return!1;break;case H.textNode:case H.commentNode:let u=t,d=n;if(u.data!==d.data)return!1}if(t[S]===H.elementNode&&!e.attributeListsEqual(t,n)||t[A].length!==n[A].length)return!1;for(let r=0;r<t[A].length;r++){let i=t[A][r],a=n[A][r];if(!e.isEqualNode(i,a))return!1}return!0}},pd;(function(e){e.attributes=`attributes`,e.characterData=`characterData`,e.childList=`childList`})(pd||={});var md=pd,hd=class{static ownerDocuments=[];static createNode(e,t,...n){return t.prototype[y]||this.ownerDocuments.push(e),new t(...n)}static pullOwnerDocument(){return this.ownerDocuments.pop()||null}},gd=class e extends rl{static ELEMENT_NODE=H.elementNode;static ATTRIBUTE_NODE=H.attributeNode;static TEXT_NODE=H.textNode;static CDATA_SECTION_NODE=H.cdataSectionNode;static COMMENT_NODE=H.commentNode;static DOCUMENT_NODE=H.documentNode;static DOCUMENT_TYPE_NODE=H.documentTypeNode;static DOCUMENT_FRAGMENT_NODE=H.documentFragmentNode;static PROCESSING_INSTRUCTION_NODE=H.processingInstructionNode;static DOCUMENT_POSITION_CONTAINED_BY=fd.containedBy;static DOCUMENT_POSITION_CONTAINS=fd.contains;static DOCUMENT_POSITION_DISCONNECTED=fd.disconnect;static DOCUMENT_POSITION_FOLLOWING=fd.following;static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=fd.implementationSpecific;static DOCUMENT_POSITION_PRECEDING=fd.preceding;[b]=!1;[x]=null;[at]=null;[Gn]=null;[pt]=null;[Re]=null;[ot]=null;[Ze]=[];[A]=[];[Xn]=[];[ye]=null;[Sr]=null;[j]={querySelector:new Map,querySelectorAll:new Map,matches:new Map,elementsByTagName:new Map,elementsByTagNameNS:new Map,elementByTagName:new Map,elementById:new Map,computedStyle:null};[Zn]=[];constructor(){if(super(),this[y])this[h]=this[y].document;else{let e=hd.pullOwnerDocument();if(!e)throw TypeError(`Illegal constructor`);this[h]=e,this[y]=e[y]}}get[Symbol.toStringTag](){return this.constructor.name}get isConnected(){return this[b]}get ownerDocument(){return this[h]}get parentNode(){return this[x]}get nodeType(){return this[S]}get childNodes(){return this[ye]||(this[ye]=new Hc(M,this[A])),this[ye]}get textContent(){return``}set textContent(e){}get nodeValue(){return null}set nodeValue(e){}get nodeName(){return``}get previousSibling(){if(this[x]){let e=this[x][A],t=e.indexOf(this[or]||this);if(t>0)return e[t-1]}return null}get nextSibling(){if(this[x]){let e=this[x][A],t=e.indexOf(this[or]||this);if(t>-1&&t+1<e.length)return e[t+1]}return null}get firstChild(){let e=this[A];return e.length>0?e[0]:null}get lastChild(){let e=this[A];return e.length>0?e[e.length-1]:null}get parentElement(){let e=this[x];for(;e&&e[S]!==H.elementNode;)e=e[x];return e}get baseURI(){let e=this[h].querySelector(`base`);return e?e.href:this[y].location.href}hasChildNodes(){return this[A].length>0}contains(e){if(e===void 0)return!1;let t=this[or]||this;return Y.isInclusiveAncestor(t,e)}getRootNode(e){if(this[b])return this[at]&&!e?.composed?this[at]:this[h];let t=this;for(;t[x];)t=t[x];return t}cloneNode(e=!1){return this[Pn](e)}appendChild(e){if(arguments.length<1)throw new this[y].TypeError(`Failed to execute 'appendChild' on 'Node': 1 argument required, but only 0 present`);return this[Fn](e)}removeChild(e){if(arguments.length<1)throw new this[y].TypeError(`Failed to execute 'removeChild' on 'Node': 1 argument required, but only 0 present`);return this[In](e)}insertBefore(e,t){if(arguments.length<2)throw new this[y].TypeError(`Failed to execute 'insertBefore' on 'Node': 2 arguments required, but only ${arguments.length} present.`);return this[Ln](e,t)}replaceChild(e,t){if(arguments.length<2)throw new this[y].TypeError(`Failed to execute 'replaceChild' on 'Node': 2 arguments required, but only ${arguments.length} present.`);return this[Rn](e,t)}[Pn](e=!1){let t=hd.createNode(this[h],this.constructor);if(t[A].length){let e=t[A];for(;e.length;)t.removeChild(e[0])}if(e)for(let e of this[A]){let n=e.cloneNode(!0);n[x]=t,t[A].push(n),n[S]===H.elementNode&&t[Xn].push(n)}return t}[Fn](e,t=!1){e[or]&&(e=e[or]);let n=this[or]||this;if(!t){if(e===n)throw new this[y].DOMException(`Failed to execute 'appendChild' on 'Node': Not possible to append a node as a child of itself.`);if(Y.isInclusiveAncestor(e,n,!0))throw new this[y].DOMException(`Failed to execute 'appendChild' on 'Node': The new node is a parent of the node to insert to.`,V.domException)}if(e[S]===H.documentFragmentNode){let t=e[A];for(;t.length;)this.appendChild(t[0]);return e}e[x]&&e[x][In](e),e[x]=n,e[qn](),this[A].push(e),e[S]===H.elementNode&&this[Xn].push(e),e[Se]();for(let t of this[Ze])t.options?.subtree&&t.callback.deref()&&e[Xe](t);return this[ht](new nd({target:n,type:md.childList,addedNodes:[e]})),e}[In](e){e[or]&&(e=e[or]);let t=this[A].indexOf(e);if(t===-1)throw new this[y].DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);let n=e.previousSibling,r=e.nextSibling;if(e[x]=null,e[qn](),this[A].splice(t,1),e[S]===H.elementNode){let t=this[Xn].indexOf(e);t!==-1&&this[Xn].splice(t,1)}if(e[Sr]){let t=e[Sr][xr].indexOf(e);t!==-1&&e[Sr][xr].splice(t,1),e[Sr]=null}e[Ce]();for(let t of this[Ze])t.options?.subtree&&t.callback.deref()&&e[mt](t);return this[ht](new nd({target:this[or]||this,type:md.childList,removedNodes:[e],previousSibling:n,nextSibling:r})),e}[Ln](e,t,n=!1){if(e[or]&&(e=e[or]),t&&t[or]&&(t=t[or]),e===t)return e;let r=this[or]||this;if(!n){if(e===r)throw new this[y].DOMException(`Failed to execute 'insertBefore' on 'Node': Not possible to insert a node as a child of itself.`);if(Y.isInclusiveAncestor(e,r,!0))throw new this[y].DOMException(`Failed to execute 'insertBefore' on 'Node': The new node is a parent of the node to insert to.`,V.domException)}if(e[S]===H.documentFragmentNode){let n=e[A];for(;n.length>0;)this[Ln](n[0],t,!0);return e}if(!t)return this[Fn](e,!0),e;let i=this[A];if(!i.includes(t))throw new this[y].DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);e[x]&&e[x][In](e),e[x]=r,e[qn]();let a=i.indexOf(t);if(e[S]===H.elementNode){let n=this[Xn];if(t[S]===H.elementNode)n.splice(n.indexOf(t),0,e);else{let t=!1;for(let r=a,o=i.length;r<o;r++)if(i[r][S]===H.elementNode){n.splice(n.indexOf(i[r]),0,e),t=!0;break}t||n.push(e)}}i.splice(a,0,e),e[Se]();for(let t of this[Ze])t.options?.subtree&&t.callback.deref()&&e[Xe](t);return this[ht](new nd({target:r,type:md.childList,addedNodes:[e]})),e}[Rn](e,t){return this.insertBefore(e,t),this.removeChild(t),t}isEqualNode(e){return Y.isEqualNode(this,e)}toString(){return`[object ${this.constructor.name}]`}[Xe](e){if(this[Ze].push(e),e.options.subtree)for(let t of this[A])t[Xe](e)}[mt](e){let t=this[Ze].indexOf(e);if(t!==-1&&this[Ze].splice(t,1),e.options.subtree)for(let t of this[A])t[mt](e)}[ht](e){this[qn]();let t=this[Ze];if(t.length)for(let n=0,r=t.length;n<r;n++){let i=t[n],a=i.callback.deref();if(a)switch(e.type){case md.childList:i.options.childList&&a(e);break;case md.attributes:i.options.attributes&&(!i.options.attributeFilter||i.options.attributeFilter.includes(e.attributeName))&&a(e);break;case md.characterData:i.options?.characterData&&a(e)}else t.splice(n,1),n--,r--}}[qn](){let e=this[j];if(e.querySelector.size){for(let t of e.querySelector.values())t.result&&=null;e.querySelector=new Map}if(e.querySelectorAll.size){for(let t of e.querySelectorAll.values())t.result&&=null;e.querySelectorAll=new Map}if(e.matches.size){for(let t of e.matches.values())t.result&&=null;e.matches=new Map}if(e.elementsByTagName.size){for(let t of e.elementsByTagName.values())t.result&&=null;e.elementsByTagName=new Map}if(e.elementsByTagNameNS.size){for(let t of e.elementsByTagNameNS.values())t.result&&=null;e.elementsByTagNameNS=new Map}if(e.elementByTagName.size){for(let t of e.elementByTagName.values())t.result&&=null;e.elementByTagName=new Map}if(e.elementById.size){for(let t of e.elementById.values())t.result&&=null;e.elementById=new Map}let t=this[Zn];if(t.length){for(let e of t)e.result=null;this[Zn]=[]}let n=this[h];if(n&&n[$n].length){for(let e of n[$n])e.result=null;n[$n]=[]}}[Se](){let e=this[x],t=e||this[Cn],n=!1,r=!1;if(!this[b]&&t[b]?(this[b]=!0,n=!0):this[b]&&!t[b]&&(this[b]=!1,r=!0),this[h]=t[h]||t,this[y]=t[y]||t[Me],e){this[S]!==H.documentFragmentNode&&(this[at]=e[at]);let t=this[C];e[Gn]&&t!==`STYLE`&&(this[Gn]=e[Gn]),e[pt]&&t!==`TEXTAREA`&&(this[pt]=e[pt]),e[Re]&&t!==`FORM`&&(this[Re]=e[Re]),e[ot]&&t!==`SELECT`&&(this[ot]=e[ot])}let i=this[A].slice();for(let e=0,t=i.length;e<t;e++)i[e][x]=this,i[e][Se]();this[ut]&&this[ut][Se](),n?this[we]():r&&this[Te]()}[Ce](){this[S]!==H.documentFragmentNode&&(this[at]=null);let e=this[C];e!==`STYLE`&&(this[Gn]=null),e!==`TEXTAREA`&&(this[pt]=null),e!==`FORM`&&(this[Re]=null),e!==`SELECT`&&(this[ot]=null),this[b]&&(this[b]=!1,this[Te]());let t=this[A].slice();for(let e=0,n=t.length;e<n;e++)t[e][Se]();this[ut]&&this[ut][Ce]()}[we](){this[ut]&&this[ut][we]()}[Te](){this[h][fe]===this&&(this[h][qn](),this[h][fe]=null),this[ut]&&this[ut][Te]()}[Ne](){super[Ne](),this[b]=!1;for(let e=0,t=this[A].length;e<t;e++)this[A][e][Ne]();this[Ze]=[],this[x]=null,this[at]=null,this[Gn]=null,this[pt]=null,this[Re]=null,this[ot]=null,this[Ze]=[],this[A]=[],this[Xn]=[],this[ye]=null,this[Sr]=null,this[qn]()}compareDocumentPosition(t){if(this===t)return 0;let n=t,r=this[or]||this,i=null,a=null;if(n[S]===H.attributeNode&&(i=n,n=i[Qe]),r[S]===H.attributeNode&&(a=r,r=a[Qe],i!==null&&n!==null&&r===n))for(let t of r[kt][k].values()){if(Y.isEqualNode(t,i))return e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_PRECEDING;if(Y.isEqualNode(t,a))return e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_FOLLOWING}let o=[],s=r;for(;s;){if(s===n)return e.DOCUMENT_POSITION_CONTAINS|e.DOCUMENT_POSITION_PRECEDING;o.push(s),s=s[x]}let c=[],l=n;for(;l;){if(l===r)return e.DOCUMENT_POSITION_CONTAINED_BY|e.DOCUMENT_POSITION_FOLLOWING;c.push(l),l=l[x]}let u=(e,t)=>e[e.length-1-t],d=u(o,0);if(!d||d!==u(c,0))return e.DOCUMENT_POSITION_DISCONNECTED|e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_FOLLOWING;let f=0,ee=Math.min(o.length,c.length);for(let e=0;e<ee&&u(o,e)===u(c,e);++e)f=e;let te=u(o,f),ne=0,re=-1,ie=-1,ae=u(o,f+1),oe=u(c,f+1),se=e=>{for(let t of e){if(se(t[A]),t===ae?re=ne:t===oe&&(ie=ne),re!==-1&&ie!==-1)break;ne++}};return se(te[A]),ie<re?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING}normalize(){let e=this.firstChild;for(;e;){if(Y.isTextNode(e)){for(;Y.isTextNode(e.nextSibling);)e.data+=e.nextSibling.data,e.nextSibling.remove();if(!e.data.length){let t=e;e=e.nextSibling,t.remove();continue}}else e.normalize();e=e.nextSibling}}isSameNode(e){return this===e}};gd.prototype.ELEMENT_NODE=H.elementNode,gd.prototype.ATTRIBUTE_NODE=H.attributeNode,gd.prototype.TEXT_NODE=H.textNode,gd.prototype.CDATA_SECTION_NODE=H.cdataSectionNode,gd.prototype.COMMENT_NODE=H.commentNode,gd.prototype.DOCUMENT_NODE=H.documentNode,gd.prototype.DOCUMENT_TYPE_NODE=H.documentTypeNode,gd.prototype.DOCUMENT_FRAGMENT_NODE=H.documentFragmentNode,gd.prototype.PROCESSING_INSTRUCTION_NODE=H.processingInstructionNode,gd.prototype.DOCUMENT_POSITION_CONTAINED_BY=fd.containedBy,gd.prototype.DOCUMENT_POSITION_CONTAINS=fd.contains,gd.prototype.DOCUMENT_POSITION_DISCONNECTED=fd.disconnect,gd.prototype.DOCUMENT_POSITION_FOLLOWING=fd.following,gd.prototype.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=fd.implementationSpecific,gd.prototype.DOCUMENT_POSITION_PRECEDING=fd.preceding;var _d=class extends gd{[S]=H.attributeNode;[w]=null;[T]=null;[O]=null;[wt]=null;[_]=null;[Bt]=!0;[Qe]=null;get specified(){return this[Bt]}get ownerElement(){return this[Qe]}get value(){return this[_]}set value(e){this[_]=e}get name(){return this[T]||``}get localName(){return this[O]||``}get prefix(){return this[wt]}get textContent(){return this[_]||``}get namespaceURI(){return this[w]}[Pn](e=!1){let t=super[Pn](e);return t[w]=this[w],t[T]=this[T],t[O]=this[O],t[wt]=this[wt],t[_]=this[_],t[Bt]=this[Bt],t}},vd=class{static appendData(e,t){e.data+=t}static deleteData(e,t,n){e.data=e.data.substring(0,t)+e.data.substring(t+n)}static insertData(e,t,n){e.data=e.data.substring(0,t)+n+e.data.substring(t)}static replaceData(e,t,n,r){e.data=e.data.substring(0,t)+r+e.data.substring(t+n)}static substringData(e,t,n){return e.data.substring(t,t+n)}},yd=class{static previousElementSibling(e){let t=e.previousSibling;for(;t&&t[S]!==H.elementNode;)t=t.previousSibling;return t}static nextElementSibling(e){let t=e.nextSibling;for(;t&&t[S]!==H.elementNode;)t=t.nextSibling;return t}},bd=class{static remove(e){e[x]&&e[x].removeChild(e)}static replaceWith(e,...t){let n=e[x];if(n){for(let r of t)r instanceof gd?n.insertBefore(r,e):n.insertBefore(n[h].createTextNode(String(r)),e);n.removeChild(e)}}static before(e,...t){let n=e[x];if(n)for(let r of t)r instanceof gd?n.insertBefore(r,e):n.insertBefore(n[h].createTextNode(String(r)),e)}static after(e,...t){let n=e[x];if(!n)return;let r=e.nextSibling;for(let e of t){let t=e instanceof gd?e:n[h].createTextNode(String(e));r?n.insertBefore(t,r):n.appendChild(t)}}},xd=class extends gd{[je]=``;constructor(e){super(),this[je]=e===void 0?``:String(e)}get length(){return this[je].length}get data(){return this[je]}set data(e){let t=this[je];this[je]=String(e),this[ht](new nd({target:this,type:md.characterData,oldValue:t}))}get textContent(){return this[je]}set textContent(e){this.data=e}get nodeValue(){return this[je]}set nodeValue(e){this.textContent=e}get previousElementSibling(){return yd.previousElementSibling(this)}get nextElementSibling(){return yd.nextElementSibling(this)}appendData(e){vd.appendData(this,e)}deleteData(e,t){vd.deleteData(this,e,t)}insertData(e,t){vd.insertData(this,e,t)}replaceData(e,t,n){vd.replaceData(this,e,t,n)}substringData(e,t){return vd.substringData(this,e,t)}remove(){bd.remove(this)}replaceWith(...e){bd.replaceWith(this,...e)}before(...e){bd.before(this,...e)}after(...e){bd.after(this,...e)}[Pn](e=!1){let t=super[Pn](e);return t[je]=this[je],t}},Sd=class extends gd{[S]=H.documentTypeNode;[T]=``;[Wt]=``;[Gt]=``;get name(){return this[T]}get publicId(){return this[Wt]}get systemId(){return this[Gt]}get nodeName(){return this.name}toString(){return`[object DocumentType]`}[Pn](e=!1){let t=super[Pn](e);return t[T]=this[T],t[Wt]=this[Wt],t[Gt]=this[Gt],t}},Cd;(function(e){e.loading=`loading`,e.interactive=`interactive`,e.complete=`complete`})(Cd||={});var wd=Cd,Td=class{#e;constructor(e){this.#e=new Ps(e)}waitUntilComplete(){return this.#e.waitUntilComplete()}startTask(){return this.#e.startTask()}endTask(e){this.#e.endTask(e)}destroy(){return this.#e.destroy()}},Ed=class e{[E]=0;[D]=0;[v]=0;[m]=0;constructor(e,t,n,r){this[E]=e==null?0:Number(e),this[D]=t==null?0:Number(t),this[v]=n==null?0:Number(n),this[m]=r==null?0:Number(r)}get x(){return this[E]}get y(){return this[D]}get width(){return this[v]}get height(){return this[m]}get top(){return Math.min(this[D],this[D]+this[m])}get right(){return Math.max(this[E],this[E]+this[v])}get bottom(){return Math.max(this[D],this[D]+this[m])}get left(){return Math.min(this[E],this[E]+this[v])}toJSON(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}}static fromRect(t){return new e(t.x,t.y,t.width,t.height)}},Dd=class e extends Ed{set x(e){this[E]=e}get x(){return this[E]}set y(e){this[D]=e}get y(){return this[D]}set width(e){this[v]=e}get width(){return this[v]}set height(e){this[m]=e}get height(){return this[m]}static fromRect(t){return new e(t.x,t.y,t.width,t.height)}};const Od=/[\t\f\n\r ]+/;var kd=class e{[Qe];[lr];[j]={items:[],attributeValue:``};[Vo];[or];constructor(t,n,r,i){if(t!==M)throw TypeError(`Illegal constructor`);this[Qe]=n,this[lr]=r,this[Vo]=i||[];let a=new Vc(this,[e]),o=new Proxy(this,{get:(e,t)=>{if(t===`length`)return e[cr]().length;if(t in e||typeof t==`symbol`)return a.bind(t),e[t];let n=Number(t);if(!isNaN(n))return e[cr]()[n]},set(e,t,n){if(a.bind(t),typeof t==`symbol`)return e[t]=n,!0;let r=Number(t);return isNaN(r)&&(e[t]=n),!0},deleteProperty(e,t){if(typeof t==`symbol`)return delete e[t],!0;let n=Number(t);return isNaN(n)&&delete e[t],!0},ownKeys(e){return Object.keys(e[cr]())},has(e,t){if(t in e)return!0;if(typeof t==`symbol`)return!1;let n=Number(t);return!isNaN(n)&&n>=0&&n<e[cr]().length},defineProperty(e,t,n){return a.preventBinding(t),t in e&&(Object.defineProperty(e,t,n),!0)},getOwnPropertyDescriptor(e,t){if(t in e||typeof t==`symbol`)return;let n=Number(t),r=e[cr]();if(!isNaN(n)&&r[n])return{value:r[n],writable:!1,enumerable:!0,configurable:!0}}});return this[or]=o,o}get length(){return this[cr]().length}set value(e){this[Qe].setAttribute(this[lr],e)}get value(){return this[Qe].getAttribute(this[lr])||``}[Symbol.iterator](){return this[cr]().values()}item(e){let t=this[cr]();return typeof e==`number`?t[e]?t[e]:null:(e=Number(e),e=isNaN(e)?0:e,t[e]?t[e]:null)}replace(e,t){let n=this[cr]().slice(),r=n.indexOf(e);return r!==-1&&(n[r]=t,this[Qe].setAttribute(this[lr],n.join(` `)),!0)}supports(e){return this[Vo].includes(e)}values(){return this[cr]().values()}entries(){return this[cr]().entries()}forEach(e,t){let n=t??this[Qe][y],r=this[cr](),i=this[or]??this;for(let t=0,a=r.length;t<a;t++)e.call(n,r[t],t,i)}keys(){return this[cr]().keys()}add(...e){let t=this[cr]().slice(),n=new Set(t);for(let r of e)n.has(r)||(n.add(r),t.push(r));this[Qe].setAttribute(this[lr],t.join(` `))}remove(...e){let t=this[cr](),n=new Set(e),r=t.filter(e=>!n.has(e));this[Qe].setAttribute(this[lr],r.join(` `))}contains(e){return this[cr]().includes(e)}toggle(e,t){let n;return n=t===void 0?!this.contains(e):t,n?(this.add(e),!0):(this.remove(e),!1)}[cr](){let e=this[Qe].getAttribute(this[lr])??``,t=this[j];if(t.attributeValue===e)return t.items;let n=[],r=e.trim();if(r)for(let e of r.split(Od))n.includes(e)||n.push(e);return t.attributeValue=e,t.items=n,n}toString(){return this.value||``}},Ad=class e{[er];constructor(t,n){if(t!==M)throw TypeError(`Illegal constructor`);this[er]=n;let r=new Vc(this,this.constructor===e?[e]:[this.constructor,e]);return new Proxy(this,{get:(e,t)=>{if(t===`length`)return n().length;if(t in e||typeof t==`symbol`)return r.bind(t),e[t];let i=Number(t);return isNaN(i)?e.namedItem(t)||void 0:n()[i]},set(e,t,n){if(r.bind(t),typeof t==`symbol`)return e[t]=n,!0;let i=Number(t);return isNaN(i)&&(e[t]=n),!0},deleteProperty(e,t){if(typeof t==`symbol`)return delete e[t],!0;let n=Number(t);return isNaN(n)&&delete e[t],!0},ownKeys(){let e=[],t=n();for(let n=0;n<t.length;n++){let r=t[n],i=r.getAttribute(`id`)||r.getAttribute(`name`);e.push(String(n)),i&&e.push(i)}return e},has(e,t){if(t in e)return!0;let r=n(),i=Number(t);if(!isNaN(i)&&i>=0&&i<r.length)return!0;t=String(t);for(let e=0;e<r.length;e++){let n=r[e],i=n.getAttribute(`id`)||n.getAttribute(`name`);if(i&&i===t)return!0}return!1},defineProperty(e,t,n){return r.preventBinding(t),t in e&&(Object.defineProperty(e,t,n),!0)},getOwnPropertyDescriptor(e,t){if(t in e||typeof t==`symbol`)return;let r=n(),i=Number(t);if(!isNaN(i)&&i>=0&&i<r.length)return{value:r[i],writable:!1,enumerable:!0,configurable:!0};for(let e=0;e<r.length;e++){let n=r[e],i=n.getAttribute(`id`)||n.getAttribute(`name`);if(i&&i===t)return{value:n,writable:!1,enumerable:!0,configurable:!0}}}})}get length(){return this[er]().length}get[Symbol.toStringTag](){return this.constructor.name}toLocaleString(){return`[object ${this.constructor.name}]`}toString(){return`[object ${this.constructor.name}]`}item(e){let t=this[er]();return e>=0&&t[e]?t[e]:null}[Symbol.iterator](){return this[er]()[Symbol.iterator]()}namedItem(e){let t=this[er]();e=String(e);for(let n of t)if(n.getAttribute(`id`)===e||n.getAttribute(`name`)===e)return n;return null}},jd=class{static append(e,...t){for(let n of t)n instanceof gd?e.appendChild(n):e.appendChild(e[h].createTextNode(String(n)))}static prepend(e,...t){let n=e.firstChild;for(let r of t)r instanceof gd?e.insertBefore(r,n):e.insertBefore(e[h].createTextNode(String(r)),n)}static replaceChildren(e,...t){let n=e[A];for(;n.length;)e.removeChild(n[0]);this.append(e,...t)}static getElementsByClassName(e,t){return new Ad(M,()=>q.querySelectorAll(e,`.${t.replace(/\s+/gm,`.`)}`)[k])}static getElementsByTagName(e,t){let n=t.toUpperCase(),r=t===`*`,i=(e,t)=>{let a=[];for(let o of e[Xn]){(r||o[C].toUpperCase()===n)&&a.push(o),o[Zn].push(t);for(let e of i(o,t))a.push(e)}return a};return new Ad(M,()=>{let n=e[j].elementsByTagName,r=n.get(t);if(r?.result){let e=r.result.deref();if(e)return e}let a={result:null},o=i(e,a);return a.result=new WeakRef(o),n.set(t,a),o})}static getElementsByTagNameNS(e,t,n){let r=t===Il.html&&e[h][De]===`text/html`?n.toUpperCase():n,i=n===`*`,a=(e,n)=>{let o=[];for(let s of e[Xn]){(i||s[C]===r)&&s[w]===t&&o.push(s),s[Zn].push(n);for(let e of a(s,n))o.push(e)}return o};return new Ad(M,()=>{let t=e[j].elementsByTagNameNS,r=t.get(n);if(r?.result){let e=r.result.deref();if(e)return e}let i={result:null},o=a(e,i);return i.result=new WeakRef(o),t.set(n,i),o})}static getElementByTagName(e,t){let n=t.toUpperCase(),r=(e,t)=>{for(let i of e[Xn]){if(i[Zn].push(t),i[C]===n)return i;let e=r(i,t);if(e)return e}return null},i=e[j].elementByTagName,a=i.get(t);if(a?.result){let e=a.result.deref();if(e)return e}let o={result:null},s=r(e,o);return o.result=s?new WeakRef(s):{deref:()=>null},i.set(t,o),s}static getElementById(e,t){if(t=String(t),e[S]===gd.DOCUMENT_NODE){let n=e[gr].get(t);return n&&n.elements.length>0?n.elements[0]:null}let n=(e,r)=>{for(let i of e[Xn]){if(i[Zn].push(r),i.getAttribute(`id`)===t)return i;let e=n(i,r);if(e)return e}return null},r=e[j].elementById,i=r.get(t);if(i?.result){let e=i.result.deref();if(e)return e}let a={result:null},o=n(e,a);return a.result=o?new WeakRef(o):{deref:()=>null},r.set(t,a),o}},Md=class extends Array{constructor(e){if(super(),e!==1&&e!==M)throw TypeError(`Illegal constructor`)}item(e){return this[e]??null}},Nd=class{[ar]=new Map;[Je]=new Map;[k]=new Map;constructor(e){this[Qe]=e}get length(){return this[k].size}get[Symbol.toStringTag](){return`NamedNodeMap`}toString(){return`[object NamedNodeMap]`}[Symbol.iterator](){return this[k].values()}item(e){let t=Array.from(this[k].values());return e>=0&&t[e]?t[e]:null}getNamedItem(e){return e=String(e),this[Qe][w]===Il.html&&this[Qe][h][De]===`text/html`?this[Je].get(Vl.asciiLowerCase(e))?.[0]||null:this[Je].get(e)?.[0]||null}getNamedItemNS(e,t){let n=this[ar].get(`${e||``}:${t}`);return n&&(!n[wt]||n[w])?n:null}setNamedItem(e){return this[sr](e)}setNamedItemNS(e){return this[sr](e)}removeNamedItem(e){let t=this.getNamedItem(e);if(!t)throw new this[Qe][y].DOMException(`Failed to execute 'removeNamedItem' on 'NamedNodeMap': No item with name '${e}' was found.`,V.notFoundError);return this[Un](t),t}removeNamedItemNS(e,t){let n=this.getNamedItemNS(e,t);if(!n)throw new this[Qe][y].DOMException(`Failed to execute 'removeNamedItemNS' on 'NamedNodeMap': No item with name '${t}' in namespace '${e}' was found.`,V.notFoundError);return this[Un](n),n}[sr](e,t=!1){if(e[Qe]!==null&&e[Qe]!==this[Qe])throw new this[Qe][y].DOMException(`The attribute is in use.`,V.inUseAttributeError);e[Qe]=this[Qe];let n=this.getNamedItemNS(e[w],e[O])||null,r=this[Je].get(e[T]);if(n===e)return e;if(this[ar].set(`${e[w]||``}:${e[O]}`,e),this[k].set(`${e[w]||``}:${e[T]}`,e),!r?.length)this[Je].set(e[T],[e]);else{let t=r.indexOf(n);t!==-1&&r.splice(t,1),r.push(e)}return t||this[Qe][Jn](e,n),n}[Un](e,t=!1){e[Qe]=null,this[ar].delete(`${e[w]||``}:${e[O]}`),this[k].delete(`${e[w]||``}:${e[T]}`);let n=this[Je].get(e[T]);if(n?.length){let t=n.indexOf(e);t!==-1&&n.splice(t,1),n.length||this[Je].delete(e[T])}t||this[Qe][Yn](e)}},Pd=class{static createProxy(e){let t=new Vc(this,[Nd]);return new Proxy(e,{get:(n,r)=>{if(r===`length`)return e[k].size;if(r in n||typeof r==`symbol`)return t.bind(r),n[r];let i=Number(r);return isNaN(i)?n.getNamedItem(r)||void 0:n.item(i)},set(e,n,r){if(t.bind(n),typeof n==`symbol`)return e[n]=r,!0;let i=Number(n);return isNaN(i)&&(e[n]=r),!0},deleteProperty(e,t){if(typeof t==`symbol`)return delete e[t],!0;let n=Number(t);return isNaN(n)&&delete e[t],!0},ownKeys(){let t=Array.from(e[k].keys());for(let n=0,r=e[k].size;n<r;n++)t.push(String(n));return t},has(t,n){if(typeof n==`symbol`)return!1;if(n in t||e[k].has(n))return!0;let r=Number(n);return!isNaN(r)&&r>=0&&r<e[k].size},defineProperty(e,n,r){return t.preventBinding(n),n in e&&(Object.defineProperty(e,n,r),!0)},getOwnPropertyDescriptor(t,n){if(n in t||typeof n==`symbol`)return;let r=Number(n);if(!isNaN(r)){if(r>=0){let e=t.item(r);if(e)return{value:e,writable:!1,enumerable:!0,configurable:!0}}return}let i=e[k].get(n);if(i)return{value:i,writable:!1,enumerable:!0,configurable:!0}}})}},Fd;(function(e){e.rawText=`rawText`,e.noSelfDescendants=`noSelfDescendants`,e.noFirstLevelSelfDescendants=`noFirstLevelSelfDescendants`,e.noForbiddenFirstLevelDescendants=`noForbiddenFirstLevelDescendants`,e.noDescendants=`noDescendants`,e.permittedDescendants=`permittedDescendants`,e.textOrComments=`textOrComments`,e.anyDescendants=`anyDescendants`})(Fd||={});var X=Fd,Id={a:{className:`HTMLAnchorElement`,contentModel:X.noSelfDescendants},abbr:{className:`HTMLElement`,contentModel:X.anyDescendants},address:{className:`HTMLElement`,contentModel:X.anyDescendants},area:{className:`HTMLAreaElement`,contentModel:X.noDescendants},article:{className:`HTMLElement`,contentModel:X.anyDescendants},aside:{className:`HTMLElement`,contentModel:X.anyDescendants},audio:{className:`HTMLAudioElement`,contentModel:X.anyDescendants},b:{className:`HTMLElement`,contentModel:X.anyDescendants},base:{className:`HTMLBaseElement`,contentModel:X.noDescendants},bdi:{className:`HTMLElement`,contentModel:X.anyDescendants},bdo:{className:`HTMLElement`,contentModel:X.anyDescendants},body:{className:`HTMLBodyElement`,contentModel:X.anyDescendants},template:{className:`HTMLTemplateElement`,contentModel:X.anyDescendants},form:{className:`HTMLFormElement`,contentModel:X.anyDescendants},input:{className:`HTMLInputElement`,contentModel:X.noDescendants},textarea:{className:`HTMLTextAreaElement`,contentModel:X.anyDescendants},script:{className:`HTMLScriptElement`,contentModel:X.rawText},img:{className:`HTMLImageElement`,contentModel:X.noDescendants},link:{className:`HTMLLinkElement`,contentModel:X.noDescendants},style:{className:`HTMLStyleElement`,contentModel:X.rawText},label:{className:`HTMLLabelElement`,contentModel:X.anyDescendants},slot:{className:`HTMLSlotElement`,contentModel:X.anyDescendants},meta:{className:`HTMLMetaElement`,contentModel:X.noDescendants},blockquote:{className:`HTMLQuoteElement`,contentModel:X.anyDescendants},br:{className:`HTMLBRElement`,contentModel:X.noDescendants},button:{className:`HTMLButtonElement`,contentModel:X.anyDescendants},canvas:{className:`HTMLCanvasElement`,contentModel:X.anyDescendants},caption:{className:`HTMLTableCaptionElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`table`,`tbody`,`thead`,`tfoot`,`tr`,`td`,`th`,`col`,`colgroup`],permittedParents:[`table`]},cite:{className:`HTMLElement`,contentModel:X.anyDescendants},code:{className:`HTMLElement`,contentModel:X.anyDescendants},col:{className:`HTMLTableColElement`,contentModel:X.noDescendants,permittedParents:[`colgroup`]},colgroup:{className:`HTMLTableColElement`,contentModel:X.permittedDescendants,permittedDescendants:[`col`]},data:{className:`HTMLDataElement`,contentModel:X.anyDescendants},datalist:{className:`HTMLDataListElement`,contentModel:X.anyDescendants},dd:{className:`HTMLElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`dt`,`dd`]},del:{className:`HTMLModElement`,contentModel:X.anyDescendants},details:{className:`HTMLDetailsElement`,contentModel:X.anyDescendants},dfn:{className:`HTMLElement`,contentModel:X.anyDescendants},dialog:{className:`HTMLDialogElement`,contentModel:X.anyDescendants},div:{className:`HTMLDivElement`,contentModel:X.anyDescendants},dl:{className:`HTMLDListElement`,contentModel:X.anyDescendants},dt:{className:`HTMLElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`dt`,`dd`]},em:{className:`HTMLElement`,contentModel:X.anyDescendants},embed:{className:`HTMLEmbedElement`,contentModel:X.noDescendants},fieldset:{className:`HTMLFieldSetElement`,contentModel:X.anyDescendants},figcaption:{className:`HTMLElement`,contentModel:X.anyDescendants},figure:{className:`HTMLElement`,contentModel:X.anyDescendants},footer:{className:`HTMLElement`,contentModel:X.anyDescendants},h1:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h2:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h3:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h4:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h5:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h6:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},head:{className:`HTMLHeadElement`,contentModel:X.anyDescendants},header:{className:`HTMLElement`,contentModel:X.anyDescendants},hgroup:{className:`HTMLElement`,contentModel:X.anyDescendants},hr:{className:`HTMLHRElement`,contentModel:X.noDescendants},html:{className:`HTMLHtmlElement`,contentModel:X.anyDescendants},i:{className:`HTMLElement`,contentModel:X.anyDescendants},iframe:{className:`HTMLIFrameElement`,contentModel:X.anyDescendants},ins:{className:`HTMLModElement`,contentModel:X.anyDescendants},kbd:{className:`HTMLElement`,contentModel:X.anyDescendants},legend:{className:`HTMLLegendElement`,contentModel:X.anyDescendants},li:{className:`HTMLLIElement`,contentModel:X.noFirstLevelSelfDescendants},main:{className:`HTMLElement`,contentModel:X.anyDescendants},map:{className:`HTMLMapElement`,contentModel:X.anyDescendants},mark:{className:`HTMLElement`,contentModel:X.anyDescendants},menu:{className:`HTMLMenuElement`,contentModel:X.anyDescendants},meter:{className:`HTMLMeterElement`,contentModel:X.anyDescendants},nav:{className:`HTMLElement`,contentModel:X.anyDescendants},noscript:{className:`HTMLElement`,contentModel:X.anyDescendants},object:{className:`HTMLObjectElement`,contentModel:X.anyDescendants},ol:{className:`HTMLOListElement`,contentModel:X.anyDescendants},optgroup:{className:`HTMLOptGroupElement`,contentModel:X.noFirstLevelSelfDescendants},option:{className:`HTMLOptionElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`option`,`optgroup`]},output:{className:`HTMLOutputElement`,contentModel:X.anyDescendants},p:{className:`HTMLParagraphElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:`address.article.aside.blockquote.details.dialog.div.dl.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.hr.main.menu.nav.ol.p.pre.section.table.ul`.split(`.`)},param:{className:`HTMLParamElement`,contentModel:X.noDescendants},picture:{className:`HTMLPictureElement`,contentModel:X.anyDescendants},pre:{className:`HTMLPreElement`,contentModel:X.anyDescendants},progress:{className:`HTMLProgressElement`,contentModel:X.anyDescendants},q:{className:`HTMLQuoteElement`,contentModel:X.anyDescendants},rb:{className:`HTMLElement`,contentModel:X.anyDescendants},rp:{className:`HTMLElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`rp`,`rt`]},rt:{className:`HTMLElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`rp`,`rt`]},rtc:{className:`HTMLElement`,contentModel:X.anyDescendants},ruby:{className:`HTMLElement`,contentModel:X.anyDescendants},s:{className:`HTMLElement`,contentModel:X.anyDescendants},samp:{className:`HTMLElement`,contentModel:X.anyDescendants},section:{className:`HTMLElement`,contentModel:X.anyDescendants},select:{className:`HTMLSelectElement`,contentModel:X.anyDescendants},small:{className:`HTMLElement`,contentModel:X.anyDescendants},source:{className:`HTMLSourceElement`,contentModel:X.noDescendants},span:{className:`HTMLSpanElement`,contentModel:X.anyDescendants},strong:{className:`HTMLElement`,contentModel:X.anyDescendants},sub:{className:`HTMLElement`,contentModel:X.anyDescendants},summary:{className:`HTMLElement`,contentModel:X.anyDescendants},sup:{className:`HTMLElement`,contentModel:X.anyDescendants},table:{className:`HTMLTableElement`,contentModel:X.permittedDescendants,permittedDescendants:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`],moveForbiddenDescendant:{exclude:[]}},tbody:{className:`HTMLTableSectionElement`,contentModel:X.permittedDescendants,permittedDescendants:[`tr`],permittedParents:[`table`],moveForbiddenDescendant:{exclude:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`]}},td:{className:`HTMLTableCellElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`td`,`th`,`tr`,`tbody`,`tfoot`,`thead`],permittedParents:[`tr`]},tfoot:{className:`HTMLTableSectionElement`,contentModel:X.permittedDescendants,permittedDescendants:[`tr`],permittedParents:[`table`],moveForbiddenDescendant:{exclude:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`]}},th:{className:`HTMLTableCellElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`td`,`th`,`tr`,`tbody`,`tfoot`,`thead`],permittedParents:[`tr`]},thead:{className:`HTMLTableSectionElement`,contentModel:X.permittedDescendants,permittedDescendants:[`tr`],permittedParents:[`table`],moveForbiddenDescendant:{exclude:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`]}},time:{className:`HTMLTimeElement`,contentModel:X.anyDescendants},title:{className:`HTMLTitleElement`,contentModel:X.anyDescendants},tr:{className:`HTMLTableRowElement`,contentModel:X.permittedDescendants,permittedDescendants:[`td`,`th`],permittedParents:[`tbody`,`tfoot`,`thead`],addPermittedParent:`tbody`,moveForbiddenDescendant:{exclude:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`,`tr`]}},track:{className:`HTMLTrackElement`,contentModel:X.noDescendants},u:{className:`HTMLElement`,contentModel:X.anyDescendants},ul:{className:`HTMLUListElement`,contentModel:X.anyDescendants},var:{className:`HTMLElement`,contentModel:X.anyDescendants},video:{className:`HTMLVideoElement`,contentModel:X.anyDescendants},wbr:{className:`HTMLElement`,contentModel:X.noDescendants}};const Ld=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Rd=String.fromCodePoint??(e=>{let t=``;return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t});function zd(e){return e>=55296&&e<=57343||e>1114111?65533:Ld.get(e)??e}function Bd(e){let t=typeof atob==`function`?atob(e):typeof Buffer.from==`function`?Buffer.from(e,`base64`).toString(`binary`):new Buffer(e,`base64`).toString(`binary`),n=t.length&-2,r=new Uint16Array(n/2);for(let e=0,i=0;e<n;e+=2){let n=t.charCodeAt(e),a=t.charCodeAt(e+1);r[i++]=n|a<<8}return r}const Vd=Bd(`QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg`),Hd=Bd(`AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg`);var Ud;(function(e){e[e.VALUE_LENGTH=49152]=`VALUE_LENGTH`,e[e.FLAG13=8192]=`FLAG13`,e[e.BRANCH_LENGTH=8064]=`BRANCH_LENGTH`,e[e.JUMP_TABLE=127]=`JUMP_TABLE`})(Ud||={});var Wd;(function(e){e[e.NUM=35]=`NUM`,e[e.SEMI=59]=`SEMI`,e[e.EQUALS=61]=`EQUALS`,e[e.ZERO=48]=`ZERO`,e[e.NINE=57]=`NINE`,e[e.LOWER_A=97]=`LOWER_A`,e[e.LOWER_F=102]=`LOWER_F`,e[e.LOWER_X=120]=`LOWER_X`,e[e.LOWER_Z=122]=`LOWER_Z`,e[e.UPPER_A=65]=`UPPER_A`,e[e.UPPER_F=70]=`UPPER_F`,e[e.UPPER_Z=90]=`UPPER_Z`})(Wd||={});function Gd(e){return e>=Wd.ZERO&&e<=Wd.NINE}function Kd(e){return e>=Wd.UPPER_A&&e<=Wd.UPPER_F||e>=Wd.LOWER_A&&e<=Wd.LOWER_F}function qd(e){return e>=Wd.UPPER_A&&e<=Wd.UPPER_Z||e>=Wd.LOWER_A&&e<=Wd.LOWER_Z||Gd(e)}function Jd(e){return e===Wd.EQUALS||qd(e)}var Yd;(function(e){e[e.EntityStart=0]=`EntityStart`,e[e.NumericStart=1]=`NumericStart`,e[e.NumericDecimal=2]=`NumericDecimal`,e[e.NumericHex=3]=`NumericHex`,e[e.NamedEntity=4]=`NamedEntity`})(Yd||={});var Xd;(function(e){e[e.Legacy=0]=`Legacy`,e[e.Strict=1]=`Strict`,e[e.Attribute=2]=`Attribute`})(Xd||={});var Zd=class{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=Yd.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Xd.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=Yd.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case Yd.EntityStart:return e.charCodeAt(t)===Wd.NUM?(this.state=Yd.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=Yd.NamedEntity,this.stateNamedEntity(e,t));case Yd.NumericStart:return this.stateNumericStart(e,t);case Yd.NumericDecimal:return this.stateNumericDecimal(e,t);case Yd.NumericHex:return this.stateNumericHex(e,t);case Yd.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(e.charCodeAt(t)|32)===Wd.LOWER_X?(this.state=Yd.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=Yd.NumericDecimal,this.stateNumericDecimal(e,t))}stateNumericHex(e,t){for(;t<e.length;){let n=e.charCodeAt(t);if(Gd(n)||Kd(n)){let e=n<=Wd.NINE?n-Wd.ZERO:(n|32)-Wd.LOWER_A+10;this.result=this.result*16+e,this.consumed++,t++}else return this.emitNumericEntity(n,3)}return-1}stateNumericDecimal(e,t){for(;t<e.length;){let n=e.charCodeAt(t);if(Gd(n))this.result=this.result*10+(n-Wd.ZERO),this.consumed++,t++;else return this.emitNumericEntity(n,2)}return-1}emitNumericEntity(e,t){var n;if(this.consumed<=t)return(n=this.errors)==null||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Wd.SEMI)this.consumed+=1;else if(this.decodeMode===Xd.Strict)return 0;return this.emitCodePoint(zd(this.result),this.consumed),this.errors&&(e!==Wd.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,t){let{decodeTree:n}=this,r=n[this.treeIndex],i=(r&Ud.VALUE_LENGTH)>>14;for(;t<e.length;){if(i===0&&(r&Ud.FLAG13)!==0){let a=(r&Ud.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let n=r&Ud.JUMP_TABLE;if(e.charCodeAt(t)!==n)return this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}for(;this.runConsumed<a;){if(t>=e.length)return-1;let r=this.runConsumed-1,i=n[this.treeIndex+1+(r>>1)],a=r%2==0?i&255:i>>8&255;if(e.charCodeAt(t)!==a)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(a>>1),r=n[this.treeIndex],i=(r&Ud.VALUE_LENGTH)>>14}if(t>=e.length)break;let a=e.charCodeAt(t);if(a===Wd.SEMI&&i!==0&&(r&Ud.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=$d(n,r,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===Xd.Attribute&&(i===0||Jd(a))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&Ud.VALUE_LENGTH)>>14,i!==0){if(a===Wd.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Xd.Strict&&(r&Ud.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:n}=this,r=(n[t]&Ud.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(e=this.errors)==null||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){let{decodeTree:r}=this;return this.emitCodePoint(t===1?r[e]&~(Ud.VALUE_LENGTH|Ud.FLAG13):r[e+1],n),t===3&&this.emitCodePoint(r[e+2],n),n}end(){var e;switch(this.state){case Yd.NamedEntity:return this.result!==0&&(this.decodeMode!==Xd.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Yd.NumericDecimal:return this.emitNumericEntity(0,2);case Yd.NumericHex:return this.emitNumericEntity(0,3);case Yd.NumericStart:return(e=this.errors)==null||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Yd.EntityStart:return 0}}};function Qd(e){let t=``,n=new Zd(e,e=>t+=Rd(e));return function(e,r){let i=0,a=0;for(;(a=e.indexOf(`&`,a))>=0;){t+=e.slice(i,a),n.startEntity(r);let o=n.write(e,a+1);if(o<0){i=a+n.end();break}i=a+o,a=o===0?i+1:i}let o=t+e.slice(i);return t=``,o}}function $d(e,t,n,r){let i=(t&Ud.BRANCH_LENGTH)>>7,a=t&Ud.JUMP_TABLE;if(i===0)return a!==0&&r===a?n:-1;if(a){let t=r-a;return t<0||t>=i?-1:e[n+t]-1}let o=i+1>>1,s=0,c=i-1;for(;s<=c;){let t=s+c>>>1,i=e[n+(t>>1)]>>(t&1)*8&255;if(i<r)s=t+1;else if(i>r)c=t-1;else return e[n+o+t]}return-1}const ef=Qd(Vd),tf=Qd(Hd);function nf(e,t=Xd.Legacy){return ef(e,t)}function rf(e){return ef(e,Xd.Attribute)}function af(e){return tf(e,Xd.Strict)}String.prototype.codePointAt;function of(e,t){return function(n){let r,i=0,a=``;for(;r=e.exec(n);)i!==r.index&&(a+=n.substring(i,r.index)),a+=t.get(r[0].charCodeAt(0)),i=r.index+1;return a+n.substring(i)}}const sf=of(/[&<>\u00A0]/g,new Map([[38,`&`],[60,`<`],[62,`>`],[160,` `]])),cf=/[&"<>\t\n\r]/g,lf=/[&"]/g,uf=/&(?:nbsp|lt|gt|amp);/g,df={"&":`&`,'"':`"`,"<":`<`,">":`>`," ":`	`,"\n":`
`,"\r":`
`},ff={"&":`&`,'"':`"`},pf={" ":`\xA0`,"<":`<`,">":`>`,"&":`&`};var mf=class{static encodeXMLAttributeValue(e){return e===null?``:e.replace(cf,e=>df[e])}static decodeXMLAttributeValue(e){return e===null?``:af(e)}static encodeHTMLAttributeValue(e){return e===null?``:e.replace(lf,e=>ff[e])}static decodeHTMLAttributeValue(e){return e===null?``:rf(e)}static encodeTextContent(e){return e===null?``:sf(e)}static decodeTextContent(e){return e===null?``:e.replace(uf,e=>pf[e])}static decodeHTMLEntities(e){return e===null?``:nf(e)}static decodeXMLEntities(e){return e===null?``:af(e)}},hf=class{options={serializableShadowRoots:!1,shadowRoots:null,allShadowRoots:!1,excludeShadowRootTags:null};constructor(e){e&&(e.serializableShadowRoots&&(this.options.serializableShadowRoots=e.serializableShadowRoots),e.shadowRoots&&(this.options.shadowRoots=e.shadowRoots),e.allShadowRoots&&(this.options.allShadowRoots=e.allShadowRoots),e.excludeShadowRootTags&&(this.options.excludeShadowRootTags=e.excludeShadowRootTags))}serializeToString(e){switch(e[S]){case H.elementNode:let t=e,n=t[wt],r=t[O],i=Id[t[O]],a=n?`${n}:${r}`:r;if(i?.contentModel===X.noDescendants)return`<${a}${this.getAttributes(t)}>`;let o=``;if(t.shadowRoot&&(this.options.allShadowRoots||this.options.serializableShadowRoots&&t.shadowRoot[yr]||this.options.shadowRoots?.includes(t.shadowRoot))&&(!this.options.excludeShadowRootTags||!this.options.excludeShadowRootTags.includes(a))){o+=`<template shadowrootmode="${t.shadowRoot[Sn]}"${t.shadowRoot[yr]?` shadowrootserializable=""`:``}>`;for(let e of t.shadowRoot[A])o+=this.serializeToString(e);o+=`</template>`}let s=a===`template`?e.content[A]:e[A];for(let e of s)o+=this.serializeToString(e);return`<${a}${this.getAttributes(t)}>${o}</${a}>`;case gd.DOCUMENT_FRAGMENT_NODE:case gd.DOCUMENT_NODE:let c=``;for(let t of e[A])c+=this.serializeToString(t);return c;case H.commentNode:return`<!--${e.textContent}-->`;case H.processingInstructionNode:return`<!--?${e.target} ${e.textContent}?-->`;case H.textNode:let l=e.parentElement;return l&&Id[l[O]]?.contentModel===X.rawText?e.textContent:mf.encodeTextContent(e.textContent);case H.documentTypeNode:let u=e,d=u.publicId?` PUBLIC`:u.systemId?` SYSTEM`:``,f=u.publicId?` "${u.publicId}"`:``,ee=u.systemId?` "${u.systemId}"`:``;return`<!DOCTYPE ${u.name}${d}${f}${ee}>`}return``}getAttributes(e){let t=``,n=e[kt][k];!n.has(`:is`)&&e[Ge]&&(t+=` is="`+mf.encodeHTMLAttributeValue(e[Ge])+`"`);for(let e of n.values()){let n=mf.encodeHTMLAttributeValue(e[_]);t+=` `+e[T]+`="`+n+`"`}return t}},gf={svg:{localName:`svg`,className:`SVGSVGElement`},animate:{localName:`animate`,className:`SVGAnimateElement`},animatemotion:{localName:`animateMotion`,className:`SVGAnimateMotionElement`},animatetransform:{localName:`animateTransform`,className:`SVGAnimateTransformElement`},circle:{localName:`circle`,className:`SVGCircleElement`},clippath:{localName:`clipPath`,className:`SVGClipPathElement`},defs:{localName:`defs`,className:`SVGDefsElement`},desc:{localName:`desc`,className:`SVGDescElement`},ellipse:{localName:`ellipse`,className:`SVGEllipseElement`},feblend:{localName:`feBlend`,className:`SVGFEBlendElement`},fecolormatrix:{localName:`feColorMatrix`,className:`SVGFEColorMatrixElement`},fecomponenttransfer:{localName:`feComponentTransfer`,className:`SVGFEComponentTransferElement`},fecomposite:{localName:`feComposite`,className:`SVGFECompositeElement`},feconvolvematrix:{localName:`feConvolveMatrix`,className:`SVGFEConvolveMatrixElement`},fediffuselighting:{localName:`feDiffuseLighting`,className:`SVGFEDiffuseLightingElement`},fedisplacementmap:{localName:`feDisplacementMap`,className:`SVGFEDisplacementMapElement`},fedistantlight:{localName:`feDistantLight`,className:`SVGFEDistantLightElement`},fedropshadow:{localName:`feDropShadow`,className:`SVGFEDropShadowElement`},feflood:{localName:`feFlood`,className:`SVGFEFloodElement`},fefunca:{localName:`feFuncA`,className:`SVGFEFuncAElement`},fefuncb:{localName:`feFuncB`,className:`SVGFEFuncBElement`},fefuncg:{localName:`feFuncG`,className:`SVGFEFuncGElement`},fefuncr:{localName:`feFuncR`,className:`SVGFEFuncRElement`},fegaussianblur:{localName:`feGaussianBlur`,className:`SVGFEGaussianBlurElement`},feimage:{localName:`feImage`,className:`SVGFEImageElement`},femerge:{localName:`feMerge`,className:`SVGFEMergeElement`},femergenode:{localName:`feMergeNode`,className:`SVGFEMergeNodeElement`},femorphology:{localName:`feMorphology`,className:`SVGFEMorphologyElement`},feoffset:{localName:`feOffset`,className:`SVGFEOffsetElement`},fepointlight:{localName:`fePointLight`,className:`SVGFEPointLightElement`},fespecularlighting:{localName:`feSpecularLighting`,className:`SVGFESpecularLightingElement`},fespotlight:{localName:`feSpotLight`,className:`SVGFESpotLightElement`},fetile:{localName:`feTile`,className:`SVGFETileElement`},feturbulence:{localName:`feTurbulence`,className:`SVGFETurbulenceElement`},filter:{localName:`filter`,className:`SVGFilterElement`},foreignobject:{localName:`foreignObject`,className:`SVGForeignObjectElement`},g:{localName:`g`,className:`SVGGElement`},image:{localName:`image`,className:`SVGImageElement`},line:{localName:`line`,className:`SVGLineElement`},lineargradient:{localName:`linearGradient`,className:`SVGLinearGradientElement`},marker:{localName:`marker`,className:`SVGMarkerElement`},mask:{localName:`mask`,className:`SVGMaskElement`},metadata:{localName:`metadata`,className:`SVGMetadataElement`},mpath:{localName:`mpath`,className:`SVGMPathElement`},path:{localName:`path`,className:`SVGPathElement`},pattern:{localName:`pattern`,className:`SVGPatternElement`},polygon:{localName:`polygon`,className:`SVGPolygonElement`},polyline:{localName:`polyline`,className:`SVGPolylineElement`},radialgradient:{localName:`radialGradient`,className:`SVGRadialGradientElement`},rect:{localName:`rect`,className:`SVGRectElement`},script:{localName:`script`,className:`SVGScriptElement`},set:{localName:`set`,className:`SVGSetElement`},stop:{localName:`stop`,className:`SVGStopElement`},style:{localName:`style`,className:`SVGStyleElement`},switch:{localName:`switch`,className:`SVGSwitchElement`},symbol:{localName:`symbol`,className:`SVGSymbolElement`},text:{localName:`text`,className:`SVGTextElement`},textpath:{localName:`textPath`,className:`SVGTextPathElement`},title:{localName:`title`,className:`SVGTitleElement`},tspan:{localName:`tspan`,className:`SVGTSpanElement`},use:{localName:`use`,className:`SVGUseElement`},view:{localName:`view`,className:`SVGViewElement`}};const _f=/<([^\s/!>?]+)|<\/([^\s/!>?]+)\s*>|(<!--)|(-->|--!>)|(<!)|(<\?)|(\/>)|(>)/gm,vf=/\s*([a-zA-Z0-9-_:.$@?\\<\[\]]+)\s*=\s*([^"'=<>\\`\s]+)|\s*([a-zA-Z0-9-_:.$@?\\<\[\]]+)\s*=\s*"([^"]*)("{0,1})|\s*([a-zA-Z0-9-_:.$@?\\<\[\]]+)\s*=\s*'([^']*)('{0,1})|\s*([a-zA-Z0-9-_:.$@?\\<\[\]]+)/gm,yf=/"([^"]+)"/gm,bf=/\s+/,xf=/^\s+/;var Sf;(function(e){e.any=`any`,e.startTag=`startTag`,e.comment=`comment`,e.documentType=`documentType`,e.processingInstruction=`processingInstruction`,e.rawTextElement=`rawTextElement`})(Sf||={});var Cf;(function(e){e[e.root=0]=`root`,e[e.doctype=1]=`doctype`,e[e.documentElement=2]=`documentElement`,e[e.head=3]=`head`,e[e.additionalHeadWithoutBody=4]=`additionalHeadWithoutBody`,e[e.body=5]=`body`,e[e.afterBody=6]=`afterBody`})(Cf||={});var wf=class{window;evaluateScripts=!1;isTemplateDocumentFragment=!1;rootNode=null;rootDocument=null;nodeStack=[];tagNameStack=[];documentStructure=null;startTagIndex=0;markupRegExp=null;nextElement=null;currentNode=null;readState=Sf.any;constructor(e,t){this.window=e,t?.evaluateScripts&&(this.evaluateScripts=!0),t?.isTemplateDocumentFragment&&(this.isTemplateDocumentFragment=!0)}parse(e,t){if(this.rootNode=t||this.window.document.createDocumentFragment(),this.rootDocument=this.rootNode[S]===H.documentNode?this.rootNode:this.window.document,this.nodeStack=[this.rootNode],this.tagNameStack=[null],this.currentNode=this.rootNode,this.readState=Sf.any,this.documentStructure=null,this.startTagIndex=0,this.markupRegExp=new RegExp(_f),this.rootNode[S]===H.documentNode){let{doctype:e,documentElement:t,head:n,body:r}=this.rootNode;if(!t||!n||!r)throw Error(`Failed to parse HTML: The root node must have "documentElement", "head" and "body".
|
|
68
|
+
`);var Ju=class e{reject=null;resolve=null;listeners={onSignalAbort:this.onSignalAbort.bind(this)};isChunkedTransfer=!1;isProperLastChunkReceived=!1;previousChunk=null;nodeRequest=null;nodeResponse=null;response=null;responseHeaders=null;interceptor;requestHeaders;request;redirectCount=0;disableCache;disableSameOriginPolicy;disablePreload;#e;#t;#n=null;constructor(e){this.#e=e.browserFrame,this.#t=e.window,this.#n=e.unfilteredHeaders??null,this.request=typeof e.url==`string`||e.url instanceof oe?new e.window.Request(e.url,e.init):e.url,e.contentType&&(this.request[De]=e.contentType),this.redirectCount=e.redirectCount??0,this.disableCache=e.disableCache??!1,this.disableSameOriginPolicy=e.disableSameOriginPolicy??this.#e.page.context.browser.settings.fetch.disableSameOriginPolicy??!1,this.interceptor=this.#e.page.context.browser.settings.fetch.interceptor,this.requestHeaders=this.#e.page.context.browser.settings.fetch.requestHeaders,this.disablePreload=e.disablePreload??!1}async send(){if(!(this.request instanceof Lu)||!(this.request[_t]instanceof oe))throw new this.#t.DOMException(`Unknown request object. Request object must be an instance of Request.`,V.invalidStateError);if(vu.prepareRequest(new oe(this.#t.location.href),this.request),this.requestHeaders){for(let e of this.requestHeaders)if(!e.url||(typeof e.url==`string`?e.url.startsWith(this.request.url):this.request.url.match(e.url)))for(let[t,n]of Object.entries(e.headers))this.request.headers.set(t,n)}if(this.interceptor?.beforeAsyncRequest){let e=this.#e[pe].startTask(),t=await this.interceptor.beforeAsyncRequest({request:this.request,window:this.#t});if(this.#e[pe].endTask(e),t instanceof zu)return t}if(Nu.validateSchema(this.request),this.request.signal[Zr])throw this.request.signal[Ho]===void 0?new this.#t.DOMException(`signal is aborted without reason`,V.abortError):this.request.signal[Ho];if(this.request[_t].protocol===`data:`){let e=yu.parse(this.request.url);this.response=new this.#t.Response(e.buffer,{headers:{"Content-Type":e.type}});let t=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:this.response,request:this.request}):void 0;return t instanceof zu?t:this.response}if(this.request[_t].protocol===`http:`&&this.#t.location.protocol===`https:`)throw new this.#t.DOMException(`Mixed Content: The page at '${this.#t.location.href}' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint '${this.request.url}'. This request has been blocked; the content must be served over HTTPS.`,V.securityError);if(!this.disableCache){let e=await this.getCachedResponse();if(e)return e}if(!this.disablePreload){let e=Ku.getKey({url:this.request.url,destination:`fetch`,mode:this.request.mode,credentialsMode:this.request.credentials}),t=this.#t.document[jo].get(e);if(t){if(this.#t.document[jo].delete(e),t.response)return t.response;let n=this.#e[pe].startTask(),r=await t.onResponseAvailable();return this.#e[pe].endTask(n),r}}let e=await this.getVirtualServerResponse();if(e)return e;if(!this.disableSameOriginPolicy&&!await this.compliesWithCrossOriginPolicy())throw this.#e.page.console.warn(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`),new this.#t.DOMException(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`,V.networkError);return await this.sendRequest()}async getCachedResponse(){if(this.disableCache)return null;let t=this.#e.page.context.responseCache.get(this.request);if(!t||t.response.waitingForBody)return null;if(t.state===gs.stale){let n=new this.#t.Headers(t.request.headers);if(t.etag)n.set(`If-None-Match`,t.etag);else{if(!t.lastModified)return null;n.set(`If-Modified-Since`,new Date(t.lastModified).toUTCString())}let r=new e({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{headers:n,method:t.request.method},disableCache:!0,disableSameOriginPolicy:!0});if(t.etag||!t.staleWhileRevalidate){let e=await r.send(),n=e.status===304?null:await e.buffer();if(t=this.#e.page.context.responseCache.add(this.request,{...e,body:n,waitingForBody:!1}),e.status!==304){let r=new this.#t.Response(n,{status:e.status,statusText:e.statusText,headers:e.headers});return r.url=e.url,r[ge]=t,r}}else r.send().then(e=>{e.buffer().then(t=>{this.#e.page.context.responseCache.add(this.request,{...e,body:t,waitingForBody:!1})})})}if(!t||t.response.waitingForBody)return null;let n=new this.#t.Response(t.response.body,{status:t.response.status,statusText:t.response.statusText,headers:t.response.headers});return n.url=t.response.url,n[ge]=t,n}async getVirtualServerResponse(){let e=Gu.getFilepath(this.#t,this.request.url);if(!e)return null;let t=this.#e[pe].startTask();if(this.request.method!==`GET`){this.#e.page.console.error(`${this.request.method} ${this.request.url} 404 (Not Found)`);let e=Gu.getNotFoundResponse(this.#t),n=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:await e,request:this.request}):void 0;return this.#e[pe].endTask(t),n instanceof zu?n:e}let n;try{e=(await l.promises.stat(e)).isDirectory()?ne.join(e,`index.html`):e,n=await l.promises.readFile(e)}catch{this.#e.page.console.error(`${this.request.method} ${this.request.url} 404 (Not Found)`);let e=Gu.getNotFoundResponse(this.#t),n=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:await e,request:this.request}):void 0;return this.#e[pe].endTask(t),n instanceof zu?n:e}let r=new this.#t.ReadableStream({start:e=>{this.#t.queueMicrotask(()=>{e.enqueue(n),e.close()})}}),i=new this.#t.Response(r);i[he]=n,i[es]=e,i.url=this.request.url;let a=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:await i,request:this.request}):void 0;this.#e[pe].endTask(t);let o=a instanceof zu?a:i,s={...o,body:n,waitingForBody:!1,virtual:!0};return i[ge]=this.#e.page.context.responseCache.add(this.request,s),o}async compliesWithCrossOriginPolicy(){if(this.disableSameOriginPolicy||!bu.isCORS(this.#t.location.href,this.request[_t]))return!0;let t=this.#e.page.context.preflightResponseCache.get(this.request);if(t)return!(t.allowOrigin!==`*`&&t.allowOrigin!==this.#t.location.origin||t.allowMethods.length!==0&&!t.allowMethods.includes(this.request.method));let n=[];for(let[e]of this.request.headers)n.push(e.toLowerCase());let r=new this.#t.Headers({"Access-Control-Request-Method":this.request.method,Origin:this.#t.location.origin});n.length>0&&r.set(`Access-Control-Request-Headers`,n.slice().sort().join(`,`));let i=await new e({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{method:`OPTIONS`},disableCache:!0,disableSameOriginPolicy:!0,unfilteredHeaders:r}).send();if(!i.ok)return!1;let a=i.headers.get(`Access-Control-Allow-Origin`);if(!a||a!==`*`&&a!==this.#t.location.origin)return!1;let o=[];if(i.headers.has(`Access-Control-Allow-Methods`)){let e=i.headers.get(`Access-Control-Allow-Methods`);if(e!==`*`)for(let t of e.split(`,`))o.push(t.trim().toUpperCase())}return!(o.length!==0&&!o.includes(this.request.method))}sendRequest(){return new Promise((e,t)=>{let n=this.#e[pe].startTask(()=>this.onAsyncTaskManagerAbort());if(this.resolve)throw new this.#t.Error(`Fetch already sent.`);this.resolve=async t=>{!this.disableCache&&t instanceof zu&&this.#e.page&&this.#e.page.context&&(t[ge]=this.#e.page.context.responseCache.add(this.request,{...t,headers:this.responseHeaders,body:t[he],waitingForBody:!t[he]&&!!t.body}));let r=this.interceptor?.afterAsyncResponse?await this.interceptor.afterAsyncResponse({window:this.#t,response:await t,request:this.request}):void 0;this.#e[pe].endTask(n);let i=r instanceof zu?r:t;i instanceof zu&&!i.ok&&this.#e.page.console.error(`${this.request.method} ${this.request.url} ${i.status} (${i.statusText})`),e(i)},this.reject=e=>{this.#e[pe].endTask(n),t(e)},this.request.signal.addEventListener(`abort`,this.listeners.onSignalAbort);let r=(this.request[_t].protocol===`https:`?ie:re).request;this.nodeRequest=r(this.request[_t].href,{method:this.request.method,headers:Iu.getRequestHeaders({browserFrame:this.#e,window:this.#t,request:this.request,baseHeaders:this.#n}),agent:!1,rejectUnauthorized:!this.#e.page.context.browser.settings.fetch.disableStrictSSL,key:this.request[_t].protocol===`https:`?Uu.key:void 0,cert:this.request[_t].protocol===`https:`?Uu.cert:void 0}),this.nodeRequest.on(`error`,this.onError.bind(this)),this.nodeRequest.on(`socket`,this.onSocket.bind(this)),this.nodeRequest.on(`response`,this.onResponse.bind(this)),this.request.body===null?this.nodeRequest.end():u.pipeline(this.request.body,this.nodeRequest,e=>{e&&this.onError(e)})})}onSocket(e){let t=()=>{if(this.isChunkedTransfer&&!this.isProperLastChunkReceived){let e=new this.#t.DOMException(`Premature close.`,V.networkError);this.request[pn]=e,this.response&&(this.response[pn]=e,this.response.body&&!this.response.body.locked&&this.response.body.cancel(e))}},n=e=>{this.isProperLastChunkReceived=i.compare(e.slice(-5),qu)===0,!this.isProperLastChunkReceived&&this.previousChunk&&(this.isProperLastChunkReceived=i.compare(this.previousChunk.slice(-3),qu.slice(0,3))===0&&i.compare(e.slice(-2),qu.slice(3))===0),this.previousChunk=e};e.prependListener(`close`,t),e.on(`data`,n),this.nodeRequest.on(`close`,()=>{e.removeListener(`close`,t),e.removeListener(`data`,n)})}onSignalAbort(e){this.finalizeRequest(),this.abort(e.target?.reason)}onError(e){this.finalizeRequest(),this.#e.page.console.error(e),this.reject(new this.#t.DOMException(`Failed to execute "fetch()" on "Window" with URL "${this.request.url}": ${e.message}`,V.networkError))}onAsyncTaskManagerAbort(){let e=new this.#t.DOMException(`The operation was aborted.`,V.abortError);this.request[Zr]=!0,this.request[pn]=e,this.response&&(this.response[Zr]=!0,this.response[pn]=e),this.listeners.onSignalAbort&&this.request.signal.removeEventListener(`abort`,this.listeners.onSignalAbort),this.nodeRequest&&!this.nodeRequest.destroyed&&this.nodeRequest.destroy(e),this.nodeResponse&&!this.nodeResponse.destroyed&&this.nodeResponse.destroy(e),this.response&&this.response.body&&(this.response.body.locked||this.response.body.cancel(e))}onResponse(e){if(this.isChunkedTransfer=e.headers[`transfer-encoding`]===`chunked`&&!e.headers[`content-length`],this.nodeRequest.setTimeout(0),this.responseHeaders=Hu.parseResponseHeaders({browserFrame:this.#e,requestURL:this.request[_t],rawHeaders:e.rawHeaders}),this.handleRedirectResponse(e,this.responseHeaders))return;e.once(`end`,()=>this.request.signal.removeEventListener(`abort`,this.listeners.onSignalAbort));let t=u.pipeline(e,new u.PassThrough,e=>{}),n={status:e.statusCode,statusText:e.statusMessage,headers:this.responseHeaders},r=this.responseHeaders.get(`Content-Encoding`);if(this.request.method===`HEAD`||r===null||e.statusCode===204||e.statusCode===304){this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response);return}if(r===`gzip`||r===`x-gzip`){let e={flush:d.constants.Z_SYNC_FLUSH,finishFlush:d.constants.Z_SYNC_FLUSH};t=u.pipeline(t,d.createGunzip(e),e=>{}),this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response);return}if(r===`deflate`||r===`x-deflate`){let r=u.pipeline(e,new u.PassThrough,e=>{});r.on(`data`,e=>{t=(e[0]&15)==8?u.pipeline(t,d.createInflate(),e=>{}):u.pipeline(t,d.createInflateRaw(),e=>{}),this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response)}),r.on(`end`,()=>{this.response||(this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response))});return}if(r===`br`){t=u.pipeline(t,d.createBrotliDecompress(),e=>{}),this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response);return}this.response=new this.#t.Response(Du.nodeToWebStream(t),n),this.response.redirected=this.redirectCount>0,this.response.url=this.request.url,this.resolve(this.response)}handleRedirectResponse(t,n){if(!Vu.isRedirect(t.statusCode))return!1;switch(this.request.redirect){case`error`:return this.finalizeRequest(),this.reject(new this.#t.DOMException(`URI requested responds with a redirect, redirect mode is set to "error": ${this.request.url}`,V.abortError)),!0;case`manual`:return!1;case`follow`:let r=n.get(`Location`),i=t.statusCode===303||(t.statusCode===301||t.statusCode===302)&&this.request.method===`POST`,a=null;if(r!==null)try{a=new oe(r,this.request.url)}catch{return this.finalizeRequest(),this.reject(new this.#t.DOMException(`URI requested responds with an invalid redirect URL: ${r}`,V.uriMismatchError)),!0}if(a===null)return!1;if(Vu.isMaxRedirectsReached(this.redirectCount))return this.finalizeRequest(),this.reject(new this.#t.DOMException(`Maximum redirects reached at: ${this.request.url}`,V.networkError)),!0;let o=new this.#t.Headers(this.request.headers),s={method:this.request.method,signal:this.request.signal,referrer:this.request.referrer,referrerPolicy:this.request.referrerPolicy,credentials:this.request.credentials,headers:o,body:this.request[me]};if((this.request.credentials===`omit`||this.request.credentials===`same-origin`&&bu.isCORS(this.#t.location.href,a))&&(o.delete(`cookie`),o.delete(`cookie2`)),this.request.signal[Zr])return this.abort(this.request.signal[Ho]),!0;i&&(s.method=`GET`,s.body=void 0,o.delete(`Content-Length`),o.delete(`Content-Type`));let c=vu.getReferrerPolicyFromHeader(o);c&&(s.referrerPolicy=c);let l=new e({browserFrame:this.#e,window:this.#t,url:a,init:s,redirectCount:this.redirectCount+1,disableSameOriginPolicy:this.disableSameOriginPolicy,contentType:i?null:this.request[De]});return this.finalizeRequest(),l.send().then(e=>this.resolve(e)).catch(e=>this.reject(e)),!0;default:return this.finalizeRequest(),this.reject(new this.#t.DOMException(`Redirect option '${this.request.redirect}' is not a valid value of TRequestRedirect`)),!0}}finalizeRequest(){this.request.signal.removeEventListener(`abort`,this.listeners.onSignalAbort),this.nodeRequest?.destroy()}abort(e){let t=new this.#t.DOMException(`The operation was aborted.`+(e?` `+e.toString():``),V.abortError);this.request[Zr]=!0,this.request[pn]=t,this.response&&(this.response[Zr]=!0,this.response[pn]=t),this.nodeRequest&&!this.nodeRequest.destroyed&&this.nodeRequest.destroy(t),this.nodeResponse&&!this.nodeResponse.destroyed&&this.nodeResponse.destroy(t),this.response&&this.response.body&&(this.response.body.locked||this.response.body.cancel(t)),this.reject&&this.reject(e===void 0?t:e)}},Yu;(function(e){e.auto=`auto`,e.manual=`manual`})(Yu||={});var Xu=Yu,Zu=class{static getRelativeURL(e,t){if(t=t?String(t):`about:blank`,t.startsWith(`about:`)||t.startsWith(`javascript:`))return new oe(t);try{return new oe(t,e.window[Dn].href)}catch{return new oe(`about:blank`)}}},Qu=class{#e;#t;constructor(e,t){if(!e)throw TypeError(`Illegal constructor`);this.#e=e,this.#t=t}get length(){return this.#e?.[On].items.length||0}get state(){return this.#e?.[On].currentItem.state||null}get scrollRestoration(){return this.#e?.[On].currentItem.scrollRestoration||Xu.auto}set scrollRestoration(e){switch(e){case Xu.auto:case Xu.manual:let t=this.#e?.[On].currentItem;t&&(t.scrollRestoration=e)}}back(){this.#t.closed||this.#e?.goBack()}forward(){this.#t.closed||this.#e?.goForward()}go(e){this.#t.closed||this.#e?.goSteps(e)}pushState(e,t,n){if(!this.#e||this.#t.closed)return;let r=this.#e?.[On];if(!r)return;if(arguments.length<2)throw new this.#t.TypeError(`Failed to execute 'pushState' on 'History': 2 arguments required, but only ${arguments.length} present.`);let i=this.#t[Dn],a=n?Zu.getRelativeURL(this.#e,n):i;if(n&&a.origin!==i.origin)throw new this.#t.DOMException(`Failed to execute 'pushState' on 'History': A history state object with URL '${n.toString()}' cannot be created in a document with origin '${i.origin}' and URL '${i.href}'.`,V.securityError);r.currentItem.popState=!0,r.push({title:this.#t.document.title,href:a.href,state:e,popState:!0,scrollRestoration:r.currentItem.scrollRestoration,method:r.currentItem.method||`GET`,formData:r.currentItem.formData||null}),i[wn](this.#e,r.currentItem.href)}replaceState(e,t,n){if(!this.#e||this.#t.closed)return;let r=this.#e?.[On];if(!r)return;if(arguments.length<2)throw new this.#t.TypeError(`Failed to execute 'pushState' on 'History': 2 arguments required, but only ${arguments.length} present.`);let i=this.#t[Dn],a=n?Zu.getRelativeURL(this.#e,n):i;if(n&&a.origin!==i.origin)throw new this.#t.DOMException(`Failed to execute 'pushState' on 'History': A history state object with URL '${n.toString()}' cannot be created in a document with origin '${i.origin}' and URL '${i.href}'.`,V.securityError);r.replace({title:this.#t.document.title,href:a.href,state:e,popState:r.currentItem.popState,scrollRestoration:r.currentItem.scrollRestoration,method:r.currentItem.method,formData:r.currentItem.formData}),n&&i[wn](this.#e,r.currentItem.href)}[Ne](){this.#e=null}},$u=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t||{}}observe(e){}disconnect(){}unobserve(e){}takeRecords(){return[]}},ed=class{boundingClientRect=null;intersectionRatio=0;intersectionRect=null;isIntersecting=!1;rootBounds=null;target=null;time=0;constructor(e){Object.assign(this,e)}},td=class{[Symbol.toStringTag]=`Location`;#e;#t;#n=null;#r=[];constructor(e,t){if(!e)throw TypeError(`Illegal constructor`);this.#e=e,this.#t=new URL(t)}get hash(){return this.#t.hash}set hash(e){let t=this.#e?.[On];if(!t||!this.#e)return;let n=new URL(this.#t.href),r=this.#t.hash;n.hash=e,n.hash!==r&&(t.currentItem.popState=!0,t.push({title:``,href:n.href,state:t.currentItem.state,popState:!0,scrollRestoration:Xu.manual,method:t.currentItem.method,formData:t.currentItem.formData||null}),this[wn](this.#e,n.href))}get host(){return this.#t.host}set host(e){let t=new URL(this.#t.href);t.host=e,this.href=t.href}get hostname(){return this.#t.hostname}set hostname(e){let t=new URL(this.#t.href);t.hostname=e,this.href=t.href}get href(){return this.#t.href}set href(e){this.#e&&this.#e.goto(e).catch(e=>{if(this.#e?.page?.console)this.#e.page.console.error(e);else throw e})}get origin(){return this.#t.origin}get pathname(){return this.#t.pathname}set pathname(e){let t=new URL(this.#t.href);t.pathname=e,this.href=t.href}get port(){return this.#t.port}set port(e){let t=new URL(this.#t.href);t.port=e,this.href=t.href}get protocol(){return this.#t.protocol}set protocol(e){let t=new URL(this.#t.href);t.protocol=e,this.href=t.href}get search(){return this.#t.search}set search(e){let t=new URL(this.#t.href);t.search=e,this.href=t.href}replace(e){this.href=String(e)}assign(e){this.href=String(e)}reload(){this.#e&&this.#e.goto(this.href).catch(e=>{if(this.#e?.page.console)this.#e.page.console.error(e);else throw e})}[wn](e,t){if(!this.#e)return;if(this.#e!==e)throw Error(`Failed to set URL. Browser frame mismatch.`);let n=this.#t.href,r=this.#t.hash;if(this.#t.href=t,this.#t.hash!==r){let e=this.#t.href;this.#r.push(new iu(`hashchange`,{oldURL:n,newURL:e})),this.#e?.window?.document?.[qn](),this.#n&&this.#e.window?.clearTimeout(this.#n),this.#n=this.#e.window?.setTimeout(()=>{let e=this.#r;this.#r=[];for(let t of e)this.#e?.window?.dispatchEvent(t)})}}[Ne](){this.#n&&this.#e?.window?.clearTimeout(this.#n),this.#e=null}toString(){return this.#t.toString()}},nd=class{type;target;addedNodes;removedNodes;previousSibling;nextSibling;attributeName;attributeNamespace;oldValue;constructor(e){this.type=e.type,this.target=e.target,this.addedNodes=e.addedNodes||[],this.removedNodes=e.removedNodes||[],this.previousSibling=e.previousSibling||null,this.nextSibling=e.nextSibling||null,this.attributeName=e.attributeName||null,this.attributeNamespace=e.attributeNamespace||null,this.oldValue=e.oldValue||null}},rd=class{description;enabledPlugin;suffixes;type;constructor(e,t,n,r){this.description=e,this.enabledPlugin=t,this.suffixes=n,this.type=r}toString(){return`[object MimeType]`}},id=class{length;constructor(e){for(let t=0,n=e.length;t<n;t++)this[t]=e[t],this[e[t].type]=e[t];this.length=e.length}item(e){return this[e]||null}namedItem(e){return this[e]||null}toString(){return`[object MimeTypeArray]`}},ad=class{length;constructor(e){for(let t=0,n=e.length;t<n;t++)this[t]=e[t],this[e[t].name]=e[t];this.length=e.length}item(e){return this[e]||null}namedItem(e){return this[e]||null}refresh(){}toString(){return`[object PluginArray]`}},od;(function(e){e.geolocation=`geolocation`,e.notifications=`notifications`,e.push=`push`,e.midi=`midi`,e.camera=`camera`,e.microphone=`microphone`,e.backgroundFetch=`background-fetch`,e.backgroundSync=`background-sync`,e.persistentStorage=`persistent-storage`,e.ambientLightSensor=`ambient-light-sensor`,e.accelerometer=`accelerometer`,e.gyroscope=`gyroscope`,e.magnetometer=`magnetometer`,e.screenWakeLock=`screen-wake-lock`,e.nfc=`nfc`,e.displayCapture=`display-capture`,e.accessibilityEvents=`accessibility-events`,e.clipboardRead=`clipboard-read`,e.clipboardWrite=`clipboard-write`,e.paymentHandler=`payment-handler`,e.idleDetection=`idle-detection`,e.periodicBackgroundSync=`periodic-background-sync`,e.systemWakeLock=`system-wake-lock`,e.storageAccess=`storage-access`,e.windowManagement=`window-management`,e.windowPlacement=`window-placement`,e.localFonts=`local-fonts`,e.topLevelStorageAccess=`top-level-storage-access`})(od||={});var sd=od,cd=class{#e={};#t;constructor(e){e?.document,this.#t=e}async query(e){let t=e?.name;if(t&&this.#e[t])return this.#e[t];if(!Object.values(sd).includes(t))throw Error(`Failed to execute 'query' on 'Permissions': Failed to read the 'name' property from 'PermissionDescriptor': The provided value '${t}' is not a valid enum value of type PermissionName.`);return this.#e[t]=new this.#t.PermissionStatus(`granted`),this.#e[t]}},ld=class{#e;#t;#n;constructor(e){if(!e)throw TypeError(`Invalid constructor`);this.#e=e,this.#t=new Bs(e),this.#n=new cd(e)}get cookieEnabled(){return!0}get credentials(){return null}get geolocation(){return null}get language(){return`en-US`}get languages(){return[`en-US`,`en`]}get locks(){return null}get maxTouchPoints(){return new J(this.#e).getSettings()?.navigator.maxTouchPoints||0}get hardwareConcurrency(){return 8}get appCodeName(){return`Mozilla`}get appName(){return`Netscape`}get appVersion(){let e=this.userAgent,t=e.indexOf(`/`);return t>-1?e.substring(t+1):``}get platform(){let e=this.userAgent,t=e.indexOf(`(`),n=e.indexOf(`)`);return t>-1&&n>-1?e.substring(t+1,n):``}get product(){return`Gecko`}get productSub(){return`20100101`}get vendor(){return``}get vendorSub(){return``}get userAgent(){return new J(this.#e).getSettings()?.navigator.userAgent||``}get onLine(){return!0}get permissions(){return this.#n}get clipboard(){return this.#t}get webdriver(){return!0}get doNotTrack(){return`unspecified`}get mimeTypes(){return new id([])}get plugins(){return new ad([])}sendBeacon(e,t){return this.#e.fetch(e,{method:`POST`,body:t}),!0}toString(){return`[object Navigator]`}},ud=class{length=0;description;filename;name;constructor(e,t,n,r){this.description=t,this.filename=n,this.name=r;for(let t=0,n=e.length;t<n;t++)this[t]=e[t],this[e[t].type]=e[t];this.length=e.length}item(e){return this[e]||null}namedItem(e){return this[e]||null}toString(){return`[object Plugin]`}},dd;(function(e){e[e.disconnect=1]=`disconnect`,e[e.preceding=2]=`preceding`,e[e.following=4]=`following`,e[e.contains=8]=`contains`,e[e.containedBy=16]=`containedBy`,e[e.implementationSpecific=32]=`implementationSpecific`})(dd||={});var fd=dd,Y=class e{static isTextNode(e){return e?.[S]===H.textNode}static isInclusiveAncestor(e,t,n=!1){if(e===null||t===null)return!1;if(e===t)return!0;if(!e[A].length||n&&t[b]!==e[b])return!1;if(n&&e===t[h]&&t[b])return!0;let r=t[x];for(;r;){if(e===r)return!0;if(e[x]===r[x])return!1;r=r[x]?r[x]:n&&r.host?r.host:null}return!1}static isFollowing(e,t){if(e===t)return!1;let n=t;for(;n;)if(n=this.following(n),n===e)return!0;return!1}static getNodeLength(e){switch(e[S]){case H.documentTypeNode:return 0;case H.textNode:case H.processingInstructionNode:case H.commentNode:return e.data.length;default:return e[A].length}}static following(e,t){let n=e.firstChild;if(n)return n;let r=e;for(;r;){if(r===t)return null;let e=r.nextSibling;if(e)return e;r=r[x]}return null}static nextDescendantNode(e){for(;e&&!e.nextSibling;)e=e[x];return e?e.nextSibling:null}static attributeListsEqual(e,t){let n=Array.from(e[kt][k].values()),r=Array.from(t[kt][k].values());for(let e of n){let t=!1;for(let n of r)if(e[w]===n[w]&&e.localName===n.localName&&e[_]===n[_]){t=!0;break}if(!t)return!1}return!0}static isEqualNode(t,n){if(t[S]!==n[S])return!1;switch(t[S]){case H.documentTypeNode:let e=t,r=n;if(e.name!==r.name||e.publicId!==r.publicId||e.systemId!==r.systemId)return!1;break;case H.elementNode:let i=t,a=n;if(i[w]!==a[w]||i[wt]!==a[wt]||i[O]!==a[O]||i[kt][k].size!==a[kt][k].size)return!1;break;case H.attributeNode:let o=t,s=n;if(o[w]!==s[w]||o.localName!==s.localName||o[_]!==s[_])return!1;break;case H.processingInstructionNode:let c=t,l=n;if(c.target!==l.target||c.data!==l.data)return!1;break;case H.textNode:case H.commentNode:let u=t,d=n;if(u.data!==d.data)return!1}if(t[S]===H.elementNode&&!e.attributeListsEqual(t,n)||t[A].length!==n[A].length)return!1;for(let r=0;r<t[A].length;r++){let i=t[A][r],a=n[A][r];if(!e.isEqualNode(i,a))return!1}return!0}},pd;(function(e){e.attributes=`attributes`,e.characterData=`characterData`,e.childList=`childList`})(pd||={});var md=pd,hd=class{static ownerDocuments=[];static createNode(e,t,...n){return t.prototype[y]||this.ownerDocuments.push(e),new t(...n)}static pullOwnerDocument(){return this.ownerDocuments.pop()||null}},gd=class e extends rl{static ELEMENT_NODE=H.elementNode;static ATTRIBUTE_NODE=H.attributeNode;static TEXT_NODE=H.textNode;static CDATA_SECTION_NODE=H.cdataSectionNode;static COMMENT_NODE=H.commentNode;static DOCUMENT_NODE=H.documentNode;static DOCUMENT_TYPE_NODE=H.documentTypeNode;static DOCUMENT_FRAGMENT_NODE=H.documentFragmentNode;static PROCESSING_INSTRUCTION_NODE=H.processingInstructionNode;static DOCUMENT_POSITION_CONTAINED_BY=fd.containedBy;static DOCUMENT_POSITION_CONTAINS=fd.contains;static DOCUMENT_POSITION_DISCONNECTED=fd.disconnect;static DOCUMENT_POSITION_FOLLOWING=fd.following;static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=fd.implementationSpecific;static DOCUMENT_POSITION_PRECEDING=fd.preceding;[b]=!1;[x]=null;[at]=null;[Gn]=null;[pt]=null;[Re]=null;[ot]=null;[Ze]=[];[A]=[];[Xn]=[];[ye]=null;[Sr]=null;[j]={querySelector:new Map,querySelectorAll:new Map,matches:new Map,elementsByTagName:new Map,elementsByTagNameNS:new Map,elementByTagName:new Map,elementById:new Map,computedStyle:null};[Zn]=[];constructor(){if(super(),this[y])this[h]=this[y].document;else{let e=hd.pullOwnerDocument();if(!e)throw TypeError(`Illegal constructor`);this[h]=e,this[y]=e[y]}}get[Symbol.toStringTag](){return this.constructor.name}get isConnected(){return this[b]}get ownerDocument(){return this[h]}get parentNode(){return this[x]}get nodeType(){return this[S]}get childNodes(){return this[ye]||(this[ye]=new Hc(M,this[A])),this[ye]}get textContent(){return``}set textContent(e){}get nodeValue(){return null}set nodeValue(e){}get nodeName(){return``}get previousSibling(){if(this[x]){let e=this[x][A],t=e.indexOf(this[or]||this);if(t>0)return e[t-1]}return null}get nextSibling(){if(this[x]){let e=this[x][A],t=e.indexOf(this[or]||this);if(t>-1&&t+1<e.length)return e[t+1]}return null}get firstChild(){let e=this[A];return e.length>0?e[0]:null}get lastChild(){let e=this[A];return e.length>0?e[e.length-1]:null}get parentElement(){let e=this[x];for(;e&&e[S]!==H.elementNode;)e=e[x];return e}get baseURI(){let e=this[h].querySelector(`base`);return e?e.href:this[y].location.href}hasChildNodes(){return this[A].length>0}contains(e){if(e===void 0)return!1;let t=this[or]||this;return Y.isInclusiveAncestor(t,e)}getRootNode(e){if(this[b])return this[at]&&!e?.composed?this[at]:this[h];let t=this;for(;t[x];)t=t[x];return t}cloneNode(e=!1){return this[Pn](e)}appendChild(e){if(arguments.length<1)throw new this[y].TypeError(`Failed to execute 'appendChild' on 'Node': 1 argument required, but only 0 present`);return this[Fn](e)}removeChild(e){if(arguments.length<1)throw new this[y].TypeError(`Failed to execute 'removeChild' on 'Node': 1 argument required, but only 0 present`);return this[In](e)}insertBefore(e,t){if(arguments.length<2)throw new this[y].TypeError(`Failed to execute 'insertBefore' on 'Node': 2 arguments required, but only ${arguments.length} present.`);return this[Ln](e,t)}replaceChild(e,t){if(arguments.length<2)throw new this[y].TypeError(`Failed to execute 'replaceChild' on 'Node': 2 arguments required, but only ${arguments.length} present.`);return this[Rn](e,t)}[Pn](e=!1){let t=hd.createNode(this[h],this.constructor);if(t[A].length){let e=t[A];for(;e.length;)t.removeChild(e[0])}if(e)for(let e of this[A]){let n=e.cloneNode(!0);n[x]=t,t[A].push(n),n[S]===H.elementNode&&t[Xn].push(n)}return t}[Fn](e,t=!1){e[or]&&(e=e[or]);let n=this[or]||this;if(!t){if(e===n)throw new this[y].DOMException(`Failed to execute 'appendChild' on 'Node': Not possible to append a node as a child of itself.`);if(Y.isInclusiveAncestor(e,n,!0))throw new this[y].DOMException(`Failed to execute 'appendChild' on 'Node': The new node is a parent of the node to insert to.`,V.domException)}if(e[S]===H.documentFragmentNode){let t=e[A];for(;t.length;)this.appendChild(t[0]);return e}e[x]&&e[x][In](e),e[x]=n,e[qn](),this[A].push(e),e[S]===H.elementNode&&this[Xn].push(e),e[Se]();for(let t of this[Ze])t.options?.subtree&&t.callback.deref()&&e[Xe](t);return this[ht](new nd({target:n,type:md.childList,addedNodes:[e]})),e}[In](e){e[or]&&(e=e[or]);let t=this[A].indexOf(e);if(t===-1)throw new this[y].DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);let n=e.previousSibling,r=e.nextSibling;if(e[x]=null,e[qn](),this[A].splice(t,1),e[S]===H.elementNode){let t=this[Xn].indexOf(e);t!==-1&&this[Xn].splice(t,1)}if(e[Sr]){let t=e[Sr][xr].indexOf(e);t!==-1&&e[Sr][xr].splice(t,1),e[Sr]=null}e[Ce]();for(let t of this[Ze])t.options?.subtree&&t.callback.deref()&&e[mt](t);return this[ht](new nd({target:this[or]||this,type:md.childList,removedNodes:[e],previousSibling:n,nextSibling:r})),e}[Ln](e,t,n=!1){if(e[or]&&(e=e[or]),t&&t[or]&&(t=t[or]),e===t)return e;let r=this[or]||this;if(!n){if(e===r)throw new this[y].DOMException(`Failed to execute 'insertBefore' on 'Node': Not possible to insert a node as a child of itself.`);if(Y.isInclusiveAncestor(e,r,!0))throw new this[y].DOMException(`Failed to execute 'insertBefore' on 'Node': The new node is a parent of the node to insert to.`,V.domException)}if(e[S]===H.documentFragmentNode){let n=e[A];for(;n.length>0;)this[Ln](n[0],t,!0);return e}if(!t)return this[Fn](e,!0),e;let i=this[A];if(!i.includes(t))throw new this[y].DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);e[x]&&e[x][In](e),e[x]=r,e[qn]();let a=i.indexOf(t);if(e[S]===H.elementNode){let n=this[Xn];if(t[S]===H.elementNode)n.splice(n.indexOf(t),0,e);else{let t=!1;for(let r=a,o=i.length;r<o;r++)if(i[r][S]===H.elementNode){n.splice(n.indexOf(i[r]),0,e),t=!0;break}t||n.push(e)}}i.splice(a,0,e),e[Se]();for(let t of this[Ze])t.options?.subtree&&t.callback.deref()&&e[Xe](t);return this[ht](new nd({target:r,type:md.childList,addedNodes:[e]})),e}[Rn](e,t){return this.insertBefore(e,t),this.removeChild(t),t}isEqualNode(e){return Y.isEqualNode(this,e)}toString(){return`[object ${this.constructor.name}]`}[Xe](e){if(this[Ze].push(e),e.options.subtree)for(let t of this[A])t[Xe](e)}[mt](e){let t=this[Ze].indexOf(e);if(t!==-1&&this[Ze].splice(t,1),e.options.subtree)for(let t of this[A])t[mt](e)}[ht](e){this[qn]();let t=this[Ze];if(t.length)for(let n=0,r=t.length;n<r;n++){let i=t[n],a=i.callback.deref();if(a)switch(e.type){case md.childList:i.options.childList&&a(e);break;case md.attributes:i.options.attributes&&(!i.options.attributeFilter||i.options.attributeFilter.includes(e.attributeName))&&a(e);break;case md.characterData:i.options?.characterData&&a(e)}else t.splice(n,1),n--,r--}}[qn](){let e=this[j];if(e.querySelector.size){for(let t of e.querySelector.values())t.result&&=null;e.querySelector=new Map}if(e.querySelectorAll.size){for(let t of e.querySelectorAll.values())t.result&&=null;e.querySelectorAll=new Map}if(e.matches.size){for(let t of e.matches.values())t.result&&=null;e.matches=new Map}if(e.elementsByTagName.size){for(let t of e.elementsByTagName.values())t.result&&=null;e.elementsByTagName=new Map}if(e.elementsByTagNameNS.size){for(let t of e.elementsByTagNameNS.values())t.result&&=null;e.elementsByTagNameNS=new Map}if(e.elementByTagName.size){for(let t of e.elementByTagName.values())t.result&&=null;e.elementByTagName=new Map}if(e.elementById.size){for(let t of e.elementById.values())t.result&&=null;e.elementById=new Map}let t=this[Zn];if(t.length){for(let e of t)e.result=null;this[Zn]=[]}let n=this[h];if(n&&n[$n].length){for(let e of n[$n])e.result=null;n[$n]=[]}}[Se](){let e=this[x],t=e||this[Cn],n=!1,r=!1;if(!this[b]&&t[b]?(this[b]=!0,n=!0):this[b]&&!t[b]&&(this[b]=!1,r=!0),this[h]=t[h]||t,this[y]=t[y]||t[Me],e){this[S]!==H.documentFragmentNode&&(this[at]=e[at]);let t=this[C];e[Gn]&&t!==`STYLE`&&(this[Gn]=e[Gn]),e[pt]&&t!==`TEXTAREA`&&(this[pt]=e[pt]),e[Re]&&t!==`FORM`&&(this[Re]=e[Re]),e[ot]&&t!==`SELECT`&&(this[ot]=e[ot])}let i=this[A].slice();for(let e=0,t=i.length;e<t;e++)i[e][x]=this,i[e][Se]();this[ut]&&this[ut][Se](),n?this[we]():r&&this[Te]()}[Ce](){this[S]!==H.documentFragmentNode&&(this[at]=null);let e=this[C];e!==`STYLE`&&(this[Gn]=null),e!==`TEXTAREA`&&(this[pt]=null),e!==`FORM`&&(this[Re]=null),e!==`SELECT`&&(this[ot]=null),this[b]&&(this[b]=!1,this[Te]());let t=this[A].slice();for(let e=0,n=t.length;e<n;e++)t[e][Se]();this[ut]&&this[ut][Ce]()}[we](){this[ut]&&this[ut][we]()}[Te](){this[h][fe]===this&&(this[h][qn](),this[h][fe]=null),this[ut]&&this[ut][Te]()}[Ne](){super[Ne](),this[b]=!1;for(let e=0,t=this[A].length;e<t;e++)this[A][e][Ne]();this[Ze]=[],this[x]=null,this[at]=null,this[Gn]=null,this[pt]=null,this[Re]=null,this[ot]=null,this[Ze]=[],this[A]=[],this[Xn]=[],this[ye]=null,this[Sr]=null,this[qn]()}compareDocumentPosition(t){if(this===t)return 0;let n=t,r=this[or]||this,i=null,a=null;if(n[S]===H.attributeNode&&(i=n,n=i[Qe]),r[S]===H.attributeNode&&(a=r,r=a[Qe],i!==null&&n!==null&&r===n))for(let t of r[kt][k].values()){if(Y.isEqualNode(t,i))return e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_PRECEDING;if(Y.isEqualNode(t,a))return e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_FOLLOWING}let o=[],s=r;for(;s;){if(s===n)return e.DOCUMENT_POSITION_CONTAINS|e.DOCUMENT_POSITION_PRECEDING;o.push(s),s=s[x]}let c=[],l=n;for(;l;){if(l===r)return e.DOCUMENT_POSITION_CONTAINED_BY|e.DOCUMENT_POSITION_FOLLOWING;c.push(l),l=l[x]}let u=(e,t)=>e[e.length-1-t],d=u(o,0);if(!d||d!==u(c,0))return e.DOCUMENT_POSITION_DISCONNECTED|e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_FOLLOWING;let f=0,ee=Math.min(o.length,c.length);for(let e=0;e<ee&&u(o,e)===u(c,e);++e)f=e;let te=u(o,f),ne=0,re=-1,ie=-1,ae=u(o,f+1),oe=u(c,f+1),se=e=>{for(let t of e){if(se(t[A]),t===ae?re=ne:t===oe&&(ie=ne),re!==-1&&ie!==-1)break;ne++}};return se(te[A]),ie<re?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING}normalize(){let e=this.firstChild;for(;e;){if(Y.isTextNode(e)){for(;Y.isTextNode(e.nextSibling);)e.data+=e.nextSibling.data,e.nextSibling.remove();if(!e.data.length){let t=e;e=e.nextSibling,t.remove();continue}}else e.normalize();e=e.nextSibling}}isSameNode(e){return this===e}};gd.prototype.ELEMENT_NODE=H.elementNode,gd.prototype.ATTRIBUTE_NODE=H.attributeNode,gd.prototype.TEXT_NODE=H.textNode,gd.prototype.CDATA_SECTION_NODE=H.cdataSectionNode,gd.prototype.COMMENT_NODE=H.commentNode,gd.prototype.DOCUMENT_NODE=H.documentNode,gd.prototype.DOCUMENT_TYPE_NODE=H.documentTypeNode,gd.prototype.DOCUMENT_FRAGMENT_NODE=H.documentFragmentNode,gd.prototype.PROCESSING_INSTRUCTION_NODE=H.processingInstructionNode,gd.prototype.DOCUMENT_POSITION_CONTAINED_BY=fd.containedBy,gd.prototype.DOCUMENT_POSITION_CONTAINS=fd.contains,gd.prototype.DOCUMENT_POSITION_DISCONNECTED=fd.disconnect,gd.prototype.DOCUMENT_POSITION_FOLLOWING=fd.following,gd.prototype.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=fd.implementationSpecific,gd.prototype.DOCUMENT_POSITION_PRECEDING=fd.preceding;var _d=class extends gd{[S]=H.attributeNode;[w]=null;[T]=null;[O]=null;[wt]=null;[_]=null;[Bt]=!0;[Qe]=null;get specified(){return this[Bt]}get ownerElement(){return this[Qe]}get value(){return this[_]}set value(e){this[_]=e}get name(){return this[T]||``}get localName(){return this[O]||``}get prefix(){return this[wt]}get textContent(){return this[_]||``}get namespaceURI(){return this[w]}[Pn](e=!1){let t=super[Pn](e);return t[w]=this[w],t[T]=this[T],t[O]=this[O],t[wt]=this[wt],t[_]=this[_],t[Bt]=this[Bt],t}},vd=class{static appendData(e,t){e.data+=t}static deleteData(e,t,n){e.data=e.data.substring(0,t)+e.data.substring(t+n)}static insertData(e,t,n){e.data=e.data.substring(0,t)+n+e.data.substring(t)}static replaceData(e,t,n,r){e.data=e.data.substring(0,t)+r+e.data.substring(t+n)}static substringData(e,t,n){return e.data.substring(t,t+n)}},yd=class{static previousElementSibling(e){let t=e.previousSibling;for(;t&&t[S]!==H.elementNode;)t=t.previousSibling;return t}static nextElementSibling(e){let t=e.nextSibling;for(;t&&t[S]!==H.elementNode;)t=t.nextSibling;return t}},bd=class{static remove(e){e[x]&&e[x].removeChild(e)}static replaceWith(e,...t){let n=e[x];if(n){for(let r of t)r instanceof gd?n.insertBefore(r,e):n.insertBefore(n[h].createTextNode(String(r)),e);n.removeChild(e)}}static before(e,...t){let n=e[x];if(n)for(let r of t)r instanceof gd?n.insertBefore(r,e):n.insertBefore(n[h].createTextNode(String(r)),e)}static after(e,...t){let n=e[x];if(!n)return;let r=e.nextSibling;for(let e of t){let t=e instanceof gd?e:n[h].createTextNode(String(e));r?n.insertBefore(t,r):n.appendChild(t)}}},xd=class extends gd{[je]=``;constructor(e){super(),this[je]=e===void 0?``:String(e)}get length(){return this[je].length}get data(){return this[je]}set data(e){let t=this[je];this[je]=String(e),this[ht](new nd({target:this,type:md.characterData,oldValue:t}))}get textContent(){return this[je]}set textContent(e){this.data=e}get nodeValue(){return this[je]}set nodeValue(e){this.textContent=e}get previousElementSibling(){return yd.previousElementSibling(this)}get nextElementSibling(){return yd.nextElementSibling(this)}appendData(e){vd.appendData(this,e)}deleteData(e,t){vd.deleteData(this,e,t)}insertData(e,t){vd.insertData(this,e,t)}replaceData(e,t,n){vd.replaceData(this,e,t,n)}substringData(e,t){return vd.substringData(this,e,t)}remove(){bd.remove(this)}replaceWith(...e){bd.replaceWith(this,...e)}before(...e){bd.before(this,...e)}after(...e){bd.after(this,...e)}[Pn](e=!1){let t=super[Pn](e);return t[je]=this[je],t}},Sd=class extends gd{[S]=H.documentTypeNode;[T]=``;[Wt]=``;[Gt]=``;get name(){return this[T]}get publicId(){return this[Wt]}get systemId(){return this[Gt]}get nodeName(){return this.name}toString(){return`[object DocumentType]`}[Pn](e=!1){let t=super[Pn](e);return t[T]=this[T],t[Wt]=this[Wt],t[Gt]=this[Gt],t}},Cd;(function(e){e.loading=`loading`,e.interactive=`interactive`,e.complete=`complete`})(Cd||={});var wd=Cd,Td=class{#e;constructor(e){this.#e=new Ps(e)}waitUntilComplete(){return this.#e.waitUntilComplete()}startTask(){return this.#e.startTask()}endTask(e){this.#e.endTask(e)}destroy(){return this.#e.destroy()}},Ed=class e{[E]=0;[D]=0;[v]=0;[m]=0;constructor(e,t,n,r){this[E]=e==null?0:Number(e),this[D]=t==null?0:Number(t),this[v]=n==null?0:Number(n),this[m]=r==null?0:Number(r)}get x(){return this[E]}get y(){return this[D]}get width(){return this[v]}get height(){return this[m]}get top(){return Math.min(this[D],this[D]+this[m])}get right(){return Math.max(this[E],this[E]+this[v])}get bottom(){return Math.max(this[D],this[D]+this[m])}get left(){return Math.min(this[E],this[E]+this[v])}toJSON(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}}static fromRect(t){return new e(t.x,t.y,t.width,t.height)}},Dd=class e extends Ed{set x(e){this[E]=e}get x(){return this[E]}set y(e){this[D]=e}get y(){return this[D]}set width(e){this[v]=e}get width(){return this[v]}set height(e){this[m]=e}get height(){return this[m]}static fromRect(t){return new e(t.x,t.y,t.width,t.height)}};const Od=/[\t\f\n\r ]+/;var kd=class e{[Qe];[lr];[j]={items:[],attributeValue:``};[Vo];[or];constructor(t,n,r,i){if(t!==M)throw TypeError(`Illegal constructor`);this[Qe]=n,this[lr]=r,this[Vo]=i||[];let a=new Vc(this,[e]),o=new Proxy(this,{get:(e,t)=>{if(t===`length`)return e[cr]().length;if(t in e||typeof t==`symbol`)return a.bind(t),e[t];let n=Number(t);if(!isNaN(n))return e[cr]()[n]},set(e,t,n){if(a.bind(t),typeof t==`symbol`)return e[t]=n,!0;let r=Number(t);return isNaN(r)&&(e[t]=n),!0},deleteProperty(e,t){if(typeof t==`symbol`)return delete e[t],!0;let n=Number(t);return isNaN(n)&&delete e[t],!0},ownKeys(e){return Object.keys(e[cr]())},has(e,t){if(t in e)return!0;if(typeof t==`symbol`)return!1;let n=Number(t);return!isNaN(n)&&n>=0&&n<e[cr]().length},defineProperty(e,t,n){return a.preventBinding(t),t in e&&(Object.defineProperty(e,t,n),!0)},getOwnPropertyDescriptor(e,t){if(t in e||typeof t==`symbol`)return;let n=Number(t),r=e[cr]();if(!isNaN(n)&&r[n])return{value:r[n],writable:!1,enumerable:!0,configurable:!0}}});return this[or]=o,o}get length(){return this[cr]().length}set value(e){this[Qe].setAttribute(this[lr],e)}get value(){return this[Qe].getAttribute(this[lr])||``}[Symbol.iterator](){return this[cr]().values()}item(e){let t=this[cr]();return typeof e==`number`?t[e]?t[e]:null:(e=Number(e),e=isNaN(e)?0:e,t[e]?t[e]:null)}replace(e,t){let n=this[cr]().slice(),r=n.indexOf(e);return r!==-1&&(n[r]=t,this[Qe].setAttribute(this[lr],n.join(` `)),!0)}supports(e){return this[Vo].includes(e)}values(){return this[cr]().values()}entries(){return this[cr]().entries()}forEach(e,t){let n=t??this[Qe][y],r=this[cr](),i=this[or]??this;for(let t=0,a=r.length;t<a;t++)e.call(n,r[t],t,i)}keys(){return this[cr]().keys()}add(...e){let t=this[cr]().slice(),n=new Set(t);for(let r of e)n.has(r)||(n.add(r),t.push(r));this[Qe].setAttribute(this[lr],t.join(` `))}remove(...e){let t=this[cr](),n=new Set(e),r=t.filter(e=>!n.has(e));this[Qe].setAttribute(this[lr],r.join(` `))}contains(e){return this[cr]().includes(e)}toggle(e,t){let n;return n=t===void 0?!this.contains(e):t,n?(this.add(e),!0):(this.remove(e),!1)}[cr](){let e=this[Qe].getAttribute(this[lr])??``,t=this[j];if(t.attributeValue===e)return t.items;let n=[],r=e.trim();if(r)for(let e of r.split(Od))n.includes(e)||n.push(e);return t.attributeValue=e,t.items=n,n}toString(){return this.value||``}},Ad=class e{[er];constructor(t,n){if(t!==M)throw TypeError(`Illegal constructor`);this[er]=n;let r=new Vc(this,this.constructor===e?[e]:[this.constructor,e]);return new Proxy(this,{get:(e,t)=>{if(t===`length`)return n().length;if(t in e||typeof t==`symbol`)return r.bind(t),e[t];let i=Number(t);return isNaN(i)?e.namedItem(t)||void 0:n()[i]},set(e,t,n){if(r.bind(t),typeof t==`symbol`)return e[t]=n,!0;let i=Number(t);return isNaN(i)&&(e[t]=n),!0},deleteProperty(e,t){if(typeof t==`symbol`)return delete e[t],!0;let n=Number(t);return isNaN(n)&&delete e[t],!0},ownKeys(){let e=[],t=n();for(let n=0;n<t.length;n++){let r=t[n],i=r.getAttribute(`id`)||r.getAttribute(`name`);e.push(String(n)),i&&e.push(i)}return e},has(e,t){if(t in e)return!0;let r=n(),i=Number(t);if(!isNaN(i)&&i>=0&&i<r.length)return!0;t=String(t);for(let e=0;e<r.length;e++){let n=r[e],i=n.getAttribute(`id`)||n.getAttribute(`name`);if(i&&i===t)return!0}return!1},defineProperty(e,t,n){return r.preventBinding(t),t in e&&(Object.defineProperty(e,t,n),!0)},getOwnPropertyDescriptor(e,t){if(t in e||typeof t==`symbol`)return;let r=n(),i=Number(t);if(!isNaN(i)&&i>=0&&i<r.length)return{value:r[i],writable:!1,enumerable:!0,configurable:!0};for(let e=0;e<r.length;e++){let n=r[e],i=n.getAttribute(`id`)||n.getAttribute(`name`);if(i&&i===t)return{value:n,writable:!1,enumerable:!0,configurable:!0}}}})}get length(){return this[er]().length}get[Symbol.toStringTag](){return this.constructor.name}toLocaleString(){return`[object ${this.constructor.name}]`}toString(){return`[object ${this.constructor.name}]`}item(e){let t=this[er]();return e>=0&&t[e]?t[e]:null}[Symbol.iterator](){return this[er]()[Symbol.iterator]()}namedItem(e){let t=this[er]();e=String(e);for(let n of t)if(n.getAttribute(`id`)===e||n.getAttribute(`name`)===e)return n;return null}},jd=class{static append(e,...t){for(let n of t)n instanceof gd?e.appendChild(n):e.appendChild(e[h].createTextNode(String(n)))}static prepend(e,...t){let n=e.firstChild;for(let r of t)r instanceof gd?e.insertBefore(r,n):e.insertBefore(e[h].createTextNode(String(r)),n)}static replaceChildren(e,...t){let n=e[A];for(;n.length;)e.removeChild(n[0]);this.append(e,...t)}static getElementsByClassName(e,t){return new Ad(M,()=>q.querySelectorAll(e,`.${t.replace(/\s+/gm,`.`)}`)[k])}static getElementsByTagName(e,t){let n=t.toUpperCase(),r=t===`*`,i=(e,t)=>{let a=[];for(let o of e[Xn]){(r||o[C].toUpperCase()===n)&&a.push(o),o[Zn].push(t);for(let e of i(o,t))a.push(e)}return a};return new Ad(M,()=>{let n=e[j].elementsByTagName,r=n.get(t);if(r?.result){let e=r.result.deref();if(e)return e}let a={result:null},o=i(e,a);return a.result=new WeakRef(o),n.set(t,a),o})}static getElementsByTagNameNS(e,t,n){let r=t===Il.html&&e[h][De]===`text/html`?n.toUpperCase():n,i=n===`*`,a=(e,n)=>{let o=[];for(let s of e[Xn]){(i||s[C]===r)&&s[w]===t&&o.push(s),s[Zn].push(n);for(let e of a(s,n))o.push(e)}return o};return new Ad(M,()=>{let t=e[j].elementsByTagNameNS,r=t.get(n);if(r?.result){let e=r.result.deref();if(e)return e}let i={result:null},o=a(e,i);return i.result=new WeakRef(o),t.set(n,i),o})}static getElementByTagName(e,t){let n=t.toUpperCase(),r=(e,t)=>{for(let i of e[Xn]){if(i[Zn].push(t),i[C]===n)return i;let e=r(i,t);if(e)return e}return null},i=e[j].elementByTagName,a=i.get(t);if(a?.result){let e=a.result.deref();if(e)return e}let o={result:null},s=r(e,o);return o.result=s?new WeakRef(s):{deref:()=>null},i.set(t,o),s}static getElementById(e,t){if(t=String(t),e[S]===gd.DOCUMENT_NODE){let n=e[gr].get(t);return n&&n.elements.length>0?n.elements[0]:null}let n=(e,r)=>{for(let i of e[Xn]){if(i[Zn].push(r),i.getAttribute(`id`)===t)return i;let e=n(i,r);if(e)return e}return null},r=e[j].elementById,i=r.get(t);if(i?.result){let e=i.result.deref();if(e)return e}let a={result:null},o=n(e,a);return a.result=o?new WeakRef(o):{deref:()=>null},r.set(t,a),o}},Md=class extends Array{constructor(e){if(super(),e!==1&&e!==M)throw TypeError(`Illegal constructor`)}item(e){return this[e]??null}},Nd=class{[ar]=new Map;[Je]=new Map;[k]=new Map;constructor(e){this[Qe]=e}get length(){return this[k].size}get[Symbol.toStringTag](){return`NamedNodeMap`}toString(){return`[object NamedNodeMap]`}[Symbol.iterator](){return this[k].values()}item(e){let t=Array.from(this[k].values());return e>=0&&t[e]?t[e]:null}getNamedItem(e){return e=String(e),this[Qe][w]===Il.html&&this[Qe][h][De]===`text/html`?this[Je].get(Vl.asciiLowerCase(e))?.[0]||null:this[Je].get(e)?.[0]||null}getNamedItemNS(e,t){let n=this[ar].get(`${e||``}:${t}`);return n&&(!n[wt]||n[w])?n:null}setNamedItem(e){return this[sr](e)}setNamedItemNS(e){return this[sr](e)}removeNamedItem(e){let t=this.getNamedItem(e);if(!t)throw new this[Qe][y].DOMException(`Failed to execute 'removeNamedItem' on 'NamedNodeMap': No item with name '${e}' was found.`,V.notFoundError);return this[Un](t),t}removeNamedItemNS(e,t){let n=this.getNamedItemNS(e,t);if(!n)throw new this[Qe][y].DOMException(`Failed to execute 'removeNamedItemNS' on 'NamedNodeMap': No item with name '${t}' in namespace '${e}' was found.`,V.notFoundError);return this[Un](n),n}[sr](e,t=!1){if(e[Qe]!==null&&e[Qe]!==this[Qe])throw new this[Qe][y].DOMException(`The attribute is in use.`,V.inUseAttributeError);e[Qe]=this[Qe];let n=this.getNamedItemNS(e[w],e[O])||null,r=this[Je].get(e[T]);if(n===e)return e;if(this[ar].set(`${e[w]||``}:${e[O]}`,e),this[k].set(`${e[w]||``}:${e[T]}`,e),!r?.length)this[Je].set(e[T],[e]);else{let t=r.indexOf(n);t!==-1&&r.splice(t,1),r.push(e)}return t||this[Qe][Jn](e,n),n}[Un](e,t=!1){e[Qe]=null,this[ar].delete(`${e[w]||``}:${e[O]}`),this[k].delete(`${e[w]||``}:${e[T]}`);let n=this[Je].get(e[T]);if(n?.length){let t=n.indexOf(e);t!==-1&&n.splice(t,1),n.length||this[Je].delete(e[T])}t||this[Qe][Yn](e)}},Pd=class{static createProxy(e){let t=new Vc(this,[Nd]);return new Proxy(e,{get:(n,r)=>{if(r===`length`)return e[k].size;if(r in n||typeof r==`symbol`)return t.bind(r),n[r];let i=Number(r);return isNaN(i)?n.getNamedItem(r)||void 0:n.item(i)},set(e,n,r){if(t.bind(n),typeof n==`symbol`)return e[n]=r,!0;let i=Number(n);return isNaN(i)&&(e[n]=r),!0},deleteProperty(e,t){if(typeof t==`symbol`)return delete e[t],!0;let n=Number(t);return isNaN(n)&&delete e[t],!0},ownKeys(){let t=Array.from(e[k].keys());for(let n=0,r=e[k].size;n<r;n++)t.push(String(n));return t},has(t,n){if(typeof n==`symbol`)return!1;if(n in t||e[k].has(n))return!0;let r=Number(n);return!isNaN(r)&&r>=0&&r<e[k].size},defineProperty(e,n,r){return t.preventBinding(n),n in e&&(Object.defineProperty(e,n,r),!0)},getOwnPropertyDescriptor(t,n){if(n in t||typeof n==`symbol`)return;let r=Number(n);if(!isNaN(r)){if(r>=0){let e=t.item(r);if(e)return{value:e,writable:!1,enumerable:!0,configurable:!0}}return}let i=e[k].get(n);if(i)return{value:i,writable:!1,enumerable:!0,configurable:!0}}})}},Fd;(function(e){e.rawText=`rawText`,e.noSelfDescendants=`noSelfDescendants`,e.noFirstLevelSelfDescendants=`noFirstLevelSelfDescendants`,e.noForbiddenFirstLevelDescendants=`noForbiddenFirstLevelDescendants`,e.noDescendants=`noDescendants`,e.permittedDescendants=`permittedDescendants`,e.textOrComments=`textOrComments`,e.anyDescendants=`anyDescendants`})(Fd||={});var X=Fd,Id={a:{className:`HTMLAnchorElement`,contentModel:X.noSelfDescendants},abbr:{className:`HTMLElement`,contentModel:X.anyDescendants},address:{className:`HTMLElement`,contentModel:X.anyDescendants},area:{className:`HTMLAreaElement`,contentModel:X.noDescendants},article:{className:`HTMLElement`,contentModel:X.anyDescendants},aside:{className:`HTMLElement`,contentModel:X.anyDescendants},audio:{className:`HTMLAudioElement`,contentModel:X.anyDescendants},b:{className:`HTMLElement`,contentModel:X.anyDescendants},base:{className:`HTMLBaseElement`,contentModel:X.noDescendants},bdi:{className:`HTMLElement`,contentModel:X.anyDescendants},bdo:{className:`HTMLElement`,contentModel:X.anyDescendants},body:{className:`HTMLBodyElement`,contentModel:X.anyDescendants},template:{className:`HTMLTemplateElement`,contentModel:X.anyDescendants},form:{className:`HTMLFormElement`,contentModel:X.anyDescendants},input:{className:`HTMLInputElement`,contentModel:X.noDescendants},textarea:{className:`HTMLTextAreaElement`,contentModel:X.anyDescendants},script:{className:`HTMLScriptElement`,contentModel:X.rawText},img:{className:`HTMLImageElement`,contentModel:X.noDescendants},link:{className:`HTMLLinkElement`,contentModel:X.noDescendants},style:{className:`HTMLStyleElement`,contentModel:X.rawText},label:{className:`HTMLLabelElement`,contentModel:X.anyDescendants},slot:{className:`HTMLSlotElement`,contentModel:X.anyDescendants},meta:{className:`HTMLMetaElement`,contentModel:X.noDescendants},blockquote:{className:`HTMLQuoteElement`,contentModel:X.anyDescendants},br:{className:`HTMLBRElement`,contentModel:X.noDescendants},button:{className:`HTMLButtonElement`,contentModel:X.anyDescendants},canvas:{className:`HTMLCanvasElement`,contentModel:X.anyDescendants},caption:{className:`HTMLTableCaptionElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`table`,`tbody`,`thead`,`tfoot`,`tr`,`td`,`th`,`col`,`colgroup`],permittedParents:[`table`]},cite:{className:`HTMLElement`,contentModel:X.anyDescendants},code:{className:`HTMLElement`,contentModel:X.anyDescendants},col:{className:`HTMLTableColElement`,contentModel:X.noDescendants,permittedParents:[`colgroup`]},colgroup:{className:`HTMLTableColElement`,contentModel:X.permittedDescendants,permittedDescendants:[`col`]},data:{className:`HTMLDataElement`,contentModel:X.anyDescendants},datalist:{className:`HTMLDataListElement`,contentModel:X.anyDescendants},dd:{className:`HTMLElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`dt`,`dd`]},del:{className:`HTMLModElement`,contentModel:X.anyDescendants},details:{className:`HTMLDetailsElement`,contentModel:X.anyDescendants},dfn:{className:`HTMLElement`,contentModel:X.anyDescendants},dialog:{className:`HTMLDialogElement`,contentModel:X.anyDescendants},div:{className:`HTMLDivElement`,contentModel:X.anyDescendants},dl:{className:`HTMLDListElement`,contentModel:X.anyDescendants},dt:{className:`HTMLElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`dt`,`dd`]},em:{className:`HTMLElement`,contentModel:X.anyDescendants},embed:{className:`HTMLEmbedElement`,contentModel:X.noDescendants},fieldset:{className:`HTMLFieldSetElement`,contentModel:X.anyDescendants},figcaption:{className:`HTMLElement`,contentModel:X.anyDescendants},figure:{className:`HTMLElement`,contentModel:X.anyDescendants},footer:{className:`HTMLElement`,contentModel:X.anyDescendants},h1:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h2:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h3:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h4:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h5:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},h6:{className:`HTMLHeadingElement`,contentModel:X.noFirstLevelSelfDescendants},head:{className:`HTMLHeadElement`,contentModel:X.anyDescendants},header:{className:`HTMLElement`,contentModel:X.anyDescendants},hgroup:{className:`HTMLElement`,contentModel:X.anyDescendants},hr:{className:`HTMLHRElement`,contentModel:X.noDescendants},html:{className:`HTMLHtmlElement`,contentModel:X.anyDescendants},i:{className:`HTMLElement`,contentModel:X.anyDescendants},iframe:{className:`HTMLIFrameElement`,contentModel:X.anyDescendants},ins:{className:`HTMLModElement`,contentModel:X.anyDescendants},kbd:{className:`HTMLElement`,contentModel:X.anyDescendants},legend:{className:`HTMLLegendElement`,contentModel:X.anyDescendants},li:{className:`HTMLLIElement`,contentModel:X.noFirstLevelSelfDescendants},main:{className:`HTMLElement`,contentModel:X.anyDescendants},map:{className:`HTMLMapElement`,contentModel:X.anyDescendants},mark:{className:`HTMLElement`,contentModel:X.anyDescendants},menu:{className:`HTMLMenuElement`,contentModel:X.anyDescendants},meter:{className:`HTMLMeterElement`,contentModel:X.anyDescendants},nav:{className:`HTMLElement`,contentModel:X.anyDescendants},noscript:{className:`HTMLElement`,contentModel:X.anyDescendants},object:{className:`HTMLObjectElement`,contentModel:X.anyDescendants},ol:{className:`HTMLOListElement`,contentModel:X.anyDescendants},optgroup:{className:`HTMLOptGroupElement`,contentModel:X.noFirstLevelSelfDescendants},option:{className:`HTMLOptionElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`option`,`optgroup`]},output:{className:`HTMLOutputElement`,contentModel:X.anyDescendants},p:{className:`HTMLParagraphElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:`address.article.aside.blockquote.details.dialog.div.dl.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.hr.main.menu.nav.ol.p.pre.section.table.ul`.split(`.`)},param:{className:`HTMLParamElement`,contentModel:X.noDescendants},picture:{className:`HTMLPictureElement`,contentModel:X.anyDescendants},pre:{className:`HTMLPreElement`,contentModel:X.anyDescendants},progress:{className:`HTMLProgressElement`,contentModel:X.anyDescendants},q:{className:`HTMLQuoteElement`,contentModel:X.anyDescendants},rb:{className:`HTMLElement`,contentModel:X.anyDescendants},rp:{className:`HTMLElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`rp`,`rt`]},rt:{className:`HTMLElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`rp`,`rt`]},rtc:{className:`HTMLElement`,contentModel:X.anyDescendants},ruby:{className:`HTMLElement`,contentModel:X.anyDescendants},s:{className:`HTMLElement`,contentModel:X.anyDescendants},samp:{className:`HTMLElement`,contentModel:X.anyDescendants},section:{className:`HTMLElement`,contentModel:X.anyDescendants},select:{className:`HTMLSelectElement`,contentModel:X.anyDescendants},small:{className:`HTMLElement`,contentModel:X.anyDescendants},source:{className:`HTMLSourceElement`,contentModel:X.noDescendants},span:{className:`HTMLSpanElement`,contentModel:X.anyDescendants},strong:{className:`HTMLElement`,contentModel:X.anyDescendants},sub:{className:`HTMLElement`,contentModel:X.anyDescendants},summary:{className:`HTMLElement`,contentModel:X.anyDescendants},sup:{className:`HTMLElement`,contentModel:X.anyDescendants},table:{className:`HTMLTableElement`,contentModel:X.permittedDescendants,permittedDescendants:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`],moveForbiddenDescendant:{exclude:[]}},tbody:{className:`HTMLTableSectionElement`,contentModel:X.permittedDescendants,permittedDescendants:[`tr`],permittedParents:[`table`],moveForbiddenDescendant:{exclude:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`]}},td:{className:`HTMLTableCellElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`td`,`th`,`tr`,`tbody`,`tfoot`,`thead`],permittedParents:[`tr`]},tfoot:{className:`HTMLTableSectionElement`,contentModel:X.permittedDescendants,permittedDescendants:[`tr`],permittedParents:[`table`],moveForbiddenDescendant:{exclude:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`]}},th:{className:`HTMLTableCellElement`,contentModel:X.noForbiddenFirstLevelDescendants,forbiddenDescendants:[`td`,`th`,`tr`,`tbody`,`tfoot`,`thead`],permittedParents:[`tr`]},thead:{className:`HTMLTableSectionElement`,contentModel:X.permittedDescendants,permittedDescendants:[`tr`],permittedParents:[`table`],moveForbiddenDescendant:{exclude:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`]}},time:{className:`HTMLTimeElement`,contentModel:X.anyDescendants},title:{className:`HTMLTitleElement`,contentModel:X.anyDescendants},tr:{className:`HTMLTableRowElement`,contentModel:X.permittedDescendants,permittedDescendants:[`td`,`th`],permittedParents:[`tbody`,`tfoot`,`thead`],addPermittedParent:`tbody`,moveForbiddenDescendant:{exclude:[`caption`,`colgroup`,`thead`,`tfoot`,`tbody`,`tr`]}},track:{className:`HTMLTrackElement`,contentModel:X.noDescendants},u:{className:`HTMLElement`,contentModel:X.anyDescendants},ul:{className:`HTMLUListElement`,contentModel:X.anyDescendants},var:{className:`HTMLElement`,contentModel:X.anyDescendants},video:{className:`HTMLVideoElement`,contentModel:X.anyDescendants},wbr:{className:`HTMLElement`,contentModel:X.noDescendants}};const Ld=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Rd=String.fromCodePoint??(e=>{let t=``;return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t});function zd(e){return e>=55296&&e<=57343||e>1114111?65533:Ld.get(e)??e}function Bd(e){let t=typeof atob==`function`?atob(e):typeof Buffer.from==`function`?Buffer.from(e,`base64`).toString(`binary`):new Buffer(e,`base64`).toString(`binary`),n=t.length&-2,r=new Uint16Array(n/2);for(let e=0,i=0;e<n;e+=2){let n=t.charCodeAt(e),a=t.charCodeAt(e+1);r[i++]=n|a<<8}return r}const Vd=Bd(`QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg`),Hd=Bd(`AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg`);var Ud;(function(e){e[e.VALUE_LENGTH=49152]=`VALUE_LENGTH`,e[e.FLAG13=8192]=`FLAG13`,e[e.BRANCH_LENGTH=8064]=`BRANCH_LENGTH`,e[e.JUMP_TABLE=127]=`JUMP_TABLE`})(Ud||={});var Wd;(function(e){e[e.NUM=35]=`NUM`,e[e.SEMI=59]=`SEMI`,e[e.EQUALS=61]=`EQUALS`,e[e.ZERO=48]=`ZERO`,e[e.NINE=57]=`NINE`,e[e.LOWER_A=97]=`LOWER_A`,e[e.LOWER_F=102]=`LOWER_F`,e[e.LOWER_X=120]=`LOWER_X`,e[e.LOWER_Z=122]=`LOWER_Z`,e[e.UPPER_A=65]=`UPPER_A`,e[e.UPPER_F=70]=`UPPER_F`,e[e.UPPER_Z=90]=`UPPER_Z`})(Wd||={});function Gd(e){return e>=Wd.ZERO&&e<=Wd.NINE}function Kd(e){return e>=Wd.UPPER_A&&e<=Wd.UPPER_F||e>=Wd.LOWER_A&&e<=Wd.LOWER_F}function qd(e){return e>=Wd.UPPER_A&&e<=Wd.UPPER_Z||e>=Wd.LOWER_A&&e<=Wd.LOWER_Z||Gd(e)}function Jd(e){return e===Wd.EQUALS||qd(e)}var Yd;(function(e){e[e.EntityStart=0]=`EntityStart`,e[e.NumericStart=1]=`NumericStart`,e[e.NumericDecimal=2]=`NumericDecimal`,e[e.NumericHex=3]=`NumericHex`,e[e.NamedEntity=4]=`NamedEntity`})(Yd||={});var Xd;(function(e){e[e.Legacy=0]=`Legacy`,e[e.Strict=1]=`Strict`,e[e.Attribute=2]=`Attribute`})(Xd||={});var Zd=class{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=Yd.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Xd.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=Yd.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case Yd.EntityStart:return e.charCodeAt(t)===Wd.NUM?(this.state=Yd.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=Yd.NamedEntity,this.stateNamedEntity(e,t));case Yd.NumericStart:return this.stateNumericStart(e,t);case Yd.NumericDecimal:return this.stateNumericDecimal(e,t);case Yd.NumericHex:return this.stateNumericHex(e,t);case Yd.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(e.charCodeAt(t)|32)===Wd.LOWER_X?(this.state=Yd.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=Yd.NumericDecimal,this.stateNumericDecimal(e,t))}stateNumericHex(e,t){for(;t<e.length;){let n=e.charCodeAt(t);if(Gd(n)||Kd(n)){let e=n<=Wd.NINE?n-Wd.ZERO:(n|32)-Wd.LOWER_A+10;this.result=this.result*16+e,this.consumed++,t++}else return this.emitNumericEntity(n,3)}return-1}stateNumericDecimal(e,t){for(;t<e.length;){let n=e.charCodeAt(t);if(Gd(n))this.result=this.result*10+(n-Wd.ZERO),this.consumed++,t++;else return this.emitNumericEntity(n,2)}return-1}emitNumericEntity(e,t){var n;if(this.consumed<=t)return(n=this.errors)==null||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Wd.SEMI)this.consumed+=1;else if(this.decodeMode===Xd.Strict)return 0;return this.emitCodePoint(zd(this.result),this.consumed),this.errors&&(e!==Wd.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,t){let{decodeTree:n}=this,r=n[this.treeIndex],i=(r&Ud.VALUE_LENGTH)>>14;for(;t<e.length;){if(i===0&&(r&Ud.FLAG13)!==0){let a=(r&Ud.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let n=r&Ud.JUMP_TABLE;if(e.charCodeAt(t)!==n)return this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}for(;this.runConsumed<a;){if(t>=e.length)return-1;let r=this.runConsumed-1,i=n[this.treeIndex+1+(r>>1)],a=r%2==0?i&255:i>>8&255;if(e.charCodeAt(t)!==a)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(a>>1),r=n[this.treeIndex],i=(r&Ud.VALUE_LENGTH)>>14}if(t>=e.length)break;let a=e.charCodeAt(t);if(a===Wd.SEMI&&i!==0&&(r&Ud.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=$d(n,r,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===Xd.Attribute&&(i===0||Jd(a))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&Ud.VALUE_LENGTH)>>14,i!==0){if(a===Wd.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Xd.Strict&&(r&Ud.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:n}=this,r=(n[t]&Ud.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(e=this.errors)==null||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){let{decodeTree:r}=this;return this.emitCodePoint(t===1?r[e]&~(Ud.VALUE_LENGTH|Ud.FLAG13):r[e+1],n),t===3&&this.emitCodePoint(r[e+2],n),n}end(){var e;switch(this.state){case Yd.NamedEntity:return this.result!==0&&(this.decodeMode!==Xd.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Yd.NumericDecimal:return this.emitNumericEntity(0,2);case Yd.NumericHex:return this.emitNumericEntity(0,3);case Yd.NumericStart:return(e=this.errors)==null||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Yd.EntityStart:return 0}}};function Qd(e){let t=``,n=new Zd(e,e=>t+=Rd(e));return function(e,r){let i=0,a=0;for(;(a=e.indexOf(`&`,a))>=0;){t+=e.slice(i,a),n.startEntity(r);let o=n.write(e,a+1);if(o<0){i=a+n.end();break}i=a+o,a=o===0?i+1:i}let o=t+e.slice(i);return t=``,o}}function $d(e,t,n,r){let i=(t&Ud.BRANCH_LENGTH)>>7,a=t&Ud.JUMP_TABLE;if(i===0)return a!==0&&r===a?n:-1;if(a){let t=r-a;return t<0||t>=i?-1:e[n+t]-1}let o=i+1>>1,s=0,c=i-1;for(;s<=c;){let t=s+c>>>1,i=e[n+(t>>1)]>>(t&1)*8&255;if(i<r)s=t+1;else if(i>r)c=t-1;else return e[n+o+t]}return-1}const ef=Qd(Vd),tf=Qd(Hd);function nf(e,t=Xd.Legacy){return ef(e,t)}function rf(e){return ef(e,Xd.Attribute)}function af(e){return tf(e,Xd.Strict)}String.prototype.codePointAt;function of(e,t){return function(n){let r,i=0,a=``;for(;r=e.exec(n);)i!==r.index&&(a+=n.substring(i,r.index)),a+=t.get(r[0].charCodeAt(0)),i=r.index+1;return a+n.substring(i)}}const sf=of(/[&<>\u00A0]/g,new Map([[38,`&`],[60,`<`],[62,`>`],[160,` `]])),cf=/[&"<>\t\n\r]/g,lf=/[&"]/g,uf=/&(?:nbsp|lt|gt|amp);/g,df={"&":`&`,'"':`"`,"<":`<`,">":`>`," ":`	`,"\n":`
`,"\r":`
`},ff={"&":`&`,'"':`"`},pf={" ":`\xA0`,"<":`<`,">":`>`,"&":`&`};var mf=class{static encodeXMLAttributeValue(e){return e===null?``:e.replace(cf,e=>df[e])}static decodeXMLAttributeValue(e){return e===null?``:af(e)}static encodeHTMLAttributeValue(e){return e===null?``:e.replace(lf,e=>ff[e])}static decodeHTMLAttributeValue(e){return e===null?``:rf(e)}static encodeTextContent(e){return e===null?``:sf(e)}static decodeTextContent(e){return e===null?``:e.replace(uf,e=>pf[e])}static decodeHTMLEntities(e){return e===null?``:nf(e)}static decodeXMLEntities(e){return e===null?``:af(e)}},hf=class{options={serializableShadowRoots:!1,shadowRoots:null,allShadowRoots:!1,excludeShadowRootTags:null};constructor(e){e&&(e.serializableShadowRoots&&(this.options.serializableShadowRoots=e.serializableShadowRoots),e.shadowRoots&&(this.options.shadowRoots=e.shadowRoots),e.allShadowRoots&&(this.options.allShadowRoots=e.allShadowRoots),e.excludeShadowRootTags&&(this.options.excludeShadowRootTags=e.excludeShadowRootTags))}serializeToString(e){switch(e[S]){case H.elementNode:let t=e,n=t[wt],r=t[O],i=Id[t[O]],a=n?`${n}:${r}`:r;if(i?.contentModel===X.noDescendants)return`<${a}${this.getAttributes(t)}>`;let o=``;if(t.shadowRoot&&(this.options.allShadowRoots||this.options.serializableShadowRoots&&t.shadowRoot[yr]||this.options.shadowRoots?.includes(t.shadowRoot))&&(!this.options.excludeShadowRootTags||!this.options.excludeShadowRootTags.includes(a))){o+=`<template shadowrootmode="${t.shadowRoot[Sn]}"${t.shadowRoot[yr]?` shadowrootserializable=""`:``}>`;for(let e of t.shadowRoot[A])o+=this.serializeToString(e);o+=`</template>`}let s=a===`template`?e.content[A]:e[A];for(let e of s)o+=this.serializeToString(e);return`<${a}${this.getAttributes(t)}>${o}</${a}>`;case gd.DOCUMENT_FRAGMENT_NODE:case gd.DOCUMENT_NODE:let c=``;for(let t of e[A])c+=this.serializeToString(t);return c;case H.commentNode:return`<!--${e.textContent}-->`;case H.processingInstructionNode:return`<!--?${e.target} ${e.textContent}?-->`;case H.textNode:let l=e.parentElement;return l&&Id[l[O]]?.contentModel===X.rawText?e.textContent:mf.encodeTextContent(e.textContent);case H.documentTypeNode:let u=e,d=u.publicId?` PUBLIC`:u.systemId?` SYSTEM`:``,f=u.publicId?` "${u.publicId}"`:``,ee=u.systemId?` "${u.systemId}"`:``;return`<!DOCTYPE ${u.name}${d}${f}${ee}>`}return``}getAttributes(e){let t=``,n=e[kt][k];!n.has(`:is`)&&e[Ge]&&(t+=` is="`+mf.encodeHTMLAttributeValue(e[Ge])+`"`);for(let e of n.values()){let n=mf.encodeHTMLAttributeValue(e[_]);t+=` `+e[T]+`="`+n+`"`}return t}},gf={svg:{localName:`svg`,className:`SVGSVGElement`},animate:{localName:`animate`,className:`SVGAnimateElement`},animatemotion:{localName:`animateMotion`,className:`SVGAnimateMotionElement`},animatetransform:{localName:`animateTransform`,className:`SVGAnimateTransformElement`},circle:{localName:`circle`,className:`SVGCircleElement`},clippath:{localName:`clipPath`,className:`SVGClipPathElement`},defs:{localName:`defs`,className:`SVGDefsElement`},desc:{localName:`desc`,className:`SVGDescElement`},ellipse:{localName:`ellipse`,className:`SVGEllipseElement`},feblend:{localName:`feBlend`,className:`SVGFEBlendElement`},fecolormatrix:{localName:`feColorMatrix`,className:`SVGFEColorMatrixElement`},fecomponenttransfer:{localName:`feComponentTransfer`,className:`SVGFEComponentTransferElement`},fecomposite:{localName:`feComposite`,className:`SVGFECompositeElement`},feconvolvematrix:{localName:`feConvolveMatrix`,className:`SVGFEConvolveMatrixElement`},fediffuselighting:{localName:`feDiffuseLighting`,className:`SVGFEDiffuseLightingElement`},fedisplacementmap:{localName:`feDisplacementMap`,className:`SVGFEDisplacementMapElement`},fedistantlight:{localName:`feDistantLight`,className:`SVGFEDistantLightElement`},fedropshadow:{localName:`feDropShadow`,className:`SVGFEDropShadowElement`},feflood:{localName:`feFlood`,className:`SVGFEFloodElement`},fefunca:{localName:`feFuncA`,className:`SVGFEFuncAElement`},fefuncb:{localName:`feFuncB`,className:`SVGFEFuncBElement`},fefuncg:{localName:`feFuncG`,className:`SVGFEFuncGElement`},fefuncr:{localName:`feFuncR`,className:`SVGFEFuncRElement`},fegaussianblur:{localName:`feGaussianBlur`,className:`SVGFEGaussianBlurElement`},feimage:{localName:`feImage`,className:`SVGFEImageElement`},femerge:{localName:`feMerge`,className:`SVGFEMergeElement`},femergenode:{localName:`feMergeNode`,className:`SVGFEMergeNodeElement`},femorphology:{localName:`feMorphology`,className:`SVGFEMorphologyElement`},feoffset:{localName:`feOffset`,className:`SVGFEOffsetElement`},fepointlight:{localName:`fePointLight`,className:`SVGFEPointLightElement`},fespecularlighting:{localName:`feSpecularLighting`,className:`SVGFESpecularLightingElement`},fespotlight:{localName:`feSpotLight`,className:`SVGFESpotLightElement`},fetile:{localName:`feTile`,className:`SVGFETileElement`},feturbulence:{localName:`feTurbulence`,className:`SVGFETurbulenceElement`},filter:{localName:`filter`,className:`SVGFilterElement`},foreignobject:{localName:`foreignObject`,className:`SVGForeignObjectElement`},g:{localName:`g`,className:`SVGGElement`},image:{localName:`image`,className:`SVGImageElement`},line:{localName:`line`,className:`SVGLineElement`},lineargradient:{localName:`linearGradient`,className:`SVGLinearGradientElement`},marker:{localName:`marker`,className:`SVGMarkerElement`},mask:{localName:`mask`,className:`SVGMaskElement`},metadata:{localName:`metadata`,className:`SVGMetadataElement`},mpath:{localName:`mpath`,className:`SVGMPathElement`},path:{localName:`path`,className:`SVGPathElement`},pattern:{localName:`pattern`,className:`SVGPatternElement`},polygon:{localName:`polygon`,className:`SVGPolygonElement`},polyline:{localName:`polyline`,className:`SVGPolylineElement`},radialgradient:{localName:`radialGradient`,className:`SVGRadialGradientElement`},rect:{localName:`rect`,className:`SVGRectElement`},script:{localName:`script`,className:`SVGScriptElement`},set:{localName:`set`,className:`SVGSetElement`},stop:{localName:`stop`,className:`SVGStopElement`},style:{localName:`style`,className:`SVGStyleElement`},switch:{localName:`switch`,className:`SVGSwitchElement`},symbol:{localName:`symbol`,className:`SVGSymbolElement`},text:{localName:`text`,className:`SVGTextElement`},textpath:{localName:`textPath`,className:`SVGTextPathElement`},title:{localName:`title`,className:`SVGTitleElement`},tspan:{localName:`tspan`,className:`SVGTSpanElement`},use:{localName:`use`,className:`SVGUseElement`},view:{localName:`view`,className:`SVGViewElement`}};const _f=/<([^\s/!>?]+)|<\/([^\s/!>?]+)\s*>|(<!--)|(-->|--!>)|(<!)|(<\?)|(\/>)|(>)/gm,vf=/\s*([a-zA-Z0-9-_:.$@?\\<\[\]]+)\s*=\s*([^"'=<>\\`\s]+)|\s*([a-zA-Z0-9-_:.$@?\\<\[\]]+)\s*=\s*"([^"]*)("{0,1})|\s*([a-zA-Z0-9-_:.$@?\\<\[\]]+)\s*=\s*'([^']*)('{0,1})|\s*([a-zA-Z0-9-_:.$@?\\<\[\]]+)/gm,yf=/"([^"]+)"/gm,bf=/\s+/,xf=/^\s+/;var Sf;(function(e){e.any=`any`,e.startTag=`startTag`,e.comment=`comment`,e.documentType=`documentType`,e.processingInstruction=`processingInstruction`,e.rawTextElement=`rawTextElement`})(Sf||={});var Cf;(function(e){e[e.root=0]=`root`,e[e.doctype=1]=`doctype`,e[e.documentElement=2]=`documentElement`,e[e.head=3]=`head`,e[e.additionalHeadWithoutBody=4]=`additionalHeadWithoutBody`,e[e.body=5]=`body`,e[e.afterBody=6]=`afterBody`})(Cf||={});var wf=class{window;evaluateScripts=!1;isTemplateDocumentFragment=!1;rootNode=null;rootDocument=null;nodeStack=[];tagNameStack=[];documentStructure=null;startTagIndex=0;markupRegExp=null;nextElement=null;currentNode=null;readState=Sf.any;constructor(e,t){this.window=e,t?.evaluateScripts&&(this.evaluateScripts=!0),t?.isTemplateDocumentFragment&&(this.isTemplateDocumentFragment=!0)}parse(e,t){if(this.rootNode=t||this.window.document.createDocumentFragment(),this.rootDocument=this.rootNode[S]===H.documentNode?this.rootNode:this.window.document,this.nodeStack=[this.rootNode],this.tagNameStack=[null],this.currentNode=this.rootNode,this.readState=Sf.any,this.documentStructure=null,this.startTagIndex=0,this.markupRegExp=new RegExp(_f),this.rootNode[S]===H.documentNode){let{doctype:e,documentElement:t,head:n,body:r}=this.rootNode;if(!t||!n||!r)throw Error(`Failed to parse HTML: The root node must have "documentElement", "head" and "body".
|
|
69
69
|
|
|
70
70
|
We should not end up here and it is therefore a bug in Happy DOM. Please report this issue.`);this.documentStructure={nodes:{doctype:e||null,documentElement:t,head:n,body:r},level:Cf.root}}if(this.rootNode instanceof this.window.HTMLHtmlElement){let e=this.rootDocument.createElement(`head`),t=this.rootDocument.createElement(`body`);for(;this.rootNode[A].length>0;)this.rootNode[In](this.rootNode[A][this.rootNode[A].length-1]);this.rootNode[Fn](e),this.rootNode[Fn](t),this.documentStructure={nodes:{doctype:null,documentElement:this.rootNode,head:e,body:t},level:Cf.documentElement}}let n,r=0;for(e=String(e);n=this.markupRegExp.exec(e);){switch(this.readState){case Sf.any:n.index!==r&&(n[1]||n[2]||n[3]||n[4]||n[5]!==void 0||n[6])&&this.parsePlainText(e.substring(r,n.index)),n[1]?(this.nextElement=this.getStartTagElement(n[1]),this.startTagIndex=this.markupRegExp.lastIndex,this.readState=Sf.startTag):n[2]?this.parseEndTag(n[2]):n[3]?(this.startTagIndex=this.markupRegExp.lastIndex,this.readState=Sf.comment):n[5]===void 0?n[6]?(this.startTagIndex=this.markupRegExp.lastIndex,this.readState=Sf.processingInstruction):this.parsePlainText(e.substring(r,this.markupRegExp.lastIndex)):(this.startTagIndex=this.markupRegExp.lastIndex,this.readState=Sf.documentType);break;case Sf.startTag:if(n[7]||n[8]||n[2]){if(this.nextElement){let t=e.substring(this.startTagIndex,n[2]?this.markupRegExp.lastIndex-1:n.index),r=!!n[7];this.parseEndOfStartTag(t,r)}else this.readState=Sf.any}break;case Sf.comment:n[4]&&this.parseComment(e.substring(this.startTagIndex,n.index));break;case Sf.documentType:(n[7]||n[8])&&this.parseDocumentType(e.substring(this.startTagIndex,n.index));break;case Sf.processingInstruction:(n[7]||n[8])&&this.parseComment(`?`+e.substring(this.startTagIndex,n.index));break;case Sf.rawTextElement:n[2]&&this.parseRawTextElementContent(n[2],e.substring(this.startTagIndex,n.index))}r=this.markupRegExp.lastIndex}return r!==e.length&&this.currentNode&&this.parsePlainText(e.substring(r)),this.rootNode}parsePlainText(e){if(this.documentStructure){let t=this.documentStructure.level,{documentElement:n,head:r,body:i}=this.documentStructure.nodes,a=(this.currentNode===this.rootNode||this.currentNode===n)&&t<Cf.head&&i[Xn].length===0?e.replace(xf,``):e;if(a){let o=this.rootDocument.createTextNode(mf.decodeHTMLEntities(a));this.currentNode===r&&t===Cf.additionalHeadWithoutBody?n[Ln](o,i,!0):this.currentNode===this.rootNode||this.currentNode===n||this.currentNode===r&&t>=Cf.body?t===Cf.head?n[Ln](o,i,!0):i.lastChild?.[S]===H.textNode?i.lastChild[je]+=e:i[Fn](o,!0):this.currentNode[Fn](o,!0)}}else{let t=this.rootDocument.createTextNode(mf.decodeHTMLEntities(e));this.currentNode[Fn](t,!0)}}parseEndOfStartTag(e,t){if(e&&(!this.documentStructure||this.nextElement!==this.documentStructure.nodes.head||this.documentStructure.level<Cf.body)){let t=new RegExp(vf),n;for(;n=t.exec(e);)if(n[1]&&n[2]||n[3]&&n[5]===`"`||n[6]&&n[8]===`'`||n[9]){let e=n[1]||n[3]||n[6]||n[9]||``,t=n[2]||n[4]||n[7]||``,r=t?mf.decodeHTMLAttributeValue(t):``,i=this.nextElement[kt];if(this.nextElement[w]===Il.svg){let t=e.split(`:`),n=null;switch(t[0]){case`xmlns`:n=!t[1]||t[1]===`xlink`?Il.xmlns:null;break;case`xlink`:n=Il.xlink}if(!i.getNamedItemNS(n,t[1]??e)){let a=hd.createNode(this.rootDocument,this.window.Attr);a[w]=n,a[T]=e,a[O]=n&&t[1]?t[1]:e,a[wt]=n&&t[1]?t[0]:null,a[_]=r,i[sr](a)}}else if(!i.getNamedItem(e)){let t=this.rootDocument.createAttribute(e);t[_]=r,i[sr](t)}this.startTagIndex+=n[0].length}else if(!n[1]&&(n[3]&&!n[5]||n[6]&&!n[8]))return}let n=this.nextElement[C],r=n.toLowerCase(),i=Id[r],a=null;for(;a!==this.rootNode;){let e=this.currentNode[C]?.toLowerCase(),t=e?Id[e]:null;if(a===this.currentNode)throw Error(`Failed to parse HTML: The parser is stuck in an infinite loop. Please report this issue.`);if(a=this.currentNode,i?.contentModel===X.noFirstLevelSelfDescendants&&this.tagNameStack[this.tagNameStack.length-1]===n||t?.contentModel===X.textOrComments||t?.contentModel===X.noForbiddenFirstLevelDescendants&&t?.forbiddenDescendants?.includes(r)||t?.contentModel===X.permittedDescendants&&!t?.permittedDescendants?.includes(r)&&(!i||!i.addPermittedParent||Id[i.addPermittedParent].permittedParents&&!Id[i.addPermittedParent].permittedParents.includes(e)||Id[i.addPermittedParent].permittedDescendants&&!Id[i.addPermittedParent].permittedDescendants.includes(r))){if(t?.contentModel===X.permittedDescendants&&t.moveForbiddenDescendant&&!t.moveForbiddenDescendant.exclude.includes(r)){let e=this.currentNode;for(;e&&!(!e.parentNode||!Id[e.parentNode[O]]?.permittedDescendants||Id[e.parentNode[O]]?.permittedDescendants?.includes(r));)e=e.parentNode;e&&e.parentNode?e.parentNode.insertBefore(this.nextElement,e):e.appendChild(this.nextElement),this.startTagIndex=this.markupRegExp.lastIndex,this.readState=Sf.any;return}this.nodeStack.pop(),this.tagNameStack.pop(),this.currentNode=this.nodeStack[this.nodeStack.length-1]||this.rootNode}else if(i?.contentModel===X.noSelfDescendants&&this.tagNameStack.includes(n))for(;this.currentNode!==this.rootNode;){if(this.currentNode[C]===n){this.nodeStack.pop(),this.tagNameStack.pop(),this.currentNode=this.nodeStack[this.nodeStack.length-1]||this.rootNode;break}this.nodeStack.pop(),this.tagNameStack.pop(),this.currentNode=this.nodeStack[this.nodeStack.length-1]||this.rootNode}else if(!this.isTemplateDocumentFragment&&i?.permittedParents&&!i.permittedParents.includes(e)){if(!i.addPermittedParent||Id[i.addPermittedParent].permittedParents&&!Id[i.addPermittedParent].permittedParents.includes(e)||Id[i.addPermittedParent].permittedDescendants&&!Id[i.addPermittedParent].permittedDescendants.includes(r)){this.readState=Sf.any,this.startTagIndex=this.markupRegExp.lastIndex;return}let t=this.rootDocument.createElement(i.addPermittedParent);this.currentNode[Fn](t,!0),this.nodeStack.push(t),this.tagNameStack.push(t[C]),this.currentNode=t}else break}if(this.documentStructure){let{documentElement:e,head:t,body:n}=this.documentStructure.nodes,r=this.documentStructure.level;(!i||i.contentModel!==X.rawText)&&this.nextElement!==e&&this.nextElement!==t&&this.nextElement!==n&&(e&&(this.currentNode===this.rootNode||this.currentNode===e||this.currentNode===t&&r>=Cf.body)?(r<Cf.body&&(this.documentStructure.level=Cf.afterBody),n[Fn](this.nextElement,!0)):this.currentNode[Fn](this.nextElement,!0))}else this.currentNode[Fn](this.nextElement,!0);!this.documentStructure||this.nextElement!==this.documentStructure.nodes.body||this.documentStructure.level<=Cf.body?(this.currentNode=this.nextElement,this.nodeStack.push(this.currentNode),this.tagNameStack.push(n),this.documentStructure&&this.nextElement===this.documentStructure.nodes.body&&(this.documentStructure.level=Cf.afterBody),i?.contentModel===X.noDescendants||t&&this.currentNode[w]===Il.svg?(this.nodeStack.pop(),this.tagNameStack.pop(),this.currentNode=this.nodeStack[this.nodeStack.length-1]||this.rootNode,this.readState=Sf.any):this.readState=i?.contentModel===X.rawText?Sf.rawTextElement:Sf.any):this.readState=Sf.any,this.startTagIndex=this.markupRegExp.lastIndex}parseEndTag(e){let t=this.currentNode[w]===Il.html?Vl.asciiUpperCase(e):gf[Vl.asciiLowerCase(e)]?.localName||e,n=this.tagNameStack.lastIndexOf(t);n!==-1&&(this.nodeStack.splice(n,this.nodeStack.length-n),this.tagNameStack.splice(n,this.tagNameStack.length-n),this.currentNode=this.nodeStack[this.nodeStack.length-1]||this.rootNode)}parseComment(e){let t=this.rootDocument.createComment(mf.decodeHTMLEntities(e));if(this.documentStructure){let e=this.documentStructure.level,{documentElement:n,head:r,body:i}=this.documentStructure.nodes,a=null;this.currentNode===this.rootNode&&e===Cf.root?a=n:this.currentNode===n&&e===Cf.documentElement?a=r:this.currentNode===n&&e===Cf.head&&(a=i),this.currentNode[Ln](t,a,!0)}else this.currentNode[Fn](t,!0);this.readState=Sf.any}parseDocumentType(e){let t=mf.decodeHTMLEntities(e);if(this.documentStructure){let{doctype:e}=this.documentStructure.nodes,n=this.getDocumentType(t);n?this.currentNode===this.rootNode&&this.documentStructure.level===Cf.root&&(e?(e[T]=n.name,e[Wt]=n.publicId,e[Gt]=n.systemId):(e=this.rootNode.implementation.createDocumentType(n.name,n.publicId,n.systemId),this.rootNode.insertBefore(e,this.rootNode.documentElement)),this.documentStructure.level=Cf.doctype):this.parseComment(t)}else this.getDocumentType(t)||this.parseComment(t);this.readState=Sf.any}parseRawTextElementContent(e,t){let n=Vl.asciiUpperCase(e);if(n!==this.currentNode[C])return;(n===`SCRIPT`||n===`LINK`)&&(this.currentNode[ns]=!this.evaluateScripts),this.currentNode[Fn](this.rootDocument.createTextNode(t),!0);let r=this.currentNode;if(this.nodeStack.pop(),this.tagNameStack.pop(),this.currentNode=this.nodeStack[this.nodeStack.length-1]||this.rootNode,this.readState=Sf.any,this.documentStructure){let{documentElement:e,body:t}=this.documentStructure.nodes;e&&(this.currentNode===this.rootNode||this.currentNode===e)?t[Fn](r,!0):this.currentNode[Fn](r,!0)}else this.currentNode[Fn](r,!0)}getStartTagElement(e){let t=Vl.asciiLowerCase(e),n=this.currentNode[w];if(t===`svg`)return this.rootDocument.createElementNS(Il.svg,`svg`);if(n===Il.svg)return this.rootDocument.createElementNS(Il.svg,gf[t]?.localName||e);switch(t){case`html`:return this.documentStructure?(this.documentStructure.level<Cf.documentElement&&(this.documentStructure.level=Cf.documentElement),this.documentStructure.nodes.documentElement??null):null;case`head`:return this.documentStructure?(this.documentStructure.level<Cf.head?this.documentStructure.level=Cf.head:this.documentStructure.level===Cf.head&&(this.documentStructure.level=Cf.additionalHeadWithoutBody),this.documentStructure.nodes.head??null):null;case`body`:return this.documentStructure?(this.documentStructure.level<Cf.body&&(this.documentStructure.level=Cf.body),this.documentStructure.nodes.body??null):null;default:return this.rootDocument.createElementNS(Il.html,t)}}getDocumentType(e){if(!e.toUpperCase().startsWith(`DOCTYPE`))return null;let t=e.split(bf);if(t.length<=1)return null;let n=t.slice(1).join(` `),r=[],i=new RegExp(yf,`gm`),a=n.toUpperCase().includes(`PUBLIC`),o;for(;o=i.exec(n);)r.push(o[1]);let s=a&&r[0]||``,c=a?r[1]||``:r[0]||``;return{name:t[1].toLowerCase(),publicId:s,systemId:c}}};const Tf=/[\x00-\x1F\x7F\x80-\x9F "\'><=\/\uFDD0-\uFDEF\uFFFE\uFFFF\u1FFFE\u1FFFF\u2FFFE\u2FFFF\u3FFFE\u3FFFF\u4FFFE\u4FFFF\u5FFFE\u5FFFF\u6FFFE\u6FFFF\u7FFFE\u7FFFF\u8FFFE\u8FFFF\u9FFFE\u9FFFF\uAFFFE\uAFFFF\uBFFFE\uBFFFF\uCFFFE\uCFFFF\uDFFFE\uDFFFF\uEFFFE\uEFFFF\uFFFFE\uFFFFF\u10FFFE\u10FFFF]/;var Ef=class{static validateAttributeName(e,t,n){let{method:r,instance:i}=n;if(t===`text/html`){let t=String(e).toLowerCase();if(Tf.test(t)||t.length===0||t[0]===`-`)throw new vs(`Uncaught InvalidCharacterError: Failed to execute '${r}' on '${i}': '${e}' is not a valid attribute name.`,V.invalidCharacterError)}}},Z=class{static getEventListener(e,t){let n=e[B].get(t);if(n)return n;let r=e[h][Me];if(!r)return null;let i=new J(r).getSettings();if(!i||!i.enableJavaScriptEvaluation)return null;let a=e.getAttribute(t);if(!a)return null;let o=`(function anonymous($happy_dom, event) {`;i&&!i.disableErrorCapturing&&i.errorCapture===Rs.tryAndCatch&&(o+=`try {
|
|
71
71
|
`),o+=a,i&&!i.disableErrorCapturing&&i.errorCapture===Rs.tryAndCatch&&(o+=`} catch(e) { $happy_dom.dispatchError(e); }`),o+=`})`;let s=null;try{s=r[Ie](o,{filename:r.location.href}).bind(e,{dispatchError:r[Bo].bind(r)})}catch(n){let a=new r.SyntaxError(`Failed to read the '${t}' property from '${e.constructor.name}': ${n.message}`);if(i.disableErrorCapturing||i.errorCapture!==Rs.tryAndCatch)throw a;return r[Bo](a),null}return s&&e[B].set(t,s),s}},Df=class extends gd{static[C]=null;static[O]=null;static[w]=null;[xe]=null;[Ge]=null;[S]=H.elementNode;[wt]=null;[ut]=null;[Tt]=0;[Et]=0;[Dt]=0;[Ot]=0;[kt]=new Nd(this);[At]=null;[be]=null;[tr]=null;[St]=new Set;[B]=new Map;constructor(){super(),this[C]||(this[C]=null),this[O]||(this[O]=null),this[w]||(this[w]=null)}get onfullscreenerror(){return Z.getEventListener(this,`onfullscreenerror`)}set onfullscreenerror(e){this[B].set(`onfullscreenerror`,e)}get onfullscreenchange(){return Z.getEventListener(this,`onfullscreenchange`)}set onfullscreenchange(e){this[B].set(`onfullscreenchange`,e)}get onbeforecopy(){return Z.getEventListener(this,`onbeforecopy`)}set onbeforecopy(e){this[B].set(`onbeforecopy`,e)}get onbeforecut(){return Z.getEventListener(this,`onbeforecut`)}set onbeforecut(e){this[B].set(`onbeforecut`,e)}get onbeforepaste(){return Z.getEventListener(this,`onbeforepaste`)}set onbeforepaste(e){this[B].set(`onbeforepaste`,e)}get onsearch(){return Z.getEventListener(this,`onsearch`)}set onsearch(e){this[B].set(`onsearch`,e)}get tagName(){return this[C]}get prefix(){return this[wt]}get shadowRoot(){let e=this[ut];return e&&e[Sn]===`open`?e:null}get scrollHeight(){return this[Tt]}get scrollWidth(){return this[Et]}get scrollTop(){return this[Dt]}set scrollTop(e){this[Dt]=e}get scrollLeft(){return this[Ot]}set scrollLeft(e){this[Ot]=e}get attributes(){return this[At]||(this[At]=Pd.createProxy(this[kt])),this[At]}get namespaceURI(){return this[w]}get children(){if(!this[be]){let e=this[Xn];this[be]=new Ad(M,()=>e)}return this[be]}get classList(){return this[xe]||(this[xe]=new kd(M,this,`class`)),this[xe]}set classList(e){this.setAttribute(`class`,e)}get id(){return this.getAttribute(`id`)||``}set id(e){this.setAttribute(`id`,e)}get className(){return this.getAttribute(`class`)||``}set className(e){this.setAttribute(`class`,e)}get nodeName(){return this[C]}get localName(){return this[O]}get role(){return this.getAttribute(`role`)||``}set role(e){this.setAttribute(`role`,e)}get previousElementSibling(){return yd.previousElementSibling(this)}get nextElementSibling(){return yd.nextElementSibling(this)}get textContent(){let e=``;for(let t of this[A])(t[S]===H.elementNode||t[S]===H.textNode)&&(e+=t.textContent);return e}set textContent(e){let t=this[A];for(;t.length;)this.removeChild(t[0]);e&&this.appendChild(this[h].createTextNode(e))}get innerHTML(){return this.getHTML()}set innerHTML(e){let t=this[A];for(;t.length;)this.removeChild(t[0]);new wf(this[y]).parse(e,this)}get outerHTML(){return new hf().serializeToString(this)}set outerHTML(e){let t=new wf(this[y]).parse(e)[A];this.replaceWith(...t)}get childElementCount(){return this[Xn].length}get firstElementChild(){return this[Xn][0]??null}get lastElementChild(){let e=this[Xn];return e[e.length-1]??null}get slot(){return this.getAttributeNS(null,`slot`)||``}set slot(e){this.setAttribute(`slot`,e)}getInnerHTML(e){let t=new hf({allShadowRoots:!!e?.includeShadowRoots}),n=``;for(let e of this[A])n+=t.serializeToString(e);return n}getHTML(e){let t=new hf({serializableShadowRoots:!!e?.serializableShadowRoots,shadowRoots:e?.shadowRoots??null}),n=``;for(let e of this[A])n+=t.serializeToString(e);return n}[Pn](e=!1){let t=super[Pn](e);t[C]=this[C],t[O]=this[O],t[w]=this[w],this[ut]?.[_r]&&(t[ut]=this[ut].cloneNode(e),t[ut][Cn]=t),t[kt]=new Nd(t);for(let n of this[kt][k].values())t[kt].setNamedItem(n.cloneNode(e));return t}remove(){bd.remove(this)}replaceWith(...e){bd.replaceWith(this,...e)}before(...e){bd.before(this,...e)}after(...e){bd.after(this,...e)}append(...e){jd.append(this,...e)}prepend(...e){jd.prepend(this,...e)}replaceChildren(...e){jd.replaceChildren(this,...e)}insertAdjacentElement(e,t){if(e===`beforebegin`){if(!this.parentElement)return null;this.parentElement.insertBefore(t,this)}else if(e===`afterbegin`)this.insertBefore(t,this.firstChild);else if(e===`beforeend`)this.appendChild(t);else if(e===`afterend`){if(!this.parentElement)return null;this.parentElement.insertBefore(t,this.nextSibling)}return t}insertAdjacentHTML(e,t){let n=new wf(this[y]).parse(t)[A];for(;n.length;)this.insertAdjacentElement(e,n[0])}insertAdjacentText(e,t){if(!t)return;let n=this[h].createTextNode(t);this.insertAdjacentElement(e,n)}setAttribute(e,t){if(Ef.validateAttributeName(e,this[h][De],{method:`setAttribute`,instance:`Element`}),e=String(e),this[w]===Il.html){let n=this[h].createAttribute(e);n[_]=String(t),this[kt][sr](n)}else{let n=e.split(`:`),r=null;switch(n[0]){case`xmlns`:r=!n[1]||n[1]===`xlink`?Il.xmlns:null;break;case`xlink`:r=Il.xlink}let i=hd.createNode(this[h],this[y].Attr);i[w]=r,i[T]=e,i[O]=r&&n[1]?n[1]:e,i[wt]=r&&n[1]?n[0]:null,i[_]=String(t),this[kt][sr](i)}}setAttributeNS(e,t,n){let r=this[h].createAttributeNS(e,t);if(!e&&r[wt])throw new this[y].DOMException(`Failed to execute 'setAttributeNS' on 'Element': '' is an invalid namespace for attributes.`,V.namespaceError);r[_]=String(n),this[kt].setNamedItemNS(r)}getAttributeNames(){let e=[];for(let t of this[kt][k].values())e.push(t[T]);return e}getAttribute(e){let t=this[kt].getNamedItem(e);return t?t[_]:null}toggleAttribute(e,t){e=e.toLowerCase();let n=this[kt].getNamedItem(e);return n?t===!0||(this[kt][Un](n),!1):t!==!1&&(this.setAttribute(e,``),!0)}getAttributeNS(e,t){let n=this.getAttributeNodeNS(e,t);return n?n[_]:null}hasAttribute(e){return!!this.getAttributeNode(e)}hasAttributeNS(e,t){return this[kt].getNamedItemNS(e,t)!==null}hasAttributes(){return this[kt][k].size>0}removeAttribute(e){let t=this[kt].getNamedItem(e);t&&this[kt][Un](t)}removeAttributeNS(e,t){let n=this[kt].getNamedItemNS(e,t);n&&this[kt][Un](n)}attachShadow(e){let t=this[y];if(!e)throw new t.TypeError(`Failed to execute 'attachShadow' on 'Element': 1 argument required, but only 0 present.`);if(!e.mode)throw new t.TypeError(`Failed to execute 'attachShadow' on 'Element': Failed to read the 'mode' property from 'ShadowRootInit': Required member is undefined.`);if(e.mode!==`open`&&e.mode!==`closed`)throw new t.TypeError(`Failed to execute 'attachShadow' on 'Element': Failed to read the 'mode' property from 'ShadowRootInit': The provided value '${e.mode}' is not a valid enum value of type ShadowRootMode.`);if(this[ut])throw new t.DOMException(`Failed to execute 'attachShadow' on 'Element': Shadow root cannot be created on a host which already hosts a shadow tree.`);let n=hd.createNode(this[h],this[y].ShadowRoot);return this[ut]=n,n[Cn]=this,n[Sn]=e.mode,n[_r]=!!e.clonable,n[vr]=!!e.delegateFocus,n[yr]=!!e.serializable,n[br]=e.slotAssignment===`manual`?`manual`:`named`,n[Se](),this[ut]}toString(){return this.outerHTML}getBoundingClientRect(){return new Dd}getClientRects(){let e=new Md(M);return e.push(this.getBoundingClientRect()),e}setPointerCapture(e){this[St].add(e)}hasPointerCapture(e){return this[St].has(e)}releasePointerCapture(e){this[St].delete(e)}matches(e){return!!q.matches(this,e)}closest(e){let t=this;for(;t;){if(q.matches(t,e))return t;t=t.parentElement}return null}querySelectorAll(e){return q.querySelectorAll(this,e)}querySelector(e){return q.querySelector(this,e)}getElementsByClassName(e){return jd.getElementsByClassName(this,e)}getElementsByTagName(e){return jd.getElementsByTagName(this,e)}getElementsByTagNameNS(e,t){return jd.getElementsByTagNameNS(this,e,t)}setAttributeNode(e){return this[kt].setNamedItem(e)}setAttributeNodeNS(e){return this[kt].setNamedItemNS(e)}getAttributeNode(e){return this[kt].getNamedItem(e)}getAttributeNodeNS(e,t){return this[kt].getNamedItemNS(e,t)}removeAttributeNode(e){if(e[Qe]!==this)throw new this[y].DOMException(`Failed to execute 'removeAttributeNode' on 'Element': The node provided is owned by another element.`);return this[kt][Un](e),e}scroll(e,t){if(typeof e!=`object`&&arguments.length===1)throw new this[y].TypeError(`Failed to execute 'scroll' on 'Element': The provided value is not of type 'ScrollToOptions'.`);let n=typeof e==`object`?e:{left:e,top:t};if(n.behavior===`smooth`)this[y].setTimeout(()=>{if(n.top!==void 0){let e=Number(n.top);this.scrollTop=isNaN(e)?0:e}if(n.left!==void 0){let e=Number(n.left);this.scrollLeft=isNaN(e)?0:e}});else{if(n.top!==void 0){let e=Number(n.top);this.scrollTop=isNaN(e)?0:e}if(n.left!==void 0){let e=Number(n.left);this.scrollLeft=isNaN(e)?0:e}}}scrollTo(e,t){if(typeof e!=`object`&&arguments.length===1)throw new this[y].TypeError(`Failed to execute 'scrollTo' on 'Element': The provided value is not of type 'ScrollToOptions'.`);this.scroll(e,t)}scrollBy(e,t){if(typeof e!=`object`&&arguments.length===1)throw new this[y].TypeError(`Failed to execute 'scrollBy' on 'Element': The provided value is not of type 'ScrollToOptions'.`);let n=typeof e==`object`?e:{left:e,top:t};this.scroll({left:this.scrollLeft+(n.left??0),top:this.scrollTop+(n.top??0),behavior:n.behavior})}scrollIntoView(e){}[Fn](e,t=!1){let n=super[Fn](e,t);return this.#n(e),n}[In](e){let t=super[In](e);return this.#n(e),t}[Ln](e,t,n=!1){let r=super[Ln](e,t,n);return this.#n(e),r}[Jn](e,t){if(!e[T])return;let n=t?t[_]:null;if(e[T]===`slot`&&this[x]&&this[x][ut]){let r=this[x][ut];if(r&&e[_]!==n){if(n!==null&&t){let e=r.querySelector(`slot[name="${t[_]}"]`);e&&e.dispatchEvent(new U(`slotchange`,{bubbles:!0}))}else{let e=r.querySelector(`slot:not([name])`);e&&e.dispatchEvent(new U(`slotchange`,{bubbles:!0}))}let i=r.querySelector(`slot[name="${e[_]}"]`);i&&i.dispatchEvent(new U(`slotchange`,{bubbles:!0}))}}this[e[T]]!==void 0&&e[T][0]===`o`&&e[T][1]===`n`&&this[B].delete(e[T]),e[T]===`id`&&this[b]&&(t?.[_]&&this.#t(t[_]),this.#e(e[_])),this[ht](new nd({type:md.attributes,target:this,attributeName:e[T],oldValue:n}))}[Yn](e){if(e[T]===`slot`&&this[x]&&this[x][ut]){let t=this[x][ut],n=t.querySelector(`slot[name="${e[_]}"]`),r=t.querySelector(`slot:not([name])`);n&&n.dispatchEvent(new U(`slotchange`,{bubbles:!0})),r&&r.dispatchEvent(new U(`slotchange`,{bubbles:!0}))}e[T]===`id`&&this[b]&&this.#t(e[_]),this[ht](new nd({type:md.attributes,target:this,attributeName:e[T],oldValue:e[_]}))}[we](){let e=this.getAttribute(`id`);if(e&&this.#e(e),super[we](),this[y][Oo].enqueueReaction(this,`connectedCallback`),this[ut])for(let e of this[A])this.#n(e)}[Te](){super[Te]();let e=this.getAttribute(`id`);e&&this.#t(e),this[y][Oo].enqueueReaction(this,`disconnectedCallback`)}[Ne](){let e=this.getAttribute(`id`);e&&this.#t(e),this[y][Oo].enqueueReaction(this,`disconnectedCallback`),super[Ne](),this[ut]&&this[ut][Ne](),this[xe]=null,this[ut]=null,this[At]=null,this[be]=null,this[tr]=null,this[B].clear(),this[kt][ar].clear(),this[kt][Je].clear(),this[kt][k].clear()}#e(e){if(!e)return;let t=this[h],n=this[y];if(this[at]&&this[at]!==t)return;t[gr].has(e)||t[gr].set(e,{elements:[],htmlCollection:null});let r=t[gr].get(e);if(!r)return;let i=this[or]||this;r.elements.push(i),r.elements.length>1?(r.htmlCollection||=new Ad(M,()=>r.elements),(!(e in n)||n[e]===r.elements[0])&&(n[e]=r.htmlCollection)):(!(e in n)||r.htmlCollection!==null&&n[e]===r.htmlCollection)&&(n[e]=i)}#t(e){if(!e)return;let t=this[h],n=this[y];if(this[at]&&this[at]!==t)return;let r=t[gr].get(e);if(!r)return;let i=this[or]||this,a=r.elements.indexOf(i);a!==-1&&r.elements.splice(a,1),r.elements.length===1?(n[e]===r.htmlCollection&&(n[e]=r.elements[0]),r.htmlCollection=null):r.elements.length||(t[gr].delete(e),(n[e]===i||n[e]===r.htmlCollection)&&delete n[e])}#n(e){let t=this[ut];if(!t||!this[b])return;let n=e.getAttribute?e.getAttribute(`slot`):null;if(n){let e=t.querySelector(`slot[name="${n}"]`);e&&e.dispatchEvent(new U(`slotchange`,{bubbles:!0}))}else if(e[S]!==H.commentNode){let e=t.querySelector(`slot:not([name])`);e&&e.dispatchEvent(new U(`slotchange`,{bubbles:!0}))}}},Of=class{static blur(e){let t=e[or]||e,n=t[h];if(n[fe]!==t||!t[b]||t.disabled)return;let r=n[Ye]??null;n[fe]=null,n[qn](),t.dispatchEvent(new ru(`blur`,{relatedTarget:r,bubbles:!1,composed:!0,cancelable:!0})),t.dispatchEvent(new ru(`focusout`,{relatedTarget:r,bubbles:!0,composed:!0,cancelable:!0}))}static focus(e){let t=e[or]||e,n=t[h];if(n[fe]===t||!t[b]||t.disabled||this.isInert(t))return;n[Ye]=t;let r=n[fe];n[fe]!==null&&n[fe].blur(),n[Ye]=null,n[fe]=t,n[qn](),t.dispatchEvent(new ru(`focus`,{relatedTarget:r,bubbles:!1,composed:!0})),t.dispatchEvent(new ru(`focusin`,{relatedTarget:r,bubbles:!0,composed:!0}))}static isInert(e){let t=e[or]||e;for(;t&&typeof t.getAttribute==`function`;){if(t.getAttribute(`inert`)!==null)return!0;t=t[x]}return!1}},kf=class{static kebabToCamelCase(e){let t=e.split(`-`);for(let e=0,n=t.length;e<n;e++)t[e]=e>0?t[e].charAt(0).toUpperCase()+t[e].slice(1):t[e];return t.join(``)}static camelCaseToKebab(e){return e.toString().replace(/[A-Z]+(?![a-z])|[A-Z]/g,(e,t)=>(t?`-`:``)+e.toLowerCase())}},Af=class{constructor(e,t){if(e!==M)throw TypeError(`Illegal constructor`);return new Proxy(this,{get(e,n){let r=t.getAttribute(`data-`+kf.camelCaseToKebab(n));if(r!==null)return r},set(e,n,r){return t.setAttribute(`data-`+kf.camelCaseToKebab(n),r),!0},deleteProperty(e,n){return t.removeAttribute(`data-`+kf.camelCaseToKebab(n)),!0},ownKeys(e){let n=[];for(let e of t[kt][Je].values())e[0][T].startsWith(`data-`)&&n.push(kf.kebabToCamelCase(e[0][T].replace(`data-`,``)));return n},has(e,n){return t.hasAttribute(`data-`+kf.camelCaseToKebab(n))},defineProperty(e,n,r){return r.value!==void 0&&(t.setAttribute(`data-`+kf.camelCaseToKebab(n),r.value),!0)},getOwnPropertyDescriptor(e,n){let r=t.getAttribute(`data-`+kf.camelCaseToKebab(n));if(r)return{value:r,writable:!0,enumerable:!0,configurable:!0}}})}},Q=class extends Df{static observedAttributes;[jt]=``;[Mt]=0;[Nt]=0;[Pt]=0;[Ft]=0;[It]=0;[Lt]=0;[Rt]=0;[zt]=0;[dt]=null;[ir]=null;#e=null;get oncancel(){return Z.getEventListener(this,`oncancel`)}set oncancel(e){this[B].set(`oncancel`,e)}get onerror(){return Z.getEventListener(this,`onerror`)}set onerror(e){this[B].set(`onerror`,e)}get onscroll(){return Z.getEventListener(this,`onscroll`)}set onscroll(e){this[B].set(`onscroll`,e)}get onselect(){return Z.getEventListener(this,`onselect`)}set onselect(e){this[B].set(`onselect`,e)}get onwheel(){return Z.getEventListener(this,`onwheel`)}set onwheel(e){this[B].set(`onwheel`,e)}get oncopy(){return Z.getEventListener(this,`oncopy`)}set oncopy(e){this[B].set(`oncopy`,e)}get oncut(){return Z.getEventListener(this,`oncut`)}set oncut(e){this[B].set(`oncut`,e)}get onpaste(){return Z.getEventListener(this,`onpaste`)}set onpaste(e){this[B].set(`onpaste`,e)}get oncompositionend(){return Z.getEventListener(this,`oncompositionend`)}set oncompositionend(e){this[B].set(`oncompositionend`,e)}get oncompositionstart(){return Z.getEventListener(this,`oncompositionstart`)}set oncompositionstart(e){this[B].set(`oncompositionstart`,e)}get oncompositionupdate(){return Z.getEventListener(this,`oncompositionupdate`)}set oncompositionupdate(e){this[B].set(`oncompositionupdate`,e)}get onblur(){return Z.getEventListener(this,`onblur`)}set onblur(e){this[B].set(`onblur`,e)}get onfocus(){return Z.getEventListener(this,`onfocus`)}set onfocus(e){this[B].set(`onfocus`,e)}get onfocusin(){return Z.getEventListener(this,`onfocusin`)}set onfocusin(e){this[B].set(`onfocusin`,e)}get onfocusout(){return Z.getEventListener(this,`onfocusout`)}set onfocusout(e){this[B].set(`onfocusout`,e)}get onkeydown(){return Z.getEventListener(this,`onkeydown`)}set onkeydown(e){this[B].set(`onkeydown`,e)}get onkeyup(){return Z.getEventListener(this,`onkeyup`)}set onkeyup(e){this[B].set(`onkeyup`,e)}get onauxclick(){return Z.getEventListener(this,`onauxclick`)}set onauxclick(e){this[B].set(`onauxclick`,e)}get onclick(){return Z.getEventListener(this,`onclick`)}set onclick(e){this[B].set(`onclick`,e)}get oncontextmenu(){return Z.getEventListener(this,`oncontextmenu`)}set oncontextmenu(e){this[B].set(`oncontextmenu`,e)}get ondblclick(){return Z.getEventListener(this,`ondblclick`)}set ondblclick(e){this[B].set(`ondblclick`,e)}get onmousedown(){return Z.getEventListener(this,`onmousedown`)}set onmousedown(e){this[B].set(`onmousedown`,e)}get onmouseenter(){return Z.getEventListener(this,`onmouseenter`)}set onmouseenter(e){this[B].set(`onmouseenter`,e)}get onmouseleave(){return Z.getEventListener(this,`onmouseleave`)}set onmouseleave(e){this[B].set(`onmouseleave`,e)}get onmousemove(){return Z.getEventListener(this,`onmousemove`)}set onmousemove(e){this[B].set(`onmousemove`,e)}get onmouseout(){return Z.getEventListener(this,`onmouseout`)}set onmouseout(e){this[B].set(`onmouseout`,e)}get onmouseover(){return Z.getEventListener(this,`onmouseover`)}set onmouseover(e){this[B].set(`onmouseover`,e)}get onmouseup(){return Z.getEventListener(this,`onmouseup`)}set onmouseup(e){this[B].set(`onmouseup`,e)}get ontouchcancel(){return Z.getEventListener(this,`ontouchcancel`)}set ontouchcancel(e){this[B].set(`ontouchcancel`,e)}get ontouchend(){return Z.getEventListener(this,`ontouchend`)}set ontouchend(e){this[B].set(`ontouchend`,e)}get ontouchmove(){return Z.getEventListener(this,`ontouchmove`)}set ontouchmove(e){this[B].set(`ontouchmove`,e)}get ontouchstart(){return Z.getEventListener(this,`ontouchstart`)}set ontouchstart(e){this[B].set(`ontouchstart`,e)}get oninvalid(){return Z.getEventListener(this,`oninvalid`)}set oninvalid(e){this[B].set(`oninvalid`,e)}get onanimationcancel(){return Z.getEventListener(this,`onanimationcancel`)}set onanimationcancel(e){this[B].set(`onanimationcancel`,e)}get onanimationend(){return Z.getEventListener(this,`onanimationend`)}set onanimationend(e){this[B].set(`onanimationend`,e)}get onanimationiteration(){return Z.getEventListener(this,`onanimationiteration`)}set onanimationiteration(e){this[B].set(`onanimationiteration`,e)}get onanimationstart(){return Z.getEventListener(this,`onanimationstart`)}set onanimationstart(e){this[B].set(`onanimationstart`,e)}get onbeforeinput(){return Z.getEventListener(this,`onbeforeinput`)}set onbeforeinput(e){this[B].set(`onbeforeinput`,e)}get oninput(){return Z.getEventListener(this,`oninput`)}set oninput(e){this[B].set(`oninput`,e)}get onchange(){return Z.getEventListener(this,`onchange`)}set onchange(e){this[B].set(`onchange`,e)}get ongotpointercapture(){return Z.getEventListener(this,`ongotpointercapture`)}set ongotpointercapture(e){this[B].set(`ongotpointercapture`,e)}get onlostpointercapture(){return Z.getEventListener(this,`onlostpointercapture`)}set onlostpointercapture(e){this[B].set(`onlostpointercapture`,e)}get onpointercancel(){return Z.getEventListener(this,`onpointercancel`)}set onpointercancel(e){this[B].set(`onpointercancel`,e)}get onpointerdown(){return Z.getEventListener(this,`onpointerdown`)}set onpointerdown(e){this[B].set(`onpointerdown`,e)}get onpointerenter(){return Z.getEventListener(this,`onpointerenter`)}set onpointerenter(e){this[B].set(`onpointerenter`,e)}get onpointerleave(){return Z.getEventListener(this,`onpointerleave`)}set onpointerleave(e){this[B].set(`onpointerleave`,e)}get onpointermove(){return Z.getEventListener(this,`onpointermove`)}set onpointermove(e){this[B].set(`onpointermove`,e)}get onpointerout(){return Z.getEventListener(this,`onpointerout`)}set onpointerout(e){this[B].set(`onpointerout`,e)}get onpointerover(){return Z.getEventListener(this,`onpointerover`)}set onpointerover(e){this[B].set(`onpointerover`,e)}get onpointerup(){return Z.getEventListener(this,`onpointerup`)}set onpointerup(e){this[B].set(`onpointerup`,e)}get ontransitioncancel(){return Z.getEventListener(this,`ontransitioncancel`)}set ontransitioncancel(e){this[B].set(`ontransitioncancel`,e)}get ontransitionend(){return Z.getEventListener(this,`ontransitionend`)}set ontransitionend(e){this[B].set(`ontransitionend`,e)}get ontransitionrun(){return Z.getEventListener(this,`ontransitionrun`)}set ontransitionrun(e){this[B].set(`ontransitionrun`,e)}get ontransitionstart(){return Z.getEventListener(this,`ontransitionstart`)}set ontransitionstart(e){this[B].set(`ontransitionstart`,e)}get accessKey(){return this[jt]}set accessKey(e){this[jt]=e}get contentEditable(){let e=String(this.getAttribute(`contentEditable`)).toLowerCase();switch(e){case`false`:case`true`:case`plaintext-only`:return e;default:return`inherit`}}set contentEditable(e){switch(e=String(e).toLowerCase(),e){case`false`:case`true`:case`plaintext-only`:case`inherit`:this.setAttribute(`contentEditable`,e);break;default:throw new this[y].SyntaxError(`Failed to set the 'contentEditable' property on 'HTMLElement': The value provided ('${e}') is not one of 'true', 'false', 'plaintext-only', or 'inherit'.`)}}get isContentEditable(){let e=this.contentEditable;return e===`true`||e===`plaintext-only`?!0:e===`inherit`?this[x]?.isContentEditable??!1:!1}get offsetHeight(){return this[Mt]}get offsetWidth(){return this[Nt]}get offsetLeft(){return this[Pt]}get offsetTop(){return this[Ft]}get clientHeight(){return this[It]}get clientWidth(){return this[Lt]}get clientLeft(){return this[Rt]}get clientTop(){return this[zt]}get tabIndex(){let e=this.getAttribute(`tabindex`);if(e!==null){let t=Number(e);return isNaN(t)?-1:t}return-1}set tabIndex(e){let t=Number(e);isNaN(t)?this.setAttribute(`tabindex`,`0`):this.setAttribute(`tabindex`,String(t))}get innerText(){if(!this[b])return this.textContent;let e=``;for(let t of this[A])if(t[S]===H.elementNode){let n=t,r=this[y].getComputedStyle(n);if(n[C]!==`SCRIPT`&&n[C]!==`STYLE`&&n[C]!==`svg`){let t=r.display;if(t!==`none`){let i=r.textTransform,a=n.innerText;(t===`block`||t===`flex`)&&e&&a&&(e+=`
|
|
@@ -96,7 +96,7 @@ We should not end up here and it is therefore a bug in Happy DOM. Please report
|
|
|
96
96
|
});
|
|
97
97
|
request.write(Buffer.from('${e.body?e.body.toString(`base64`):``}', 'base64'));
|
|
98
98
|
request.end();
|
|
99
|
-
`}},em=class e{request;redirectCount=0;disableCache;disableSameOriginPolicy;interceptor;requestHeaders;#e;#t;#n=null;constructor(e){this.#e=e.browserFrame,this.#t=e.window,this.#n=e.unfilteredHeaders??null,this.request=typeof e.url==`string`||e.url instanceof hu?new e.window.Request(e.url,e.init):e.url,e.contentType&&(this.request[De]=e.contentType),this.redirectCount=e.redirectCount??0,this.disableCache=e.disableCache??!1,this.disableSameOriginPolicy=e.disableSameOriginPolicy??this.#e.page.context.browser.settings.fetch.disableSameOriginPolicy??!1,this.interceptor=this.#e.page.context.browser.settings.fetch.interceptor,this.requestHeaders=this.#e.page.context.browser.settings.fetch.requestHeaders}send(){if(vu.prepareRequest(new hu(this.#t.location.href),this.request),this.requestHeaders){for(let e of this.requestHeaders)if(!e.url||(typeof e.url==`string`?e.url.startsWith(this.request.url):this.request.url.match(e.url)))for(let[t,n]of Object.entries(e.headers))this.request.headers.set(t,n)}if(this.interceptor?.beforeSyncRequest){let e=this.interceptor.beforeSyncRequest({request:this.request,window:this.#t});if(typeof e==`object`)return e}if(Nu.validateSchema(this.request),this.request.signal[Zr])throw this.request.signal[Ho]===void 0?new this.#t.DOMException(`signal is aborted without reason`,V.abortError):this.request.signal[Ho];if(this.request[_t].protocol===`data:`){let e=yu.parse(this.request.url),t={status:200,statusText:`OK`,ok:!0,url:this.request.url,redirected:!1,headers:new this.#t.Headers({"Content-Type":e.type}),body:e.buffer,[es]:null},n=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:t,request:this.request}):void 0;return typeof n==`object`?n:t}if(this.request[_t].protocol===`http:`&&this.#t.location.protocol===`https:`)throw new this.#t.DOMException(`Mixed Content: The page at '${this.#t.location.href}' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint '${this.request.url}'. This request has been blocked; the content must be served over HTTPS.`,V.securityError);let e=this.getCachedResponse();if(e)return e;let t=this.getVirtualServerResponse();if(t)return t;if(!this.compliesWithCrossOriginPolicy())throw this.#t.console.warn(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`),new this.#t.DOMException(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`,V.networkError);return this.sendRequest()}getCachedResponse(){if(this.disableCache)return null;let t=this.#e.page.context.responseCache.get(this.request);if(!t||t.response.waitingForBody)return null;if(t.state===gs.stale){let n=new this.#t.Headers(t.request.headers);if(t.etag)n.set(`If-None-Match`,t.etag);else{if(!t.lastModified)return null;n.set(`If-Modified-Since`,new Date(t.lastModified).toUTCString())}if(t.etag||!t.staleWhileRevalidate){let r=new e({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{headers:n,method:t.request.method},disableCache:!0,disableSameOriginPolicy:!0}).send(),i=r.status===304?null:r.body;if(t=this.#e.page.context.responseCache.add(this.request,{...r,body:i,waitingForBody:!1}),r.status!==304)return r}else new Ju({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{headers:n,method:t.request.method},disableCache:!0,disableSameOriginPolicy:!0}).send().then(e=>{e.buffer().then(t=>{this.#e.page.context.responseCache.add(this.request,{...e,body:t,waitingForBody:!1})})})}return!t||t.response.waitingForBody?null:{status:t.response.status,statusText:t.response.statusText,ok:!0,url:t.response.url,redirected:!1,headers:t.response.headers,body:t.response.body,[es]:t.response[es]||null}}getVirtualServerResponse(){let e=Gu.getFilepath(this.#t,this.request.url);if(!e)return null;if(this.request.method!==`GET`){this.#e.page.console.error(`${this.request.method} ${this.request.url} 404 (Not Found)`);let e=Gu.getNotFoundSyncResponse(this.#t,this.request.url),t=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:e,request:this.request}):void 0;return typeof t==`object`?t:e}let t;try{e=d.statSync(e).isDirectory()?ne.join(e,`index.html`):e,t=d.readFileSync(e)}catch{this.#e.page.console.error(`${this.request.method} ${this.request.url} 404 (Not Found)`);let e=Gu.getNotFoundSyncResponse(this.#t,this.request.url),t=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:e,request:this.request}):void 0;return typeof t==`object`?t:e}let n={status:200,statusText:``,ok:!0,url:this.request.url,redirected:!1,headers:new this.#t.Headers,body:t,[es]:e},r=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:n,request:this.request}):void 0,i=typeof r==`object`?r:n;return this.#e.page.context.responseCache.add(this.request,{...i,waitingForBody:!1,virtual:!0}),i}compliesWithCrossOriginPolicy(){if(this.disableSameOriginPolicy||!bu.isCORS(this.#t.location.href,this.request[_t]))return!0;let t=this.#e.page.context.preflightResponseCache.get(this.request);if(t)return!(t.allowOrigin!==`*`&&t.allowOrigin!==this.#t.location.origin||t.allowMethods.length!==0&&!t.allowMethods.includes(this.request.method));let n=[];for(let[e]of this.request.headers)n.push(e.toLowerCase());let r=new this.#t.Headers({"Access-Control-Request-Method":this.request.method,Origin:this.#t.location.origin});n.length>0&&r.set(`Access-Control-Request-Headers`,n.slice().sort().join(`,`));let i=new e({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{method:`OPTIONS`},disableCache:!0,disableSameOriginPolicy:!0,unfilteredHeaders:r}).send();if(!i.ok)return!1;let a=i.headers.get(`Access-Control-Allow-Origin`);if(!a||a!==`*`&&a!==this.#t.location.origin)return!1;let o=[];if(i.headers.has(`Access-Control-Allow-Methods`)){let e=i.headers.get(`Access-Control-Allow-Methods`);if(e!==`*`)for(let t of e.split(`,`))o.push(t.trim().toUpperCase())}return!(o.length!==0&&!o.includes(this.request.method))}sendRequest(){if(!this.request[me]&&this.request.body)throw new this.#t.DOMException(`Streams are not supported as request body for synchronous requests.`,V.notSupportedError);let e=$p.getScript({url:this.request[_t],method:this.request.method,headers:Iu.getRequestHeaders({browserFrame:this.#e,window:this.#t,request:this.request,baseHeaders:this.#n}),disableStrictSSL:this.#e.page.context.browser.settings.fetch.disableStrictSSL,body:this.request[me]}),t=f.execFileSync(process.argv[0],[`-e`,e],{encoding:`buffer`,maxBuffer:1073741824});if(!t.length)throw new this.#t.DOMException(`Synchronous fetch to "${this.request.url}" failed.`,V.networkError);let{error:n,incomingMessage:r}=JSON.parse(t.toString());if(n)throw new this.#t.DOMException(`Synchronous fetch to "${this.request.url}" failed. Error: ${n}`,V.networkError);let i=Hu.parseResponseHeaders({browserFrame:this.#e,requestURL:this.request[_t],rawHeaders:r.rawHeaders}),a={status:r.statusCode,statusText:r.statusMessage,ok:r.statusCode>=200&&r.statusCode<300,url:this.request.url,redirected:this.redirectCount>0,headers:i,body:this.parseIResponseBody({headers:i,status:r.statusCode,body:Buffer.from(r.data,`base64`)})},o=this.handleRedirectResponse(a)||a;!this.disableCache&&!o.redirected&&this.#e.page.context.responseCache.add(this.request,{status:o.status,statusText:o.statusText,url:o.url,headers:o.headers,body:o.body,waitingForBody:!1});let s=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:o,request:this.request}):void 0,c=typeof s==`object`?s:o;return c.ok||this.#e.page.console.error(`${this.request.method} ${this.request.url} ${c.status} (${c.statusText})`),c}parseIResponseBody(e){let t=e.headers.get(`Content-Encoding`);if(this.request.method===`HEAD`||t===null||e.status===204||e.status===304)return e.body;try{if(t===`gzip`||t===`x-gzip`)return l.gunzipSync(e.body,{flush:l.constants.Z_SYNC_FLUSH,finishFlush:l.constants.Z_SYNC_FLUSH});if(t===`deflate`||t===`x-deflate`)return l.inflateSync(e.body);if(t===`br`)return l.brotliDecompressSync(e.body)}catch(e){throw new this.#t.DOMException(`Failed to read response body. Error: ${e.message}.`,V.encodingError)}return e.body}handleRedirectResponse(t){if(!Vu.isRedirect(t.status))return null;switch(this.request.redirect){case`error`:throw new this.#t.DOMException(`URI requested responds with a redirect, redirect mode is set to "error": ${this.request.url}`,V.abortError);case`manual`:return null;case`follow`:let n=t.headers.get(`Location`),r=t.status===303||(t.status===301||t.status===302)&&this.request.method===`POST`,i=null;if(n!==null)try{i=new hu(n,this.request.url)}catch{throw new this.#t.DOMException(`URI requested responds with an invalid redirect URL: ${n}`,V.uriMismatchError)}if(i===null)return null;if(Vu.isMaxRedirectsReached(this.redirectCount))throw new this.#t.DOMException(`Maximum redirects reached at: ${this.request.url}`,V.networkError);let a=new this.#t.Headers(this.request.headers),o={method:this.request.method,signal:this.request.signal,referrer:this.request.referrer,referrerPolicy:this.request.referrerPolicy,credentials:this.request.credentials,headers:a,body:this.request[me]};(this.request.credentials===`omit`||this.request.credentials===`same-origin`&&bu.isCORS(this.#t.location.href,i))&&(a.delete(`cookie`),a.delete(`cookie2`)),r&&(o.method=`GET`,o.body=void 0,a.delete(`Content-Length`),a.delete(`Content-Type`));let s=vu.getReferrerPolicyFromHeader(a);return s&&(o.referrerPolicy=s),new e({browserFrame:this.#e,window:this.#t,url:i,init:o,redirectCount:this.redirectCount+1,contentType:r?null:this.request[De]}).send();default:throw new this.#t.DOMException(`Redirect option '${this.request.redirect}' is not a valid value of TRequestRedirect`)}}},tm=class{window;constructor(e){this.window=e}async fetch(e,t,n){let r=new J(this.window).getBrowserFrame();if(!r)return{content:``,virtualServerFile:null};if(t===`script`||t===`style`){let r=Ku.getKey({url:String(e),destination:t,mode:`cors`,credentialsMode:n?.credentials||`same-origin`}),i=this.window.document[jo].get(r);if(i){this.window.document[jo].delete(r);let t=i.response||await i.onResponseAvailable();if(t&&!t.ok)throw new this.window.DOMException(`Failed to perform request to "${new hu(e,this.window.location.href).href}". Status ${i.response?.status||`0`} ${i.response?.statusText||`Unknown`}.`);return{content:i.response?.[he]?.toString()||``,virtualServerFile:i.response?.[es]||null}}}let i=await new Ju({browserFrame:r,window:this.window,url:e,disableSameOriginPolicy:t===`script`||t===`style`,disablePreload:!0,init:{credentials:n?.credentials,referrerPolicy:n?.referrerPolicy}}).send();if(!i.ok)throw new this.window.DOMException(`Failed to perform request to "${new hu(e,this.window.location.href).href}". Status ${i.status} ${i.statusText}.`);return{content:await i.text(),virtualServerFile:i[es]||null}}fetchSync(e,t,n){let r=new J(this.window).getBrowserFrame();if(!r)return{content:``,virtualServerFile:null};if(t===`script`||t===`style`){let r=Ku.getKey({url:String(e),destination:t,mode:`cors`,credentialsMode:n?.credentials||`same-origin`}),i=this.window.document[jo].get(r);if(i&&i.response){if(this.window.document[jo].delete(r),!i.response.ok)throw new this.window.DOMException(`Failed to perform request to "${new hu(e,this.window.location.href).href}". Status ${i.response.status} ${i.response.statusText}.`);return{content:i.response?.[he]?.toString()||``,virtualServerFile:i.response?.[es]||null}}}let i=new em({browserFrame:r,window:this.window,url:e,disableSameOriginPolicy:!0,init:{credentials:n?.credentials,referrerPolicy:n?.referrerPolicy}}).send();if(!i.ok)throw new this.window.DOMException(`Failed to perform request to "${new hu(e,this.window.location.href).href}". Status ${i.status} ${i.statusText}.`);return{content:i.body?.toString()||``,virtualServerFile:i[es]||null}}},nm=class{url;#e;#t;#n=null;constructor(e){this.#e=e.window,this.url=e.url,this.#t=e.source}async evaluate(){if(this.#n)return this.#n;let e=new this.#e.CSSStyleSheet;return e.replaceSync(this.#t),this.#n={default:e},this.#n}async preload(){await this.evaluate()}},rm=class{url;#e;#t;#n=null;constructor(e){this.#e=e.window,this.url=e.url,this.#t=e.source}async evaluate(){if(this.#n)return this.#n;let e;try{e=JSON.parse(this.#t)}catch(e){throw new this.#e.TypeError(`Failed to parse module "${this.url.href}": ${e.message}`)}return this.#n={default:e},this.#n}async preload(){await this.evaluate()}},im=class{url;#e;#t=[];#n=null;constructor(e){this.#e=e.window,this.url=e.url}async evaluate(){throw new this.#e.TypeError(`Unresolved module. We should never end up here.`)}async preload(){throw new this.#e.TypeError(`Unresolved module. We should never end up here.`)}addResolveListener(e,t){if(this.#n){t(this.#n);return}this.#t.push({resolve:e,reject:t})}resolve(e){e&&(this.#n=e);for(let t of this.#t)e?t.reject(e):t.resolve(null)}};const am=[`module`,`main`],om=[`.js`,`.mjs`];var sm=class{static nodeModuleResolveCache=new Map;static packageJsonCache=new Map;static getURL(e,t,n){let r=typeof t==`string`?t:t.href,i=e[zo],a=this.resolveURL(e,r,n);if(!i)return new oe(a,r);if(i.scopes.length){for(let e of i.scopes)if(r.includes(e.scope)){for(let t of e.rules)if(a.startsWith(t.from))return new oe(t.to+a.replace(t.from,``),r)}}if(i.imports.length){for(let e of i.imports)if(a.startsWith(e.from))return new oe(e.to+a.replace(e.from,``),r)}return new oe(a,r)}static clearCache(){this.nodeModuleResolveCache.clear(),this.packageJsonCache.clear()}static resolveURL(e,t,n){let r=new J(e).getSettings();if(!r)return n;let i=n;return r.module.resolveNodeModules&&(i=this.resolveNodeModuleURL(r.module.resolveNodeModules,n)),r.module.urlResolver&&(i=r.module.urlResolver({url:i,parentURL:t,window:e})),i}static resolveNodeModuleURL(e,t){if(t[0]===`.`||t[0]===`/`||t.startsWith(`http://`)||t.startsWith(`https://`))return t;let n=e.url[e.url.length-1]===`/`?``:`/`,r=`${e.url}${n}`,i=ne.resolve(e.directory),a=t.split(`/`),o=this.nodeModuleResolveCache.get(t);if(o)return o;let s=t[0]===`@`?`${a[0]}/${a[1]}`:a[0],c=this.packageJsonCache.get(s);if(!c)try{c=JSON.parse(d.readFileSync(ne.join(i,s,`package.json`),`utf-8`)),this.packageJsonCache.set(s,c)}catch{return t}if(t[0]===`@`&&a.length===2||a.length===1){if(c.exports?.[`.`]?.import){let e=`${r}${s}/${c.exports[`.`].import.replace(`./`,``)}`;return this.nodeModuleResolveCache.set(t,e),e}let n=e.mainFields||am;for(let e of n)if(c[e]&&d.existsSync(ne.join(i,s,c[e]))){let n=`${r}${t}/${c[e]}`;return this.nodeModuleResolveCache.set(t,n),n}return t}let l=a.slice(t[0]===`@`?2:1).join(`/`);if(c.exports)for(let e of Object.keys(c.exports)){let n=Array.isArray(c.exports[e].import)?c.exports[e].import[0]:c.exports[e].import;if(n){let i=RegExp(`^${e.replace(`./`,``).replace(/\./g,`\\.`).replace(/\*/g,`(.*)`)}$`),a=l.match(i);if(a){let e=`${r}${s}/${n.replace(`./`,``).replace(`*`,a[1])}`;return this.nodeModuleResolveCache.set(t,e),e}}}if(!t.endsWith(`.js`)&&!t.endsWith(`.mjs`)){for(let e of om)if(d.existsSync(ne.join(i,`${t}${e}`))){let n=`${r}${t}${e}`;return this.nodeModuleResolveCache.set(t,n),n}}else if(d.existsSync(ne.join(i,t))){let e=`${r}${t}`;return this.nodeModuleResolveCache.set(t,e),e}return t}};const cm=/import\.meta\.([a-zA-Z]+)|import\s*["']([^"']+)["'];{0,1}|import\s*\(([^)]+)\)|(import[\s{])|[\s}]from\s*["']([^"']+)["'](\s+with\s*{\s*type\s*:\s*["']([^"']+)["']\s*}){0,1}([;\s]*)|export(\s+[a-zA-Z0-9-_$]+\s+|\s+\*\s+|\s+\*\s+as\s+["'a-zA-Z0-9-_$]+\s+|\s*{[^}]+}\s*)from\s*["']([^"']+)["']|export\s*(default\s+){0,1}(async\s+){0,1}(function\*{0,1}|class)\s*([^({\s]+)|(export\s*default\s*)|export\s*{([^}]+)}|export\s+(var|let|const)\s+([^=;]+)(=|;)/gm,lm=/(\/)|(\(|\))|({|})|(\[|\])|(\${)|(`)|(')|(")|(\n)/gm,um=/{([^}]+)}|\*\s+as\s+([a-zA-Z0-9-_$]+)|([a-zA-Z0-9-_$]+)/gm,dm=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,fm=/['"`(){}\s;=><\[\]+-,:&]/,pm=/['"`({};=><\[+-,:&]/,mm=/\/\*|\*\//gm,hm=/export\s*/,gm=/export\s*default\s*/,_m=/;\s*$/;var vm=class{window;debug=!1;count={comment:0,singleLineComment:0,parentheses:0,curlyBraces:0,squareBrackets:0,regExp:0,regExpSquareBrackets:0,escapeTemplateString:0,simpleString:0,doubleString:0};debugCount={comment:[],singleLineComment:[],parentheses:[],curlyBraces:[],squareBrackets:[],regExp:[],regExpSquareBrackets:[],escapeTemplateString:[],simpleString:[],doubleString:[]};templateString=[];constructor(e){this.window=e}compile(e,t,n=null){let r=new J(this.window).getBrowserContext();if(!r)return{imports:[],execute:async()=>{}};let i=r.browser.settings;if(!i.module.disableCache&&n){let t=r[os].get(e);if(t)return{imports:t.imports,execute:this.window[Ie](t.code,{filename:n})}}this.reset();let a=new RegExp(cm),o=[],s=[],c=this.count,l=``,u=``,d=``,f=null,ee,te,ne=!0,re=0,ie=-1;for(;f=a.exec(t);){if(ee=t[f.index-1]||` `,te=t.substring(re,f.index),this.parseSyntax(te,re),ie===-1&&(l+=te),ne=c.comment===0&&c.singleLineComment===0&&c.parentheses===0&&c.curlyBraces===0&&c.squareBrackets===0&&c.regExp===0&&c.simpleString===0&&c.doubleString===0&&this.templateString.length===0,f[1]&&c.simpleString===0&&c.doubleString===0&&c.comment===0&&c.singleLineComment===0&&c.regExp===0&&(this.templateString.length===0||this.templateString[0]>0)&&fm.test(this.getNonSpacePrecedingToken(t,f.index)))l+=`$happy_dom.importMeta.${f[1]}`;else if(f[2]&&ne&&fm.test(ee))o.push({url:sm.getURL(this.window,e,f[2]).href,type:`esm`});else if(f[3]&&c.simpleString===0&&c.doubleString===0&&c.comment===0&&c.singleLineComment===0&&c.regExp===0&&(this.templateString.length===0||this.templateString[0]>0)&&fm.test(ee))l+=`$happy_dom.dynamicImport(${f[3]})`;else if(f[4]&&ne&&fm.test(ee)){if(ie!==-1)throw new this.window.TypeError(`Failed to parse module: Unexpected import statement in "${e}"`);ie=f.index+f[0].length-1}else if(f[5]&&ne&&ie!==-1){let n=sm.getURL(this.window,e,f[5]).href,r=t.substring(ie,f.index+1),i=new RegExp(um),a=null;for(;a=i.exec(r);)if(a[1]){let e=this.removeMultilineComments(a[1]).split(/\s*,\s*/),t=[];for(let n of e){let e=n.trim().split(/\s+as\s+/),r=(e[1]||e[0]).replace(/["']/g,``),i=e[0].replace(/["']/g,``);r&&i&&(i===r?t.push({name:i}):t.push({name:i,alias:r}))}(!f[7]||f[7]===`esm`)&&s.push({url:n,properties:t}),u+=`let {${t.map(e=>e.alias?`"${e.name}": ${e.alias}`:e.name).join(`, `)}} = $happy_dom.imports.get('${n}')${f[8]}`}else a[2]?u+=`const ${a[2]} = $happy_dom.imports.get('${n}')${f[8]}`:a[3]&&((!f[7]||f[7]===`esm`)&&s.push({url:n,properties:[{name:`default`,alias:a[3]}]}),u+=`let ${a[3]} = $happy_dom.imports.get('${n}').default${f[8]}`);ie=-1,o.push({url:n,type:f[7]||`esm`})}else if(f[9]&&f[10]&&ne&&fm.test(ee)){let t=sm.getURL(this.window,e,f[10]).href,n=f[9].trim();if(n===`*`)l+=`Object.assign($happy_dom.exports, $happy_dom.imports.get('${t}'))`,o.push({url:t,type:`esm`});else if(n[0]===`*`){let e=n.split(/\s+as\s+/);if(e.length===2){let n=e[1].replace(/["']/g,``);l+=`$happy_dom.exports['${n}'] = $happy_dom.imports.get('${t}')`,o.push({url:t,type:`esm`})}}else if(n[0]===`{`){let e=this.removeMultilineComments(n).slice(1,-1).split(/\s*,\s*/),r=[];for(let n of e){let e=n.trim().split(/\s+as\s+/),i=(e[1]||e[0]).replace(/["']/g,``),a=e[0].replace(/["']/g,``);i&&a&&r.push(`$happy_dom.exports['${i}'] = $happy_dom.imports.get('${t}')['${a}']`)}l+=r.join(`;
|
|
99
|
+
`}},em=class e{request;redirectCount=0;disableCache;disableSameOriginPolicy;interceptor;requestHeaders;#e;#t;#n=null;constructor(e){this.#e=e.browserFrame,this.#t=e.window,this.#n=e.unfilteredHeaders??null,this.request=typeof e.url==`string`||e.url instanceof hu?new e.window.Request(e.url,e.init):e.url,e.contentType&&(this.request[De]=e.contentType),this.redirectCount=e.redirectCount??0,this.disableCache=e.disableCache??!1,this.disableSameOriginPolicy=e.disableSameOriginPolicy??this.#e.page.context.browser.settings.fetch.disableSameOriginPolicy??!1,this.interceptor=this.#e.page.context.browser.settings.fetch.interceptor,this.requestHeaders=this.#e.page.context.browser.settings.fetch.requestHeaders}send(){if(vu.prepareRequest(new hu(this.#t.location.href),this.request),this.requestHeaders){for(let e of this.requestHeaders)if(!e.url||(typeof e.url==`string`?e.url.startsWith(this.request.url):this.request.url.match(e.url)))for(let[t,n]of Object.entries(e.headers))this.request.headers.set(t,n)}if(this.interceptor?.beforeSyncRequest){let e=this.interceptor.beforeSyncRequest({request:this.request,window:this.#t});if(typeof e==`object`)return e}if(Nu.validateSchema(this.request),this.request.signal[Zr])throw this.request.signal[Ho]===void 0?new this.#t.DOMException(`signal is aborted without reason`,V.abortError):this.request.signal[Ho];if(this.request[_t].protocol===`data:`){let e=yu.parse(this.request.url),t={status:200,statusText:`OK`,ok:!0,url:this.request.url,redirected:!1,headers:new this.#t.Headers({"Content-Type":e.type}),body:e.buffer,[es]:null},n=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:t,request:this.request}):void 0;return typeof n==`object`?n:t}if(this.request[_t].protocol===`http:`&&this.#t.location.protocol===`https:`)throw new this.#t.DOMException(`Mixed Content: The page at '${this.#t.location.href}' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint '${this.request.url}'. This request has been blocked; the content must be served over HTTPS.`,V.securityError);let e=this.getCachedResponse();if(e)return e;let t=this.getVirtualServerResponse();if(t)return t;if(!this.compliesWithCrossOriginPolicy())throw this.#t.console.warn(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`),new this.#t.DOMException(`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "${this.request.url}".`,V.networkError);return this.sendRequest()}getCachedResponse(){if(this.disableCache)return null;let t=this.#e.page.context.responseCache.get(this.request);if(!t||t.response.waitingForBody)return null;if(t.state===gs.stale){let n=new this.#t.Headers(t.request.headers);if(t.etag)n.set(`If-None-Match`,t.etag);else{if(!t.lastModified)return null;n.set(`If-Modified-Since`,new Date(t.lastModified).toUTCString())}if(t.etag||!t.staleWhileRevalidate){let r=new e({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{headers:n,method:t.request.method},disableCache:!0,disableSameOriginPolicy:!0}).send(),i=r.status===304?null:r.body;if(t=this.#e.page.context.responseCache.add(this.request,{...r,body:i,waitingForBody:!1}),r.status!==304)return r}else new Ju({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{headers:n,method:t.request.method},disableCache:!0,disableSameOriginPolicy:!0}).send().then(e=>{e.buffer().then(t=>{this.#e.page.context.responseCache.add(this.request,{...e,body:t,waitingForBody:!1})})})}return!t||t.response.waitingForBody?null:{status:t.response.status,statusText:t.response.statusText,ok:!0,url:t.response.url,redirected:!1,headers:t.response.headers,body:t.response.body,[es]:t.response[es]||null}}getVirtualServerResponse(){let e=Gu.getFilepath(this.#t,this.request.url);if(!e)return null;if(this.request.method!==`GET`){this.#e.page.console.error(`${this.request.method} ${this.request.url} 404 (Not Found)`);let e=Gu.getNotFoundSyncResponse(this.#t,this.request.url),t=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:e,request:this.request}):void 0;return typeof t==`object`?t:e}let t;try{e=l.statSync(e).isDirectory()?ne.join(e,`index.html`):e,t=l.readFileSync(e)}catch{this.#e.page.console.error(`${this.request.method} ${this.request.url} 404 (Not Found)`);let e=Gu.getNotFoundSyncResponse(this.#t,this.request.url),t=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:e,request:this.request}):void 0;return typeof t==`object`?t:e}let n={status:200,statusText:``,ok:!0,url:this.request.url,redirected:!1,headers:new this.#t.Headers,body:t,[es]:e},r=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:n,request:this.request}):void 0,i=typeof r==`object`?r:n;return this.#e.page.context.responseCache.add(this.request,{...i,waitingForBody:!1,virtual:!0}),i}compliesWithCrossOriginPolicy(){if(this.disableSameOriginPolicy||!bu.isCORS(this.#t.location.href,this.request[_t]))return!0;let t=this.#e.page.context.preflightResponseCache.get(this.request);if(t)return!(t.allowOrigin!==`*`&&t.allowOrigin!==this.#t.location.origin||t.allowMethods.length!==0&&!t.allowMethods.includes(this.request.method));let n=[];for(let[e]of this.request.headers)n.push(e.toLowerCase());let r=new this.#t.Headers({"Access-Control-Request-Method":this.request.method,Origin:this.#t.location.origin});n.length>0&&r.set(`Access-Control-Request-Headers`,n.slice().sort().join(`,`));let i=new e({browserFrame:this.#e,window:this.#t,url:this.request.url,init:{method:`OPTIONS`},disableCache:!0,disableSameOriginPolicy:!0,unfilteredHeaders:r}).send();if(!i.ok)return!1;let a=i.headers.get(`Access-Control-Allow-Origin`);if(!a||a!==`*`&&a!==this.#t.location.origin)return!1;let o=[];if(i.headers.has(`Access-Control-Allow-Methods`)){let e=i.headers.get(`Access-Control-Allow-Methods`);if(e!==`*`)for(let t of e.split(`,`))o.push(t.trim().toUpperCase())}return!(o.length!==0&&!o.includes(this.request.method))}sendRequest(){if(!this.request[me]&&this.request.body)throw new this.#t.DOMException(`Streams are not supported as request body for synchronous requests.`,V.notSupportedError);let e=$p.getScript({url:this.request[_t],method:this.request.method,headers:Iu.getRequestHeaders({browserFrame:this.#e,window:this.#t,request:this.request,baseHeaders:this.#n}),disableStrictSSL:this.#e.page.context.browser.settings.fetch.disableStrictSSL,body:this.request[me]}),t=f.execFileSync(process.argv[0],[`-e`,e],{encoding:`buffer`,maxBuffer:1073741824});if(!t.length)throw new this.#t.DOMException(`Synchronous fetch to "${this.request.url}" failed.`,V.networkError);let{error:n,incomingMessage:r}=JSON.parse(t.toString());if(n)throw new this.#t.DOMException(`Synchronous fetch to "${this.request.url}" failed. Error: ${n}`,V.networkError);let i=Hu.parseResponseHeaders({browserFrame:this.#e,requestURL:this.request[_t],rawHeaders:r.rawHeaders}),a={status:r.statusCode,statusText:r.statusMessage,ok:r.statusCode>=200&&r.statusCode<300,url:this.request.url,redirected:this.redirectCount>0,headers:i,body:this.parseIResponseBody({headers:i,status:r.statusCode,body:Buffer.from(r.data,`base64`)})},o=this.handleRedirectResponse(a)||a;!this.disableCache&&!o.redirected&&this.#e.page.context.responseCache.add(this.request,{status:o.status,statusText:o.statusText,url:o.url,headers:o.headers,body:o.body,waitingForBody:!1});let s=this.interceptor?.afterSyncResponse?this.interceptor.afterSyncResponse({window:this.#t,response:o,request:this.request}):void 0,c=typeof s==`object`?s:o;return c.ok||this.#e.page.console.error(`${this.request.method} ${this.request.url} ${c.status} (${c.statusText})`),c}parseIResponseBody(e){let t=e.headers.get(`Content-Encoding`);if(this.request.method===`HEAD`||t===null||e.status===204||e.status===304)return e.body;try{if(t===`gzip`||t===`x-gzip`)return d.gunzipSync(e.body,{flush:d.constants.Z_SYNC_FLUSH,finishFlush:d.constants.Z_SYNC_FLUSH});if(t===`deflate`||t===`x-deflate`)return d.inflateSync(e.body);if(t===`br`)return d.brotliDecompressSync(e.body)}catch(e){throw new this.#t.DOMException(`Failed to read response body. Error: ${e.message}.`,V.encodingError)}return e.body}handleRedirectResponse(t){if(!Vu.isRedirect(t.status))return null;switch(this.request.redirect){case`error`:throw new this.#t.DOMException(`URI requested responds with a redirect, redirect mode is set to "error": ${this.request.url}`,V.abortError);case`manual`:return null;case`follow`:let n=t.headers.get(`Location`),r=t.status===303||(t.status===301||t.status===302)&&this.request.method===`POST`,i=null;if(n!==null)try{i=new hu(n,this.request.url)}catch{throw new this.#t.DOMException(`URI requested responds with an invalid redirect URL: ${n}`,V.uriMismatchError)}if(i===null)return null;if(Vu.isMaxRedirectsReached(this.redirectCount))throw new this.#t.DOMException(`Maximum redirects reached at: ${this.request.url}`,V.networkError);let a=new this.#t.Headers(this.request.headers),o={method:this.request.method,signal:this.request.signal,referrer:this.request.referrer,referrerPolicy:this.request.referrerPolicy,credentials:this.request.credentials,headers:a,body:this.request[me]};(this.request.credentials===`omit`||this.request.credentials===`same-origin`&&bu.isCORS(this.#t.location.href,i))&&(a.delete(`cookie`),a.delete(`cookie2`)),r&&(o.method=`GET`,o.body=void 0,a.delete(`Content-Length`),a.delete(`Content-Type`));let s=vu.getReferrerPolicyFromHeader(a);return s&&(o.referrerPolicy=s),new e({browserFrame:this.#e,window:this.#t,url:i,init:o,redirectCount:this.redirectCount+1,contentType:r?null:this.request[De]}).send();default:throw new this.#t.DOMException(`Redirect option '${this.request.redirect}' is not a valid value of TRequestRedirect`)}}},tm=class{window;constructor(e){this.window=e}async fetch(e,t,n){let r=new J(this.window).getBrowserFrame();if(!r)return{content:``,virtualServerFile:null};if(t===`script`||t===`style`){let r=Ku.getKey({url:String(e),destination:t,mode:`cors`,credentialsMode:n?.credentials||`same-origin`}),i=this.window.document[jo].get(r);if(i){this.window.document[jo].delete(r);let t=i.response||await i.onResponseAvailable();if(t&&!t.ok)throw new this.window.DOMException(`Failed to perform request to "${new hu(e,this.window.location.href).href}". Status ${i.response?.status||`0`} ${i.response?.statusText||`Unknown`}.`);return{content:i.response?.[he]?.toString()||``,virtualServerFile:i.response?.[es]||null}}}let i=await new Ju({browserFrame:r,window:this.window,url:e,disableSameOriginPolicy:t===`script`||t===`style`,disablePreload:!0,init:{credentials:n?.credentials,referrerPolicy:n?.referrerPolicy}}).send();if(!i.ok)throw new this.window.DOMException(`Failed to perform request to "${new hu(e,this.window.location.href).href}". Status ${i.status} ${i.statusText}.`);return{content:await i.text(),virtualServerFile:i[es]||null}}fetchSync(e,t,n){let r=new J(this.window).getBrowserFrame();if(!r)return{content:``,virtualServerFile:null};if(t===`script`||t===`style`){let r=Ku.getKey({url:String(e),destination:t,mode:`cors`,credentialsMode:n?.credentials||`same-origin`}),i=this.window.document[jo].get(r);if(i&&i.response){if(this.window.document[jo].delete(r),!i.response.ok)throw new this.window.DOMException(`Failed to perform request to "${new hu(e,this.window.location.href).href}". Status ${i.response.status} ${i.response.statusText}.`);return{content:i.response?.[he]?.toString()||``,virtualServerFile:i.response?.[es]||null}}}let i=new em({browserFrame:r,window:this.window,url:e,disableSameOriginPolicy:!0,init:{credentials:n?.credentials,referrerPolicy:n?.referrerPolicy}}).send();if(!i.ok)throw new this.window.DOMException(`Failed to perform request to "${new hu(e,this.window.location.href).href}". Status ${i.status} ${i.statusText}.`);return{content:i.body?.toString()||``,virtualServerFile:i[es]||null}}},nm=class{url;#e;#t;#n=null;constructor(e){this.#e=e.window,this.url=e.url,this.#t=e.source}async evaluate(){if(this.#n)return this.#n;let e=new this.#e.CSSStyleSheet;return e.replaceSync(this.#t),this.#n={default:e},this.#n}async preload(){await this.evaluate()}},rm=class{url;#e;#t;#n=null;constructor(e){this.#e=e.window,this.url=e.url,this.#t=e.source}async evaluate(){if(this.#n)return this.#n;let e;try{e=JSON.parse(this.#t)}catch(e){throw new this.#e.TypeError(`Failed to parse module "${this.url.href}": ${e.message}`)}return this.#n={default:e},this.#n}async preload(){await this.evaluate()}},im=class{url;#e;#t=[];#n=null;constructor(e){this.#e=e.window,this.url=e.url}async evaluate(){throw new this.#e.TypeError(`Unresolved module. We should never end up here.`)}async preload(){throw new this.#e.TypeError(`Unresolved module. We should never end up here.`)}addResolveListener(e,t){if(this.#n){t(this.#n);return}this.#t.push({resolve:e,reject:t})}resolve(e){e&&(this.#n=e);for(let t of this.#t)e?t.reject(e):t.resolve(null)}};const am=[`module`,`main`],om=[`.js`,`.mjs`];var sm=class{static nodeModuleResolveCache=new Map;static packageJsonCache=new Map;static getURL(e,t,n){let r=typeof t==`string`?t:t.href,i=e[zo],a=this.resolveURL(e,r,n);if(!i)return new oe(a,r);if(i.scopes.length){for(let e of i.scopes)if(r.includes(e.scope)){for(let t of e.rules)if(a.startsWith(t.from))return new oe(t.to+a.replace(t.from,``),r)}}if(i.imports.length){for(let e of i.imports)if(a.startsWith(e.from))return new oe(e.to+a.replace(e.from,``),r)}return new oe(a,r)}static clearCache(){this.nodeModuleResolveCache.clear(),this.packageJsonCache.clear()}static resolveURL(e,t,n){let r=new J(e).getSettings();if(!r)return n;let i=n;return r.module.resolveNodeModules&&(i=this.resolveNodeModuleURL(r.module.resolveNodeModules,n)),r.module.urlResolver&&(i=r.module.urlResolver({url:i,parentURL:t,window:e})),i}static resolveNodeModuleURL(e,t){if(t[0]===`.`||t[0]===`/`||t.startsWith(`http://`)||t.startsWith(`https://`))return t;let n=e.url[e.url.length-1]===`/`?``:`/`,r=`${e.url}${n}`,i=ne.resolve(e.directory),a=t.split(`/`),o=this.nodeModuleResolveCache.get(t);if(o)return o;let s=t[0]===`@`?`${a[0]}/${a[1]}`:a[0],c=this.packageJsonCache.get(s);if(!c)try{c=JSON.parse(l.readFileSync(ne.join(i,s,`package.json`),`utf-8`)),this.packageJsonCache.set(s,c)}catch{return t}if(t[0]===`@`&&a.length===2||a.length===1){if(c.exports?.[`.`]?.import){let e=`${r}${s}/${c.exports[`.`].import.replace(`./`,``)}`;return this.nodeModuleResolveCache.set(t,e),e}let n=e.mainFields||am;for(let e of n)if(c[e]&&l.existsSync(ne.join(i,s,c[e]))){let n=`${r}${t}/${c[e]}`;return this.nodeModuleResolveCache.set(t,n),n}return t}let u=a.slice(t[0]===`@`?2:1).join(`/`);if(c.exports)for(let e of Object.keys(c.exports)){let n=Array.isArray(c.exports[e].import)?c.exports[e].import[0]:c.exports[e].import;if(n){let i=RegExp(`^${e.replace(`./`,``).replace(/\./g,`\\.`).replace(/\*/g,`(.*)`)}$`),a=u.match(i);if(a){let e=`${r}${s}/${n.replace(`./`,``).replace(`*`,a[1])}`;return this.nodeModuleResolveCache.set(t,e),e}}}if(!t.endsWith(`.js`)&&!t.endsWith(`.mjs`)){for(let e of om)if(l.existsSync(ne.join(i,`${t}${e}`))){let n=`${r}${t}${e}`;return this.nodeModuleResolveCache.set(t,n),n}}else if(l.existsSync(ne.join(i,t))){let e=`${r}${t}`;return this.nodeModuleResolveCache.set(t,e),e}return t}};const cm=/import\.meta\.([a-zA-Z]+)|import\s*["']([^"']+)["'];{0,1}|import\s*\(([^)]+)\)|(import[\s{])|[\s}]from\s*["']([^"']+)["'](\s+with\s*{\s*type\s*:\s*["']([^"']+)["']\s*}){0,1}([;\s]*)|export(\s+[a-zA-Z0-9-_$]+\s+|\s+\*\s+|\s+\*\s+as\s+["'a-zA-Z0-9-_$]+\s+|\s*{[^}]+}\s*)from\s*["']([^"']+)["']|export\s*(default\s+){0,1}(async\s+){0,1}(function\*{0,1}|class)\s*([^({\s]+)|(export\s*default\s*)|export\s*{([^}]+)}|export\s+(var|let|const)\s+([^=;]+)(=|;)/gm,lm=/(\/)|(\(|\))|({|})|(\[|\])|(\${)|(`)|(')|(")|(\n)/gm,um=/{([^}]+)}|\*\s+as\s+([a-zA-Z0-9-_$]+)|([a-zA-Z0-9-_$]+)/gm,dm=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,fm=/['"`(){}\s;=><\[\]+-,:&]/,pm=/['"`({};=><\[+-,:&]/,mm=/\/\*|\*\//gm,hm=/export\s*/,gm=/export\s*default\s*/,_m=/;\s*$/;var vm=class{window;debug=!1;count={comment:0,singleLineComment:0,parentheses:0,curlyBraces:0,squareBrackets:0,regExp:0,regExpSquareBrackets:0,escapeTemplateString:0,simpleString:0,doubleString:0};debugCount={comment:[],singleLineComment:[],parentheses:[],curlyBraces:[],squareBrackets:[],regExp:[],regExpSquareBrackets:[],escapeTemplateString:[],simpleString:[],doubleString:[]};templateString=[];constructor(e){this.window=e}compile(e,t,n=null){let r=new J(this.window).getBrowserContext();if(!r)return{imports:[],execute:async()=>{}};let i=r.browser.settings;if(!i.module.disableCache&&n){let t=r[os].get(e);if(t)return{imports:t.imports,execute:this.window[Ie](t.code,{filename:n})}}this.reset();let a=new RegExp(cm),o=[],s=[],c=this.count,l=``,u=``,d=``,f=null,ee,te,ne=!0,re=0,ie=-1;for(;f=a.exec(t);){if(ee=t[f.index-1]||` `,te=t.substring(re,f.index),this.parseSyntax(te,re),ie===-1&&(l+=te),ne=c.comment===0&&c.singleLineComment===0&&c.parentheses===0&&c.curlyBraces===0&&c.squareBrackets===0&&c.regExp===0&&c.simpleString===0&&c.doubleString===0&&this.templateString.length===0,f[1]&&c.simpleString===0&&c.doubleString===0&&c.comment===0&&c.singleLineComment===0&&c.regExp===0&&(this.templateString.length===0||this.templateString[0]>0)&&fm.test(this.getNonSpacePrecedingToken(t,f.index)))l+=`$happy_dom.importMeta.${f[1]}`;else if(f[2]&&ne&&fm.test(ee))o.push({url:sm.getURL(this.window,e,f[2]).href,type:`esm`});else if(f[3]&&c.simpleString===0&&c.doubleString===0&&c.comment===0&&c.singleLineComment===0&&c.regExp===0&&(this.templateString.length===0||this.templateString[0]>0)&&fm.test(ee))l+=`$happy_dom.dynamicImport(${f[3]})`;else if(f[4]&&ne&&fm.test(ee)){if(ie!==-1)throw new this.window.TypeError(`Failed to parse module: Unexpected import statement in "${e}"`);ie=f.index+f[0].length-1}else if(f[5]&&ne&&ie!==-1){let n=sm.getURL(this.window,e,f[5]).href,r=t.substring(ie,f.index+1),i=new RegExp(um),a=null;for(;a=i.exec(r);)if(a[1]){let e=this.removeMultilineComments(a[1]).split(/\s*,\s*/),t=[];for(let n of e){let e=n.trim().split(/\s+as\s+/),r=(e[1]||e[0]).replace(/["']/g,``),i=e[0].replace(/["']/g,``);r&&i&&(i===r?t.push({name:i}):t.push({name:i,alias:r}))}(!f[7]||f[7]===`esm`)&&s.push({url:n,properties:t}),u+=`let {${t.map(e=>e.alias?`"${e.name}": ${e.alias}`:e.name).join(`, `)}} = $happy_dom.imports.get('${n}')${f[8]}`}else a[2]?u+=`const ${a[2]} = $happy_dom.imports.get('${n}')${f[8]}`:a[3]&&((!f[7]||f[7]===`esm`)&&s.push({url:n,properties:[{name:`default`,alias:a[3]}]}),u+=`let ${a[3]} = $happy_dom.imports.get('${n}').default${f[8]}`);ie=-1,o.push({url:n,type:f[7]||`esm`})}else if(f[9]&&f[10]&&ne&&fm.test(ee)){let t=sm.getURL(this.window,e,f[10]).href,n=f[9].trim();if(n===`*`)l+=`Object.assign($happy_dom.exports, $happy_dom.imports.get('${t}'))`,o.push({url:t,type:`esm`});else if(n[0]===`*`){let e=n.split(/\s+as\s+/);if(e.length===2){let n=e[1].replace(/["']/g,``);l+=`$happy_dom.exports['${n}'] = $happy_dom.imports.get('${t}')`,o.push({url:t,type:`esm`})}}else if(n[0]===`{`){let e=this.removeMultilineComments(n).slice(1,-1).split(/\s*,\s*/),r=[];for(let n of e){let e=n.trim().split(/\s+as\s+/),i=(e[1]||e[0]).replace(/["']/g,``),a=e[0].replace(/["']/g,``);i&&a&&r.push(`$happy_dom.exports['${i}'] = $happy_dom.imports.get('${t}')['${a}']`)}l+=r.join(`;
|
|
100
100
|
`),o.push({url:t,type:`esm`})}}else if(f[13]&&f[14]&&ne&&fm.test(ee)){let t=f[14].replace(`*`,``);if(t)f[11]?(l+=f[0].replace(gm,``),d+=`$happy_dom.exports.default = ${t};\n`):(l+=f[0].replace(hm,``),d+=`$happy_dom.exports['${t}'] = ${t};\n`);else if(f[11])l+=`$happy_dom.exports.default = ${f[12]||``}${f[13]}${t?` `:``}${f[14]}`;else throw new this.window.SyntaxError(`Failed to parse module: Missing function or class name in export statement in "${e}"`)}else if(f[15]&&ne&&fm.test(ee))l+=`$happy_dom.exports.default = `;else if(f[16]&&ne&&fm.test(ee)){let e=this.removeMultilineComments(f[16]).split(/\s*,\s*/),t=[];for(let n of e){let e=n.trim().split(/\s+as\s+/),r=(e[1]||e[0]).replace(/["']/g,``),i=e[0].replace(/["']/g,``);r&&i&&dm.test(i)&&t.push(`$happy_dom.exports['${r}'] = ${i}`)}l+=t.join(`;
|
|
101
101
|
`)}else if(f[17]&&ne&&fm.test(ee)){if(f[19]===`=`){let e=this.removeMultilineComments(f[18]).trim();if(e[0]===`{`&&e[e.length-1]===`}`||e[0]===`[`&&e[e.length-1]===`]`){let t=e.slice(1,-1).split(/\s*,\s*/);for(let e of t){let t=e.trim().split(/\s*:\s*/),n=(t[1]||t[0]).replace(/["']/g,``);n&&(d+=`$happy_dom.exports['${n}'] = ${n};\n`)}l+=f[0].replace(hm,``)}else l+=f[0].replace(hm,``),d+=`$happy_dom.exports['${e}'] = ${e};\n`}else{l+=f[0].replace(hm,``);let e=this.removeMultilineComments(f[18]).split(`,`);for(let t of e){let e=t.trim();d+=`$happy_dom.exports['${e}'] = ${e};\n`}}}else if(ie!==-1){let e=t.substring(ie,f.index+1);l+=e,this.parseSyntax(e,ie)}else l+=f[0],this.parseSyntax(f[0],f.index);re=a.lastIndex}if(this.debug)return{imports:o,execute:async()=>{}};if(u&&!_m.test(u)&&(u=`\n${u};`),u=!i.disableErrorCapturing&&i.errorCapture===Rs.tryAndCatch?`(async function anonymous($happy_dom) { try {`+u:`(async function anonymous($happy_dom) {`+u,l=u+l,l+=re===0?t:t.substring(re),l+=`
|
|
102
102
|
`+d,s.length>0){l+=`$happy_dom.addCircularImportResolver(() => {
|